summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2009-03-22 22:50:22 +0000
committerDiego Biurrun <diego@biurrun.de>2009-03-22 22:50:22 +0000
commitfd8e28b73ea95129f9db158b8e5ba1517ea1c06b (patch)
treefc9697b8210c3b5ee24fd7d630cb35a325742845
parent6e08ca9c5123d6953a75bfed6bd875b66f56e98f (diff)
Split AVCodec declarations for PAM/PBM/PGM/PGMYUV/PPM decoders and encoders
so that they can be enabled and disabled individually. Originally committed as revision 18164 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/Makefile16
-rw-r--r--libavcodec/allcodecs.c10
-rw-r--r--libavcodec/pnmenc.c85
3 files changed, 90 insertions, 21 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 196be013f4..4d75d7b64b 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -156,15 +156,19 @@ OBJS-$(CONFIG_MSZH_DECODER) += lcldec.o
OBJS-$(CONFIG_NELLYMOSER_DECODER) += nellymoserdec.o nellymoser.o
OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o
OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
-OBJS-$(CONFIG_PAM_ENCODER) += pnmenc.o pnm.o
-OBJS-$(CONFIG_PBM_ENCODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PAM_DECODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PAM_ENCODER) += pnmenc.o
+OBJS-$(CONFIG_PBM_DECODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PBM_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PCX_DECODER) += pcx.o
-OBJS-$(CONFIG_PCX_ENCODER) += pcxenc.o
-OBJS-$(CONFIG_PGM_ENCODER) += pnmenc.o pnm.o
-OBJS-$(CONFIG_PGMYUV_ENCODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PGM_DECODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PGM_ENCODER) += pnmenc.o
+OBJS-$(CONFIG_PGMYUV_DECODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PGMYUV_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PNG_DECODER) += png.o pngdec.o
OBJS-$(CONFIG_PNG_ENCODER) += png.o pngenc.o
-OBJS-$(CONFIG_PPM_ENCODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PPM_DECODER) += pnmenc.o pnm.o
+OBJS-$(CONFIG_PPM_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PTX_DECODER) += ptx.o
OBJS-$(CONFIG_QCELP_DECODER) += qcelpdec.o qcelp_lsp.o celp_math.o celp_filters.o acelp_vectors.o
OBJS-$(CONFIG_QDM2_DECODER) += qdm2.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 815114a5f8..17adff06dd 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -125,13 +125,13 @@ void avcodec_register_all(void)
REGISTER_DECODER (MSVIDEO1, msvideo1);
REGISTER_DECODER (MSZH, mszh);
REGISTER_DECODER (NUV, nuv);
- REGISTER_ENCODER (PAM, pam);
- REGISTER_ENCODER (PBM, pbm);
+ REGISTER_ENCDEC (PAM, pam);
+ REGISTER_ENCDEC (PBM, pbm);
REGISTER_ENCDEC (PCX, pcx);
- REGISTER_ENCODER (PGM, pgm);
- REGISTER_ENCODER (PGMYUV, pgmyuv);
+ REGISTER_ENCDEC (PGM, pgm);
+ REGISTER_ENCDEC (PGMYUV, pgmyuv);
REGISTER_ENCDEC (PNG, png);
- REGISTER_ENCODER (PPM, ppm);
+ REGISTER_ENCDEC (PPM, ppm);
REGISTER_DECODER (PTX, ptx);
REGISTER_DECODER (QDRAW, qdraw);
REGISTER_DECODER (QPEG, qpeg);
diff --git a/libavcodec/pnmenc.c b/libavcodec/pnmenc.c
index 46afbab560..69e6bed657 100644
--- a/libavcodec/pnmenc.c
+++ b/libavcodec/pnmenc.c
@@ -361,6 +361,21 @@ static int pam_probe(AVProbeData *pd)
#endif
+#if CONFIG_PGM_DECODER
+AVCodec pgm_decoder = {
+ "pgm",
+ CODEC_TYPE_VIDEO,
+ CODEC_ID_PGM,
+ sizeof(PNMContext),
+ common_init,
+ NULL,
+ NULL,
+ pnm_decode_frame,
+ .pix_fmts= (enum PixelFormat[]){PIX_FMT_GRAY8, PIX_FMT_GRAY16BE, PIX_FMT_NONE},
+ .long_name= NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
+};
+#endif
+
#if CONFIG_PGM_ENCODER
AVCodec pgm_encoder = {
"pgm",
@@ -369,13 +384,26 @@ AVCodec pgm_encoder = {
sizeof(PNMContext),
common_init,
pnm_encode_frame,
- NULL, //encode_end,
- pnm_decode_frame,
.pix_fmts= (enum PixelFormat[]){PIX_FMT_GRAY8, PIX_FMT_GRAY16BE, PIX_FMT_NONE},
.long_name= NULL_IF_CONFIG_SMALL("PGM (Portable GrayMap) image"),
};
#endif // CONFIG_PGM_ENCODER
+#if CONFIG_PGMYUV_DECODER
+AVCodec pgmyuv_decoder = {
+ "pgmyuv",
+ CODEC_TYPE_VIDEO,
+ CODEC_ID_PGMYUV,
+ sizeof(PNMContext),
+ common_init,
+ NULL,
+ NULL,
+ pnm_decode_frame,
+ .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_NONE},
+ .long_name= NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
+};
+#endif
+
#if CONFIG_PGMYUV_ENCODER
AVCodec pgmyuv_encoder = {
"pgmyuv",
@@ -384,13 +412,26 @@ AVCodec pgmyuv_encoder = {
sizeof(PNMContext),
common_init,
pnm_encode_frame,
- NULL, //encode_end,
- pnm_decode_frame,
.pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_NONE},
.long_name= NULL_IF_CONFIG_SMALL("PGMYUV (Portable GrayMap YUV) image"),
};
#endif // CONFIG_PGMYUV_ENCODER
+#if CONFIG_PPM_DECODER
+AVCodec ppm_decoder = {
+ "ppm",
+ CODEC_TYPE_VIDEO,
+ CODEC_ID_PPM,
+ sizeof(PNMContext),
+ common_init,
+ NULL,
+ NULL,
+ pnm_decode_frame,
+ .pix_fmts= (enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB48BE, PIX_FMT_NONE},
+ .long_name= NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
+};
+#endif
+
#if CONFIG_PPM_ENCODER
AVCodec ppm_encoder = {
"ppm",
@@ -399,13 +440,26 @@ AVCodec ppm_encoder = {
sizeof(PNMContext),
common_init,
pnm_encode_frame,
- NULL, //encode_end,
- pnm_decode_frame,
.pix_fmts= (enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB48BE, PIX_FMT_NONE},
.long_name= NULL_IF_CONFIG_SMALL("PPM (Portable PixelMap) image"),
};
#endif // CONFIG_PPM_ENCODER
+#if CONFIG_PBM_DECODER
+AVCodec pbm_decoder = {
+ "pbm",
+ CODEC_TYPE_VIDEO,
+ CODEC_ID_PBM,
+ sizeof(PNMContext),
+ common_init,
+ NULL,
+ NULL,
+ pnm_decode_frame,
+ .pix_fmts= (enum PixelFormat[]){PIX_FMT_MONOWHITE, PIX_FMT_NONE},
+ .long_name= NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
+};
+#endif
+
#if CONFIG_PBM_ENCODER
AVCodec pbm_encoder = {
"pbm",
@@ -414,13 +468,26 @@ AVCodec pbm_encoder = {
sizeof(PNMContext),
common_init,
pnm_encode_frame,
- NULL, //encode_end,
- pnm_decode_frame,
.pix_fmts= (enum PixelFormat[]){PIX_FMT_MONOWHITE, PIX_FMT_NONE},
.long_name= NULL_IF_CONFIG_SMALL("PBM (Portable BitMap) image"),
};
#endif // CONFIG_PBM_ENCODER
+#if CONFIG_PAM_DECODER
+AVCodec pam_decoder = {
+ "pam",
+ CODEC_TYPE_VIDEO,
+ CODEC_ID_PAM,
+ sizeof(PNMContext),
+ common_init,
+ NULL,
+ NULL,
+ pnm_decode_frame,
+ .pix_fmts= (enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB32, PIX_FMT_GRAY8, PIX_FMT_MONOWHITE, PIX_FMT_NONE},
+ .long_name= NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
+};
+#endif
+
#if CONFIG_PAM_ENCODER
AVCodec pam_encoder = {
"pam",
@@ -429,8 +496,6 @@ AVCodec pam_encoder = {
sizeof(PNMContext),
common_init,
pam_encode_frame,
- NULL, //encode_end,
- pnm_decode_frame,
.pix_fmts= (enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB32, PIX_FMT_GRAY8, PIX_FMT_MONOWHITE, PIX_FMT_NONE},
.long_name= NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"),
};