diff --git a/configure b/configure index 079e6dbc00..df07a6f4fb 100755 --- a/configure +++ b/configure @@ -120,6 +120,7 @@ Component options: --disable-dct disable DCT code --disable-dwt disable DWT code --disable-lsp disable LSP code + --disable-lzo disable LZO decoder code --disable-mdct disable MDCT code --disable-rdft disable RDFT code --disable-fft disable FFT code @@ -1029,6 +1030,7 @@ CONFIG_LIST=" libxavs libxvid lsp + lzo mdct memalign_hack network @@ -1437,6 +1439,7 @@ binkaudio_dct_decoder_select="mdct rdft dct sinewin" binkaudio_rdft_decoder_select="mdct rdft sinewin" cavs_decoder_select="golomb mpegvideo" cook_decoder_select="mdct sinewin" +cscd_decoder_select="lzo" cscd_decoder_suggest="zlib" dca_decoder_select="mdct" dnxhd_encoder_select="aandcttables mpegvideoenc" @@ -1516,6 +1519,7 @@ msmpeg4v3_encoder_select="h263_encoder" mss2_decoder_select="vc1_decoder" nellymoser_decoder_select="mdct sinewin" nellymoser_encoder_select="mdct sinewin" +nuv_decoder_select="lzo" png_decoder_select="zlib" png_encoder_select="zlib" qcelp_decoder_select="lsp" @@ -1628,7 +1632,7 @@ eac3_demuxer_select="ac3_parser" flac_demuxer_select="flac_parser" ipod_muxer_select="mov_muxer" matroska_audio_muxer_select="matroska_muxer" -matroska_demuxer_suggest="zlib bzlib" +matroska_demuxer_suggest="bzlib lzo zlib" mov_demuxer_suggest="zlib" mp3_demuxer_select="mpegaudio_parser" mp4_muxer_select="mov_muxer" diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 68c936c15a..26f8707e83 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1011,6 +1011,7 @@ static int matroska_decode_buffer(uint8_t** buf, int* buf_size, memcpy(pkt_data + header_size, data, isize); break; } +#if CONFIG_LZO case MATROSKA_TRACK_ENCODING_COMP_LZO: do { olen = pkt_size *= 3; @@ -1028,6 +1029,7 @@ static int matroska_decode_buffer(uint8_t** buf, int* buf_size, } pkt_size -= olen; break; +#endif #if CONFIG_ZLIB case MATROSKA_TRACK_ENCODING_COMP_ZLIB: { z_stream zstream = {0}; @@ -1436,14 +1438,17 @@ static int matroska_read_header(AVFormatContext *s) "Multiple combined encodings not supported"); } else if (encodings_list->nb_elem == 1) { if (encodings[0].type || - (encodings[0].compression.algo != MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP && + ( #if CONFIG_ZLIB encodings[0].compression.algo != MATROSKA_TRACK_ENCODING_COMP_ZLIB && #endif #if CONFIG_BZLIB encodings[0].compression.algo != MATROSKA_TRACK_ENCODING_COMP_BZLIB && #endif - encodings[0].compression.algo != MATROSKA_TRACK_ENCODING_COMP_LZO)) { +#if CONFIG_LZO + encodings[0].compression.algo != MATROSKA_TRACK_ENCODING_COMP_LZO && +#endif + encodings[0].compression.algo != MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP)) { encodings[0].scope = 0; av_log(matroska->ctx, AV_LOG_ERROR, "Unsupported encoding type"); diff --git a/libavutil/Makefile b/libavutil/Makefile index 227a57efc2..45f8e9076c 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -24,7 +24,6 @@ HEADERS = adler32.h \ intreadwrite.h \ lfg.h \ log.h \ - lzo.h \ mathematics.h \ md5.h \ mem.h \ @@ -42,6 +41,8 @@ HEADERS = adler32.h \ version.h \ xtea.h \ +HEADERS-$(CONFIG_LZO) += lzo.h + ARCH_HEADERS = bswap.h \ intmath.h \ intreadwrite.h \ @@ -71,7 +72,6 @@ OBJS = adler32.o \ log.o \ log2.o \ log2_tab.o \ - lzo.o \ mathematics.o \ md5.o \ mem.o \ @@ -89,6 +89,8 @@ OBJS = adler32.o \ utils.o \ xtea.o \ +OBJS-$(CONFIG_LZO) += lzo.o + OBJS += $(COMPAT_OBJS:%=../compat/%) SKIPHEADERS = old_pix_fmts.h