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"), };