avformat/img2dec: Don't include disabled demuxers

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-01-06 18:37:12 +01:00
parent 99f3fb8ea1
commit a0d7e41ad7
1 changed files with 42 additions and 31 deletions

View File

@ -1130,7 +1130,8 @@ static int gem_probe(const AVProbeData *p)
return ret; return ret;
} }
#define IMAGEAUTO_DEMUXER(imgname, codecid)\ #define IMAGEAUTO_DEMUXER_0(imgname, codecid)
#define IMAGEAUTO_DEMUXER_1(imgname, codecid)\
const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\ const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
.name = AV_STRINGIFY(imgname) "_pipe",\ .name = AV_STRINGIFY(imgname) "_pipe",\
.long_name = NULL_IF_CONFIG_SMALL("piped " AV_STRINGIFY(imgname) " sequence"),\ .long_name = NULL_IF_CONFIG_SMALL("piped " AV_STRINGIFY(imgname) " sequence"),\
@ -1143,33 +1144,43 @@ const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\
.raw_codec_id = codecid,\ .raw_codec_id = codecid,\
}; };
IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP) #define IMAGEAUTO_DEMUXER_2(imgname, codecid, enabled) \
IMAGEAUTO_DEMUXER(cri, AV_CODEC_ID_CRI) IMAGEAUTO_DEMUXER_ ## enabled(imgname, codecid)
IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS) #define IMAGEAUTO_DEMUXER_3(imgname, codecid, config) \
IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX) IMAGEAUTO_DEMUXER_2(imgname, codecid, config)
IMAGEAUTO_DEMUXER(exr, AV_CODEC_ID_EXR) #define IMAGEAUTO_DEMUXER_EXT(imgname, codecid, uppercase_name) \
IMAGEAUTO_DEMUXER(gem, AV_CODEC_ID_GEM) IMAGEAUTO_DEMUXER_3(imgname, AV_CODEC_ID_ ## codecid, \
IMAGEAUTO_DEMUXER(gif, AV_CODEC_ID_GIF) CONFIG_IMAGE_ ## uppercase_name ## _PIPE_DEMUXER)
IMAGEAUTO_DEMUXER(j2k, AV_CODEC_ID_JPEG2000) #define IMAGEAUTO_DEMUXER(imgname, codecid) \
IMAGEAUTO_DEMUXER(jpeg, AV_CODEC_ID_MJPEG) IMAGEAUTO_DEMUXER_EXT(imgname, codecid, codecid)
IMAGEAUTO_DEMUXER(jpegls, AV_CODEC_ID_JPEGLS)
IMAGEAUTO_DEMUXER(pam, AV_CODEC_ID_PAM) IMAGEAUTO_DEMUXER(bmp, BMP)
IMAGEAUTO_DEMUXER(pbm, AV_CODEC_ID_PBM) IMAGEAUTO_DEMUXER(cri, CRI)
IMAGEAUTO_DEMUXER(pcx, AV_CODEC_ID_PCX) IMAGEAUTO_DEMUXER(dds, DDS)
IMAGEAUTO_DEMUXER(pgm, AV_CODEC_ID_PGM) IMAGEAUTO_DEMUXER(dpx, DPX)
IMAGEAUTO_DEMUXER(pgmyuv, AV_CODEC_ID_PGMYUV) IMAGEAUTO_DEMUXER(exr, EXR)
IMAGEAUTO_DEMUXER(pgx, AV_CODEC_ID_PGX) IMAGEAUTO_DEMUXER(gem, GEM)
IMAGEAUTO_DEMUXER(photocd, AV_CODEC_ID_PHOTOCD) IMAGEAUTO_DEMUXER(gif, GIF)
IMAGEAUTO_DEMUXER(pictor, AV_CODEC_ID_PICTOR) IMAGEAUTO_DEMUXER_EXT(j2k, JPEG2000, J2K)
IMAGEAUTO_DEMUXER(png, AV_CODEC_ID_PNG) IMAGEAUTO_DEMUXER_EXT(jpeg, MJPEG, JPEG)
IMAGEAUTO_DEMUXER(ppm, AV_CODEC_ID_PPM) IMAGEAUTO_DEMUXER(jpegls, JPEGLS)
IMAGEAUTO_DEMUXER(psd, AV_CODEC_ID_PSD) IMAGEAUTO_DEMUXER(pam, PAM)
IMAGEAUTO_DEMUXER(qdraw, AV_CODEC_ID_QDRAW) IMAGEAUTO_DEMUXER(pbm, PBM)
IMAGEAUTO_DEMUXER(sgi, AV_CODEC_ID_SGI) IMAGEAUTO_DEMUXER(pcx, PCX)
IMAGEAUTO_DEMUXER(sunrast, AV_CODEC_ID_SUNRAST) IMAGEAUTO_DEMUXER(pgm, PGM)
IMAGEAUTO_DEMUXER(svg, AV_CODEC_ID_SVG) IMAGEAUTO_DEMUXER(pgmyuv, PGMYUV)
IMAGEAUTO_DEMUXER(tiff, AV_CODEC_ID_TIFF) IMAGEAUTO_DEMUXER(pgx, PGX)
IMAGEAUTO_DEMUXER(webp, AV_CODEC_ID_WEBP) IMAGEAUTO_DEMUXER(photocd, PHOTOCD)
IMAGEAUTO_DEMUXER(xbm, AV_CODEC_ID_XBM) IMAGEAUTO_DEMUXER(pictor, PICTOR)
IMAGEAUTO_DEMUXER(xpm, AV_CODEC_ID_XPM) IMAGEAUTO_DEMUXER(png, PNG)
IMAGEAUTO_DEMUXER(xwd, AV_CODEC_ID_XWD) IMAGEAUTO_DEMUXER(ppm, PPM)
IMAGEAUTO_DEMUXER(psd, PSD)
IMAGEAUTO_DEMUXER(qdraw, QDRAW)
IMAGEAUTO_DEMUXER(sgi, SGI)
IMAGEAUTO_DEMUXER(sunrast, SUNRAST)
IMAGEAUTO_DEMUXER(svg, SVG)
IMAGEAUTO_DEMUXER(tiff, TIFF)
IMAGEAUTO_DEMUXER(webp, WEBP)
IMAGEAUTO_DEMUXER(xbm, XBM)
IMAGEAUTO_DEMUXER(xpm, XPM)
IMAGEAUTO_DEMUXER(xwd, XWD)