cbs_mpeg2: Correct and use enum values

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2019-05-22 03:04:31 +02:00 committed by Mark Thompson
parent 819ed1df94
commit cfe4389d47
3 changed files with 23 additions and 19 deletions

View File

@ -215,13 +215,16 @@ static int cbs_mpeg2_read_unit(CodedBitstreamContext *ctx,
return err; \
} \
break;
START(0x00, MPEG2RawPictureHeader, picture_header, NULL);
START(0xb2, MPEG2RawUserData, user_data,
&cbs_mpeg2_free_user_data);
START(0xb3, MPEG2RawSequenceHeader, sequence_header, NULL);
START(0xb5, MPEG2RawExtensionData, extension_data, NULL);
START(0xb8, MPEG2RawGroupOfPicturesHeader,
group_of_pictures_header, NULL);
START(MPEG2_START_PICTURE, MPEG2RawPictureHeader,
picture_header, NULL);
START(MPEG2_START_USER_DATA, MPEG2RawUserData,
user_data, &cbs_mpeg2_free_user_data);
START(MPEG2_START_SEQUENCE_HEADER, MPEG2RawSequenceHeader,
sequence_header, NULL);
START(MPEG2_START_EXTENSION, MPEG2RawExtensionData,
extension_data, NULL);
START(MPEG2_START_GROUP, MPEG2RawGroupOfPicturesHeader,
group_of_pictures_header, NULL);
#undef START
default:
av_log(ctx->log_ctx, AV_LOG_ERROR, "Unknown start code %02"PRIx32".\n",
@ -244,11 +247,12 @@ static int cbs_mpeg2_write_header(CodedBitstreamContext *ctx,
case start_code: \
err = cbs_mpeg2_write_ ## func(ctx, pbc, unit->content); \
break;
START(0x00, MPEG2RawPictureHeader, picture_header);
START(0xb2, MPEG2RawUserData, user_data);
START(0xb3, MPEG2RawSequenceHeader, sequence_header);
START(0xb5, MPEG2RawExtensionData, extension_data);
START(0xb8, MPEG2RawGroupOfPicturesHeader, group_of_pictures_header);
START(MPEG2_START_PICTURE, MPEG2RawPictureHeader, picture_header);
START(MPEG2_START_USER_DATA, MPEG2RawUserData, user_data);
START(MPEG2_START_SEQUENCE_HEADER, MPEG2RawSequenceHeader, sequence_header);
START(MPEG2_START_EXTENSION, MPEG2RawExtensionData, extension_data);
START(MPEG2_START_GROUP, MPEG2RawGroupOfPicturesHeader,
group_of_pictures_header);
#undef START
default:
av_log(ctx->log_ctx, AV_LOG_ERROR, "Write unimplemented for start "
@ -331,7 +335,7 @@ static int cbs_mpeg2_write_unit(CodedBitstreamContext *ctx,
init_put_bits(&pbc, priv->write_buffer, priv->write_buffer_size);
if (unit->type >= 0x01 && unit->type <= 0xaf)
if (MPEG2_START_IS_SLICE(unit->type))
err = cbs_mpeg2_write_slice(ctx, unit, &pbc);
else
err = cbs_mpeg2_write_header(ctx, unit, &pbc);

View File

@ -51,7 +51,7 @@ enum {
MPEG2_EXTENSION_PICTURE_CODING = 0x8,
MPEG2_EXTENSION_PICTURE_SPATIAL_SCALABLE = 0x9,
MPEG2_EXTENSION_PICTURE_TEMPORAL_SCALABLE = 0xa,
MPEG2_EXTENSION_CAMAERA_PARAMETERS = 0xb,
MPEG2_EXTENSION_CAMERA_PARAMETERS = 0xb,
MPEG2_EXTENSION_ITU_T = 0xc,
};

View File

@ -303,19 +303,19 @@ static int FUNC(extension_data)(CodedBitstreamContext *ctx, RWContext *rw,
ui(4, extension_start_code_identifier);
switch (current->extension_start_code_identifier) {
case 1:
case MPEG2_EXTENSION_SEQUENCE:
return FUNC(sequence_extension)
(ctx, rw, &current->data.sequence);
case 2:
case MPEG2_EXTENSION_SEQUENCE_DISPLAY:
return FUNC(sequence_display_extension)
(ctx, rw, &current->data.sequence_display);
case 3:
case MPEG2_EXTENSION_QUANT_MATRIX:
return FUNC(quant_matrix_extension)
(ctx, rw, &current->data.quant_matrix);
case 7:
case MPEG2_EXTENSION_PICTURE_DISPLAY:
return FUNC(picture_display_extension)
(ctx, rw, &current->data.picture_display);
case 8:
case MPEG2_EXTENSION_PICTURE_CODING:
return FUNC(picture_coding_extension)
(ctx, rw, &current->data.picture_coding);
default: