[FFmpeg-devel] [PATCH] avcodec/mpeg12dec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Sat Dec 10 01:11:35 EET 2016
On 09.12.2016 02:50, Michael Niedermayer wrote:
> On Fri, Dec 09, 2016 at 01:02:08AM +0100, Andreas Cadhalpun wrote:
>> On 08.12.2016 22:53, Michael Niedermayer wrote:
>>> This decreases the amount of computations and memory needed for analysing mpeg1/2 streams
>>>
>>> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
>>> ---
>>> libavcodec/mpeg12dec.c | 6 +++++-
>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
>>> index ac8160daff..63979079c8 100644
>>> --- a/libavcodec/mpeg12dec.c
>>> +++ b/libavcodec/mpeg12dec.c
>>> @@ -1655,7 +1655,6 @@ static int mpeg_field_start(MpegEncContext *s, const uint8_t *buf, int buf_size)
>>> if (sd)
>>> memcpy(sd->data, s1->a53_caption, s1->a53_caption_size);
>>> av_freep(&s1->a53_caption);
>>> - avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
>>> }
>>>
>>> if (s1->has_stereo3d) {
>>> @@ -2258,6 +2257,7 @@ static int mpeg_decode_a53_cc(AVCodecContext *avctx,
>>> s1->a53_caption = av_malloc(s1->a53_caption_size);
>>> if (s1->a53_caption)
>>> memcpy(s1->a53_caption, p + 7, s1->a53_caption_size);
>>> + avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
>>> }
>>> return 1;
>>> } else if (buf_size >= 11 &&
>>> @@ -2313,6 +2313,7 @@ static int mpeg_decode_a53_cc(AVCodecContext *avctx,
>>> p += 6;
>>> }
>>> }
>>> + avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
>>> }
>>> return 1;
>>> }
>>
>> How are the above changes related to the commit message?
>
> the update is moved from code that is skiped if skip_frame is set
> to code that is not skiped so the change below doesnt loose that
> from being executed
Thanks for explaining that. Maybe mention it in the commit message.
I can confirm that this patch significantly accelerates analyzing,
so it looks good to me.
Best regards,
Andreas
More information about the ffmpeg-devel
mailing list