Commit 5acd8d9e authored by Aurelien Jacobs's avatar Aurelien Jacobs

allows to disable jpegls decoder

Originally committed as revision 9070 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent bf4a90fc
...@@ -97,15 +97,16 @@ OBJS-$(CONFIG_INDEO2_DECODER) += indeo2.o ...@@ -97,15 +97,16 @@ OBJS-$(CONFIG_INDEO2_DECODER) += indeo2.o
OBJS-$(CONFIG_INDEO3_DECODER) += indeo3.o OBJS-$(CONFIG_INDEO3_DECODER) += indeo3.o
OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER) += dpcm.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_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o
OBJS-$(CONFIG_KMVC_DECODER) += kmvc.o OBJS-$(CONFIG_KMVC_DECODER) += kmvc.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc.o mjpeg.o mpegvideo.o OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc.o mjpeg.o mpegvideo.o
OBJS-$(CONFIG_LOCO_DECODER) += loco.o OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_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_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_MMVIDEO_DECODER) += mmvideo.o
OBJS-$(CONFIG_MP2_ENCODER) += mpegaudio.o mpegaudiodata.o OBJS-$(CONFIG_MP2_ENCODER) += mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPC7_DECODER) += mpc.o OBJS-$(CONFIG_MPC7_DECODER) += mpc.o
...@@ -153,14 +154,14 @@ OBJS-$(CONFIG_SOL_DPCM_DECODER) += dpcm.o ...@@ -153,14 +154,14 @@ OBJS-$(CONFIG_SOL_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_SONIC_DECODER) += sonic.o OBJS-$(CONFIG_SONIC_DECODER) += sonic.o
OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o
OBJS-$(CONFIG_SONIC_LS_DECODER) += 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_DECODER) += svq1.o
OBJS-$(CONFIG_SVQ1_ENCODER) += svq1.o OBJS-$(CONFIG_SVQ1_ENCODER) += svq1.o
OBJS-$(CONFIG_SVQ3_DECODER) += h264.o OBJS-$(CONFIG_SVQ3_DECODER) += h264.o
OBJS-$(CONFIG_TARGA_DECODER) += targa.o OBJS-$(CONFIG_TARGA_DECODER) += targa.o
OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o
OBJS-$(CONFIG_THEORA_DECODER) += vp3.o xiph.o vp3dsp.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_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o
......
...@@ -91,7 +91,7 @@ void avcodec_register_all(void) ...@@ -91,7 +91,7 @@ void avcodec_register_all(void)
REGISTER_DECODER(INDEO2, indeo2); REGISTER_DECODER(INDEO2, indeo2);
REGISTER_DECODER(INDEO3, indeo3); REGISTER_DECODER(INDEO3, indeo3);
REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video); REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video);
REGISTER_ENCODER(JPEGLS, jpegls); REGISTER_ENCDEC (JPEGLS, jpegls);
REGISTER_DECODER(KMVC, kmvc); REGISTER_DECODER(KMVC, kmvc);
REGISTER_ENCODER(LJPEG, ljpeg); REGISTER_ENCODER(LJPEG, ljpeg);
REGISTER_DECODER(LOCO, loco); REGISTER_DECODER(LOCO, loco);
......
...@@ -2282,6 +2282,7 @@ extern AVCodec indeo2_decoder; ...@@ -2282,6 +2282,7 @@ extern AVCodec indeo2_decoder;
extern AVCodec indeo3_decoder; extern AVCodec indeo3_decoder;
extern AVCodec interplay_dpcm_decoder; extern AVCodec interplay_dpcm_decoder;
extern AVCodec interplay_video_decoder; extern AVCodec interplay_video_decoder;
extern AVCodec jpegls_decoder;
extern AVCodec kmvc_decoder; extern AVCodec kmvc_decoder;
extern AVCodec loco_decoder; extern AVCodec loco_decoder;
extern AVCodec mace3_decoder; extern AVCodec mace3_decoder;
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "bitstream.h" #include "bitstream.h"
#include "golomb.h" #include "golomb.h"
#include "mjpeg.h" #include "mjpeg.h"
#include "mjpegdec.h"
#include "jpegls.h" #include "jpegls.h"
#include "jpeglsdec.h" #include "jpeglsdec.h"
...@@ -359,3 +360,16 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, int point_transfor ...@@ -359,3 +360,16 @@ int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, int point_transfor
return 0; 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,
};
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"
#include "mjpeg.h" #include "mjpeg.h"
#include "mjpegdec.h"
#include "jpeglsdec.h" #include "jpeglsdec.h"
...@@ -63,7 +64,7 @@ static int build_vlc(VLC *vlc, const uint8_t *bits_table, const uint8_t *val_tab ...@@ -63,7 +64,7 @@ static int build_vlc(VLC *vlc, const uint8_t *bits_table, const uint8_t *val_tab
return init_vlc(vlc, 9, nb_codes, huff_size, 1, 1, huff_code, 2, 2, use_static); 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; MJpegDecodeContext *s = avctx->priv_data;
...@@ -802,7 +803,7 @@ static int mjpeg_decode_sos(MJpegDecodeContext *s) ...@@ -802,7 +803,7 @@ static int mjpeg_decode_sos(MJpegDecodeContext *s)
skip_bits(&s->gb, 8); skip_bits(&s->gb, 8);
if(s->lossless){ if(s->lossless){
if(s->ls){ if(ENABLE_JPEGLS_DECODER && s->ls){
// for(){ // for(){
// reset_ls_coding_parameters(s, 0); // reset_ls_coding_parameters(s, 0);
...@@ -1075,7 +1076,7 @@ found: ...@@ -1075,7 +1076,7 @@ found:
return val; return val;
} }
static int mjpeg_decode_frame(AVCodecContext *avctx, int ff_mjpeg_decode_frame(AVCodecContext *avctx,
void *data, int *data_size, void *data, int *data_size,
uint8_t *buf, int buf_size) uint8_t *buf, int buf_size)
{ {
...@@ -1237,7 +1238,7 @@ static int mjpeg_decode_frame(AVCodecContext *avctx, ...@@ -1237,7 +1238,7 @@ static int mjpeg_decode_frame(AVCodecContext *avctx,
return -1; return -1;
break; break;
case LSE: case LSE:
if (ff_jpegls_decode_lse(s) < 0) if (!ENABLE_JPEGLS_DECODER || ff_jpegls_decode_lse(s) < 0)
return -1; return -1;
break; break;
case EOI: case EOI:
...@@ -1473,7 +1474,7 @@ static int sp5x_decode_frame(AVCodecContext *avctx, ...@@ -1473,7 +1474,7 @@ static int sp5x_decode_frame(AVCodecContext *avctx,
recoded[j++] = 0xFF; recoded[j++] = 0xFF;
recoded[j++] = 0xD9; 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); av_free(recoded);
...@@ -1572,7 +1573,7 @@ static int sp5x_decode_frame(AVCodecContext *avctx, ...@@ -1572,7 +1573,7 @@ static int sp5x_decode_frame(AVCodecContext *avctx,
return i; return i;
} }
static int mjpeg_decode_end(AVCodecContext *avctx) int ff_mjpeg_decode_end(AVCodecContext *avctx)
{ {
MJpegDecodeContext *s = avctx->priv_data; MJpegDecodeContext *s = avctx->priv_data;
int i, j; int i, j;
...@@ -1592,10 +1593,10 @@ AVCodec mjpeg_decoder = { ...@@ -1592,10 +1593,10 @@ AVCodec mjpeg_decoder = {
CODEC_TYPE_VIDEO, CODEC_TYPE_VIDEO,
CODEC_ID_MJPEG, CODEC_ID_MJPEG,
sizeof(MJpegDecodeContext), sizeof(MJpegDecodeContext),
mjpeg_decode_init, ff_mjpeg_decode_init,
NULL, NULL,
mjpeg_decode_end, ff_mjpeg_decode_end,
mjpeg_decode_frame, ff_mjpeg_decode_frame,
CODEC_CAP_DR1, CODEC_CAP_DR1,
NULL NULL
}; };
...@@ -1605,10 +1606,10 @@ AVCodec thp_decoder = { ...@@ -1605,10 +1606,10 @@ AVCodec thp_decoder = {
CODEC_TYPE_VIDEO, CODEC_TYPE_VIDEO,
CODEC_ID_THP, CODEC_ID_THP,
sizeof(MJpegDecodeContext), sizeof(MJpegDecodeContext),
mjpeg_decode_init, ff_mjpeg_decode_init,
NULL, NULL,
mjpeg_decode_end, ff_mjpeg_decode_end,
mjpeg_decode_frame, ff_mjpeg_decode_frame,
CODEC_CAP_DR1, CODEC_CAP_DR1,
NULL NULL
}; };
...@@ -1618,9 +1619,9 @@ AVCodec mjpegb_decoder = { ...@@ -1618,9 +1619,9 @@ AVCodec mjpegb_decoder = {
CODEC_TYPE_VIDEO, CODEC_TYPE_VIDEO,
CODEC_ID_MJPEGB, CODEC_ID_MJPEGB,
sizeof(MJpegDecodeContext), sizeof(MJpegDecodeContext),
mjpeg_decode_init, ff_mjpeg_decode_init,
NULL, NULL,
mjpeg_decode_end, ff_mjpeg_decode_end,
mjpegb_decode_frame, mjpegb_decode_frame,
CODEC_CAP_DR1, CODEC_CAP_DR1,
NULL NULL
...@@ -1631,9 +1632,9 @@ AVCodec sp5x_decoder = { ...@@ -1631,9 +1632,9 @@ AVCodec sp5x_decoder = {
CODEC_TYPE_VIDEO, CODEC_TYPE_VIDEO,
CODEC_ID_SP5X, CODEC_ID_SP5X,
sizeof(MJpegDecodeContext), sizeof(MJpegDecodeContext),
mjpeg_decode_init, ff_mjpeg_decode_init,
NULL, NULL,
mjpeg_decode_end, ff_mjpeg_decode_end,
sp5x_decode_frame, sp5x_decode_frame,
CODEC_CAP_DR1, CODEC_CAP_DR1,
NULL NULL
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment