[FFmpeg-devel] [PATCH v4 2/2] libavformat/img2dec: Added pgx demuxer

Gautam Ramakrishnan gautamramk at gmail.com
Mon Jun 29 22:03:43 EEST 2020


On Tue, Jun 30, 2020 at 12:28 AM Nicolas George <george at nsup.org> wrote:
>
> gautamramk at gmail.com (12020-06-30):
> > From: Gautam Ramakrishnan <gautamramk at gmail.com>
> >
> > This patch adds support to demux pgx file
> > format.
> > ---
> >  libavformat/allformats.c | 1 +
> >  libavformat/img2dec.c    | 9 +++++++++
> >  libavformat/version.h    | 2 +-
> >  3 files changed, 11 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> > index 97fd06debb..f8527b1fd4 100644
> > --- a/libavformat/allformats.c
> > +++ b/libavformat/allformats.c
> > @@ -488,6 +488,7 @@ extern AVInputFormat  ff_image_pbm_pipe_demuxer;
> >  extern AVInputFormat  ff_image_pcx_pipe_demuxer;
> >  extern AVInputFormat  ff_image_pgmyuv_pipe_demuxer;
> >  extern AVInputFormat  ff_image_pgm_pipe_demuxer;
> > +extern AVInputFormat  ff_image_pgx_pipe_demuxer;
> >  extern AVInputFormat  ff_image_pictor_pipe_demuxer;
> >  extern AVInputFormat  ff_image_png_pipe_demuxer;
> >  extern AVInputFormat  ff_image_ppm_pipe_demuxer;
> > diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
> > index ee7ceed08f..b6063bb685 100644
> > --- a/libavformat/img2dec.c
> > +++ b/libavformat/img2dec.c
> > @@ -1000,6 +1000,14 @@ static int pgmyuv_probe(const AVProbeData *p) // custom FFmpeg format recognized
> >      return ret && av_match_ext(p->filename, "pgmyuv") ? ret : 0;
> >  }
> >
> > +static int pgx_probe(const AVProbeData *p)
> > +{
> > +    const uint8_t *b = p->buf;
>
> > +    if ((AV_RB64(b) & 0xFFFFFFFFFFFF0000) == 0x5047204D4C200000)
> > +        return AVPROBE_SCORE_EXTENSION + 1;
>
> Why do you use AV_RB64() here and not memcmp() like you did in the other
> patch? This 0x5047204D4C200000 is abominable.
I saw AV_RB32() and AVRB64() being used a lot in img2dec and it didnt strike me.
Ill change this.
>
> > +    return 0;
> > +}
> > +
> >  static int ppm_probe(const AVProbeData *p)
> >  {
> >      return pnm_magic_check(p, 3) || pnm_magic_check(p, 6) ? pnm_probe(p) : 0;
> > @@ -1094,6 +1102,7 @@ IMAGEAUTO_DEMUXER(pbm,     AV_CODEC_ID_PBM)
> >  IMAGEAUTO_DEMUXER(pcx,     AV_CODEC_ID_PCX)
> >  IMAGEAUTO_DEMUXER(pgm,     AV_CODEC_ID_PGM)
> >  IMAGEAUTO_DEMUXER(pgmyuv,  AV_CODEC_ID_PGMYUV)
> > +IMAGEAUTO_DEMUXER(pgx,     AV_CODEC_ID_PGX)
> >  IMAGEAUTO_DEMUXER(pictor,  AV_CODEC_ID_PICTOR)
> >  IMAGEAUTO_DEMUXER(png,     AV_CODEC_ID_PNG)
> >  IMAGEAUTO_DEMUXER(ppm,     AV_CODEC_ID_PPM)
> > diff --git a/libavformat/version.h b/libavformat/version.h
> > index 3c1957b00c..75c03fde0a 100644
> > --- a/libavformat/version.h
> > +++ b/libavformat/version.h
> > @@ -32,7 +32,7 @@
> >  // Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
> >  // Also please add any ticket numbers that you believe might be affected here
> >  #define LIBAVFORMAT_VERSION_MAJOR  58
> > -#define LIBAVFORMAT_VERSION_MINOR  47
> > +#define LIBAVFORMAT_VERSION_MINOR  48
> >  #define LIBAVFORMAT_VERSION_MICRO 100
> >
> >  #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
>
> Regards,
>
> --
>   Nicolas George



-- 
-------------
Gautam |


More information about the ffmpeg-devel mailing list