diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2007-05-19 14:31:57 +0000 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2007-05-19 14:31:57 +0000 |
commit | 5acd8d9e773d0b7dff256e8ed1128b96a6a77a6d (patch) | |
tree | 0a41a9ecee7d5bebb22ce4ede5fedcbb4a3aff5c /libavcodec/mjpegdec.c | |
parent | bf4a90fcc301e0d4a1ac56d24a35bb776155ef64 (diff) | |
download | ffmpeg-5acd8d9e773d0b7dff256e8ed1128b96a6a77a6d.tar.gz |
allows to disable jpegls decoder
Originally committed as revision 9070 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mjpegdec.c')
-rw-r--r-- | libavcodec/mjpegdec.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index dc0b4eba29..91549dc5ba 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -36,6 +36,7 @@ #include "avcodec.h" #include "dsputil.h" #include "mjpeg.h" +#include "mjpegdec.h" #include "jpeglsdec.h" @@ -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); } -static int mjpeg_decode_init(AVCodecContext *avctx) +int ff_mjpeg_decode_init(AVCodecContext *avctx) { MJpegDecodeContext *s = avctx->priv_data; @@ -802,7 +803,7 @@ static int mjpeg_decode_sos(MJpegDecodeContext *s) 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 @@ found: 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 @@ static int mjpeg_decode_frame(AVCodecContext *avctx, 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 @@ static int sp5x_decode_frame(AVCodecContext *avctx, 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 @@ static int sp5x_decode_frame(AVCodecContext *avctx, 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 @@ AVCodec mjpeg_decoder = { 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 @@ AVCodec thp_decoder = { 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 @@ AVCodec mjpegb_decoder = { 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 @@ AVCodec sp5x_decoder = { 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 |