[FFmpeg-cvslog] r18164 - in trunk/libavcodec: Makefile allcodecs.c pnmenc.c

Stefano Sabatini stefano.sabatini-lala
Mon Mar 23 00:32:47 CET 2009


On date Sunday 2009-03-22 23:50:22 +0100, diego wrote:
> Author: diego
> Date: Sun Mar 22 23:50:22 2009
> New Revision: 18164
> 
> Log:
> Split AVCodec declarations for PAM/PBM/PGM/PGMYUV/PPM decoders and encoders
> so that they can be enabled and disabled individually.
> 
> Modified:
>    trunk/libavcodec/Makefile
>    trunk/libavcodec/allcodecs.c
>    trunk/libavcodec/pnmenc.c
> 
> Modified: trunk/libavcodec/Makefile
> ==============================================================================
> --- trunk/libavcodec/Makefile	Sun Mar 22 23:50:19 2009	(r18163)
> +++ trunk/libavcodec/Makefile	Sun Mar 22 23:50:22 2009	(r18164)
> @@ -156,15 +156,19 @@ OBJS-$(CONFIG_MSZH_DECODER)            +
>  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
> 
> Modified: trunk/libavcodec/allcodecs.c
> ==============================================================================
> --- trunk/libavcodec/allcodecs.c	Sun Mar 22 23:50:19 2009	(r18163)
> +++ trunk/libavcodec/allcodecs.c	Sun Mar 22 23:50:22 2009	(r18164)
> @@ -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);
> 
> Modified: trunk/libavcodec/pnmenc.c
> ==============================================================================
> --- trunk/libavcodec/pnmenc.c	Sun Mar 22 23:50:19 2009	(r18163)
> +++ trunk/libavcodec/pnmenc.c	Sun Mar 22 23:50:22 2009	(r18164)
> @@ -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"),
>  };

And FATE wen BABBOMMA!!

I don't know if it has been my previous commit or this one to break
compilation, after an update I got this:

/home/stefano/src/ffmpeg/libavcodec/libavcodec.a(allcodecs.o): In function `avcodec_register_all':
/home/stefano/src/ffmpeg/libavcodec/allcodecs.c:130: undefined reference to `pcx_encoder'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1

Regards.



More information about the ffmpeg-cvslog mailing list