[FFmpeg-devel] [PATCH v4 2/2] libavformat/img2dec: Added pgx demuxer
Nicolas George
george at nsup.org
Mon Jun 29 21:57:58 EEST 2020
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.
> + 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200629/7c23682b/attachment.sig>
More information about the ffmpeg-devel
mailing list