diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index e0c1385f07..739ff95cfd 100644 --- a/libavcodec/h264_mp4toannexb_bsf.c +++ b/libavcodec/h264_mp4toannexb_bsf.c @@ -27,7 +27,7 @@ typedef struct H264BSFContext { uint8_t length_size; - uint8_t first_idr; + uint8_t new_idr; uint8_t idr_sps_pps_seen; int extradata_parsed; } H264BSFContext; @@ -155,7 +155,7 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, if (ret < 0) return ret; ctx->length_size = ret; - ctx->first_idr = 1; + ctx->new_idr = 1; ctx->idr_sps_pps_seen = 0; ctx->extradata_parsed = 1; } @@ -182,22 +182,22 @@ static int h264_mp4toannexb_filter(AVBitStreamFilterContext *bsfc, /* if this is a new IDR picture following an IDR picture, reset the idr flag. * Just check first_mb_in_slice to be 0 as this is the simplest solution. * This could be checking idr_pic_id instead, but would complexify the parsing. */ - if (!ctx->first_idr && unit_type == 5 && (buf[1] & 0x80)) - ctx->first_idr = 1; + if (!ctx->new_idr && unit_type == 5 && (buf[1] & 0x80)) + ctx->new_idr = 1; /* prepend only to the first type 5 NAL unit of an IDR picture, if no sps/pps are already present */ - if (ctx->first_idr && unit_type == 5 && !ctx->idr_sps_pps_seen) { + if (ctx->new_idr && unit_type == 5 && !ctx->idr_sps_pps_seen) { if ((ret=alloc_and_copy(poutbuf, poutbuf_size, avctx->extradata, avctx->extradata_size, buf, nal_size)) < 0) goto fail; - ctx->first_idr = 0; + ctx->new_idr = 0; } else { if ((ret=alloc_and_copy(poutbuf, poutbuf_size, NULL, 0, buf, nal_size)) < 0) goto fail; - if (!ctx->first_idr && unit_type == 1) { - ctx->first_idr = 1; + if (!ctx->new_idr && unit_type == 1) { + ctx->new_idr = 1; ctx->idr_sps_pps_seen = 0; } }