On 3/11/2018 3:30 PM, Mark Thompson wrote: > The SEI NAL is unused since 69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb, > while the AUD NAL is small and would more sensibly be on the stack. > --- > libavcodec/h264_metadata_bsf.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/libavcodec/h264_metadata_bsf.c b/libavcodec/h264_metadata_bsf.c > index d340c55990..760fe99c41 100644 > --- a/libavcodec/h264_metadata_bsf.c > +++ b/libavcodec/h264_metadata_bsf.c > @@ -47,9 +47,6 @@ typedef struct H264MetadataContext { > > int done_first_au; > > - H264RawAUD aud_nal; > - H264RawSEI sei_nal; > - > int aud; > > AVRational sample_aspect_ratio; > @@ -263,7 +260,9 @@ static int h264_metadata_filter(AVBSFContext *bsf, > AVPacket *out) > 0x3ff, // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 > }; > int primary_pic_type_mask = 0xff; > - H264RawAUD *aud = &ctx->aud_nal; > + H264RawAUD aud = { > + .nal_unit_header.nal_unit_type = H264_NAL_AUD, > + };
Afaik every other field is not zero initialized if you do this, unlike if you keep it in H264MetadataContext. Not sure if that may have some consequences or not here. > > for (i = 0; i < au->nb_units; i++) { > if (au->units[i].type == H264_NAL_SLICE || > @@ -286,11 +285,10 @@ static int h264_metadata_filter(AVBSFContext *bsf, > AVPacket *out) > goto fail; > } > > - aud->nal_unit_header.nal_unit_type = H264_NAL_AUD; > - aud->primary_pic_type = j; > + aud.primary_pic_type = j; > > err = ff_cbs_insert_unit_content(ctx->cbc, au, > - 0, H264_NAL_AUD, aud, NULL); > + 0, H264_NAL_AUD, &aud, NULL); > if (err < 0) { > av_log(bsf, AV_LOG_ERROR, "Failed to insert AUD.\n"); > goto fail; > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel