# HG changeset patch # User aurel # Date 1179585117 0 # Node ID 01a1652804295fab30beaebf3bee19c86e92a05c # Parent 5c6cd66013713e30cebde399e6216a03fb5df43f allows to disable jpegls decoder diff -r 5c6cd6601371 -r 01a165280429 Makefile --- a/Makefile Sat May 19 02:32:59 2007 +0000 +++ b/Makefile Sat May 19 14:31:57 2007 +0000 @@ -97,15 +97,16 @@ OBJS-$(CONFIG_INDEO3_DECODER) += indeo3.o OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER) += dpcm.o +OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o mjpegdec.o mjpeg.o OBJS-$(CONFIG_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o OBJS-$(CONFIG_KMVC_DECODER) += kmvc.o OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc.o mjpeg.o mpegvideo.o OBJS-$(CONFIG_LOCO_DECODER) += loco.o OBJS-$(CONFIG_MACE3_DECODER) += mace.o OBJS-$(CONFIG_MACE6_DECODER) += mace.o -OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o jpeglsdec.o jpegls.o +OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o mpegvideo.o -OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegdec.o mjpeg.o jpeglsdec.o jpegls.o +OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegdec.o mjpeg.o OBJS-$(CONFIG_MMVIDEO_DECODER) += mmvideo.o OBJS-$(CONFIG_MP2_ENCODER) += mpegaudio.o mpegaudiodata.o OBJS-$(CONFIG_MPC7_DECODER) += mpc.o @@ -153,14 +154,14 @@ OBJS-$(CONFIG_SONIC_DECODER) += sonic.o OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o OBJS-$(CONFIG_SONIC_LS_DECODER) += sonic.o -OBJS-$(CONFIG_SP5X_DECODER) += mjpegdec.o mjpeg.o jpeglsdec.o jpegls.o +OBJS-$(CONFIG_SP5X_DECODER) += mjpegdec.o mjpeg.o OBJS-$(CONFIG_SVQ1_DECODER) += svq1.o OBJS-$(CONFIG_SVQ1_ENCODER) += svq1.o OBJS-$(CONFIG_SVQ3_DECODER) += h264.o OBJS-$(CONFIG_TARGA_DECODER) += targa.o OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o OBJS-$(CONFIG_THEORA_DECODER) += vp3.o xiph.o vp3dsp.o -OBJS-$(CONFIG_THP_DECODER) += mjpegdec.o mjpeg.o jpeglsdec.o jpegls.o +OBJS-$(CONFIG_THP_DECODER) += mjpegdec.o mjpeg.o OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o diff -r 5c6cd6601371 -r 01a165280429 allcodecs.c --- a/allcodecs.c Sat May 19 02:32:59 2007 +0000 +++ b/allcodecs.c Sat May 19 14:31:57 2007 +0000 @@ -91,7 +91,7 @@ REGISTER_DECODER(INDEO2, indeo2); REGISTER_DECODER(INDEO3, indeo3); REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video); - REGISTER_ENCODER(JPEGLS, jpegls); + REGISTER_ENCDEC (JPEGLS, jpegls); REGISTER_DECODER(KMVC, kmvc); REGISTER_ENCODER(LJPEG, ljpeg); REGISTER_DECODER(LOCO, loco); diff -r 5c6cd6601371 -r 01a165280429 avcodec.h --- a/avcodec.h Sat May 19 02:32:59 2007 +0000 +++ b/avcodec.h Sat May 19 14:31:57 2007 +0000 @@ -2282,6 +2282,7 @@ extern AVCodec indeo3_decoder; extern AVCodec interplay_dpcm_decoder; extern AVCodec interplay_video_decoder; +extern AVCodec jpegls_decoder; extern AVCodec kmvc_decoder; extern AVCodec loco_decoder; extern AVCodec mace3_decoder; diff -r 5c6cd6601371 -r 01a165280429 jpeglsdec.c --- a/jpeglsdec.c Sat May 19 02:32:59 2007 +0000 +++ b/jpeglsdec.c Sat May 19 14:31:57 2007 +0000 @@ -29,6 +29,7 @@ #include "bitstream.h" #include "golomb.h" #include "mjpeg.h" +#include "mjpegdec.h" #include "jpegls.h" #include "jpeglsdec.h" @@ -359,3 +360,16 @@ return 0; } + + +AVCodec jpegls_decoder = { + "jpegls", + CODEC_TYPE_VIDEO, + CODEC_ID_JPEGLS, + sizeof(MJpegDecodeContext), + ff_mjpeg_decode_init, + NULL, + ff_mjpeg_decode_end, + ff_mjpeg_decode_frame, + CODEC_CAP_DR1, +}; diff -r 5c6cd6601371 -r 01a165280429 mjpegdec.c --- a/mjpegdec.c Sat May 19 02:32:59 2007 +0000 +++ b/mjpegdec.c Sat May 19 14:31:57 2007 +0000 @@ -36,6 +36,7 @@ #include "avcodec.h" #include "dsputil.h" #include "mjpeg.h" +#include "mjpegdec.h" #include "jpeglsdec.h" @@ -63,7 +64,7 @@ return init_vlc(vlc, 9, nb_codes, huff_size, 1, 1, huff_code, 2, 2, use_static); } -static int mjpeg_decode_init(AVCodecContext *avctx) +int ff_mjpeg_decode_init(AVCodecContext *avctx) { MJpegDecodeContext *s = avctx->priv_data; @@ -802,7 +803,7 @@ skip_bits(&s->gb, 8); if(s->lossless){ - if(s->ls){ + if(ENABLE_JPEGLS_DECODER && s->ls){ // for(){ // reset_ls_coding_parameters(s, 0); @@ -1075,7 +1076,7 @@ return val; } -static int mjpeg_decode_frame(AVCodecContext *avctx, +int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) { @@ -1237,7 +1238,7 @@ return -1; break; case LSE: - if (ff_jpegls_decode_lse(s) < 0) + if (!ENABLE_JPEGLS_DECODER || ff_jpegls_decode_lse(s) < 0) return -1; break; case EOI: @@ -1473,7 +1474,7 @@ recoded[j++] = 0xFF; recoded[j++] = 0xD9; - i = mjpeg_decode_frame(avctx, data, data_size, recoded, j); + i = ff_mjpeg_decode_frame(avctx, data, data_size, recoded, j); av_free(recoded); @@ -1572,7 +1573,7 @@ return i; } -static int mjpeg_decode_end(AVCodecContext *avctx) +int ff_mjpeg_decode_end(AVCodecContext *avctx) { MJpegDecodeContext *s = avctx->priv_data; int i, j; @@ -1592,10 +1593,10 @@ CODEC_TYPE_VIDEO, CODEC_ID_MJPEG, sizeof(MJpegDecodeContext), - mjpeg_decode_init, + ff_mjpeg_decode_init, NULL, - mjpeg_decode_end, - mjpeg_decode_frame, + ff_mjpeg_decode_end, + ff_mjpeg_decode_frame, CODEC_CAP_DR1, NULL }; @@ -1605,10 +1606,10 @@ CODEC_TYPE_VIDEO, CODEC_ID_THP, sizeof(MJpegDecodeContext), - mjpeg_decode_init, + ff_mjpeg_decode_init, NULL, - mjpeg_decode_end, - mjpeg_decode_frame, + ff_mjpeg_decode_end, + ff_mjpeg_decode_frame, CODEC_CAP_DR1, NULL }; @@ -1618,9 +1619,9 @@ CODEC_TYPE_VIDEO, CODEC_ID_MJPEGB, sizeof(MJpegDecodeContext), - mjpeg_decode_init, + ff_mjpeg_decode_init, NULL, - mjpeg_decode_end, + ff_mjpeg_decode_end, mjpegb_decode_frame, CODEC_CAP_DR1, NULL @@ -1631,9 +1632,9 @@ CODEC_TYPE_VIDEO, CODEC_ID_SP5X, sizeof(MJpegDecodeContext), - mjpeg_decode_init, + ff_mjpeg_decode_init, NULL, - mjpeg_decode_end, + ff_mjpeg_decode_end, sp5x_decode_frame, CODEC_CAP_DR1, NULL