[FFmpeg-devel] [PATCH] avcodec/mpeg12dec: parse A53 caption data embedded in SCTE-20 user data

Michael Niedermayer michael at niedermayer.cc
Wed Mar 15 21:35:05 EET 2017


On Wed, Mar 15, 2017 at 12:10:35PM -0700, Aman Gupta wrote:
> On Sat, Mar 11, 2017 at 7:05 AM, Michael Niedermayer <michael at niedermayer.cc
> > wrote:
> 
> > On Mon, Mar 06, 2017 at 10:23:14AM -0800, Aman Gupta wrote:
> > > From: Aman Gupta <aman at tmm1.net>
> > >
> > > ---
> > >  libavcodec/mpeg12dec.c | 38 ++++++++++++++++++++++++++++++++++++++
> > >  1 file changed, 38 insertions(+)
> > >
> > > diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
> > > index 27db14c..8cafdb0 100644
> > > --- a/libavcodec/mpeg12dec.c
> > > +++ b/libavcodec/mpeg12dec.c
> > > @@ -2260,6 +2260,44 @@ static int mpeg_decode_a53_cc(AVCodecContext
> > *avctx,
> > >              avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
> > >          }
> > >          return 1;
> > > +    } else if (buf_size >= 2 &&
> > > +               p[0] == 0x03 && (p[1]&0x7f) == 0x01) {
> > > +        /* extract SCTE-20 CC data */
> > > +        GetBitContext gb;
> > > +        int cc_count = 0;
> > > +        int i;
> > > +
> > > +        init_get_bits(&gb, p + 2, buf_size - 2);
> > > +        cc_count = get_bits(&gb, 5);
> > > +        if (cc_count > 0) {
> > > +            av_freep(&s1->a53_caption);
> > > +            s1->a53_caption_size = cc_count * 3;
> > > +            s1->a53_caption      = av_malloc(s1->a53_caption_size);
> > > +            if (s1->a53_caption) {
> >
> > a53_caption_size should be reset to 0 if allocation fails to keep the
> > fields consistent
> >
> 
> The other branches in this function all follow the same pattern, and will
> not reset a53_caption_size on malloc failure.
> 

> Would you like me to fix all of them?

i think it would be more robust to reset it, yes, in a seperate patch

thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170315/094b9aef/attachment.sig>


More information about the ffmpeg-devel mailing list