Commit Graph

15443 Commits

Author SHA1 Message Date
Justin Ruggles e232225276 libmp3lame: renaming, rearrangement, alignment, and comments 2012-02-20 12:32:30 -05:00
Justin Ruggles 232e16dd02 libmp3lame: use the LAME default bit rate
Also, only set bit rate for CBR.
2012-02-20 12:32:30 -05:00
Justin Ruggles 1f516c0451 libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing 2012-02-20 12:32:30 -05:00
Justin Ruggles e3d2c89e9d libmp3lame: cosmetics: remove some pointless comments 2012-02-20 12:32:30 -05:00
Justin Ruggles bf909fc456 libmp3lame: convert some debugging code to av_dlog()
also remove unneeded commented-out full frame data debugging
2012-02-20 12:32:30 -05:00
Justin Ruggles 469d2a8e8e libmp3lame: remove outdated comment.
We now require at least libmp3lame 3.98.3.
lame_encode_buffer_interleaved() still doesn't work for mono, but it does not
"die"; it just expects a stereo interleaved buffer.
2012-02-20 12:32:30 -05:00
Justin Ruggles 35cfd7d09c libmp3lame: do not set coded_frame->key_frame.
it is already set in avcodec_alloc_frame()
2012-02-20 12:32:30 -05:00
Justin Ruggles 8dad25ebf7 libmp3lame: improve error handling in MP3lame_encode_init() 2012-02-20 12:32:30 -05:00
Justin Ruggles 310c372e12 libmp3lame: remove unneeded 'stereo' field from Mp3AudioContext 2012-02-20 12:32:30 -05:00
Anton Khirnov 55fd7da107 pcxenc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov fb11e22fda sgienc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov 61eaf45c99 targaenc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov 1e742ea3c8 targaenc: don't modify input frame.
Set the pict_type/key_frame properties on the coded picture.
2012-02-20 07:50:44 +01:00
Anton Khirnov 3227770092 roqvideoenc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov 4fd7cfef0b roqvideoenc: add const qualifier to the input frame. 2012-02-20 07:50:44 +01:00
Anton Khirnov 1ea5755046 pnmenc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov bc9c70e5a3 huffyuv: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov 2abee9be82 v410enc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov 11505f39e1 zmbvenc: switch to encode2(). 2012-02-20 07:50:44 +01:00
Anton Khirnov 8c8c7b5e37 zmbvenc: move header writing to the end of encode_frame().
This makes switching to encode2() simpler, because it allows us to know
exactly how large should the output buffer be before we start writing
into it.
2012-02-20 07:50:44 +01:00
Ronald S. Bultje 8fb26950ed h264: don't use redzone in loopfilter on win64.
Red zone usage is not allowed in the Win64 ABI.
2012-02-19 15:31:03 -08:00
Luca Barbato aac63cef20 examples: unbreak compilation
Update api so it will compile again.
2012-02-19 19:10:28 +01:00
Paul B Mahol e04ca1d4ce ttadec: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-19 13:04:10 -05:00
Aneesh Dogra 566df2eea2 sunrast: use RLE trigger macro inplace of the hard coded value.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-19 15:55:57 +01:00
Aneesh Dogra 1a58daed0f sunrastenc: set keyframe flag for the output packet.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-19 15:54:27 +01:00
Anton Khirnov 445a7d48b1 mpegvideo_enc: switch to encode2(). 2012-02-19 08:26:30 +01:00
Anton Khirnov 5455384219 mpegvideo_enc: force encoding delay of at least 1 frame when low_delay=0
This allows the following commit to extrapolate better dts for the first
frame. Pts difference between the first two frames is reused as the
difference between pts and dts of the first frame.
2012-02-19 08:22:48 +01:00
Kostya Shishkov 6d702dc072 proresenc: force bitrate not to exceed given limit
Apple ProRes Format Specifications mentions target data size for every frame,
so make sure frame meets it. This also allows encoder to demand much smaller
packet sizes for output.
2012-02-18 18:34:01 +01:00
Ronald S. Bultje c742ab4e81 vc1parse: call vc1_init_common().
The parser uses VLC tables initialized in vc1_common_init(), therefore
we should call this function on parser init also.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-18 09:16:39 -08:00
Ronald S. Bultje 9d3050d3e9 wma: don't return 0 on invalid packets.
Return 0 means "please return the same data again", i.e. it causes an
infinite loop. Instead, return an error.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-18 09:13:38 -08:00
Ronald S. Bultje 74699ac8c8 mjpegb: don't return 0 at the end of frame decoding.
Return 0 indicates "please return the same data again", i.e. it causes
an infinite loop. Instead, return that we consumed the buffer if we
finished decoding succesfully, or return an error if an error occurred.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-18 08:41:45 -08:00
Ronald S. Bultje b1af4e9c27 vp8dsp: split long line.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 02:32:09 +02:00
Alex Converse ce7aee9b73 dpcm: ignore extra unpaired bytes in stereo streams.
Fixes: CVE-2011-3951

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-02-17 15:42:23 -08:00
Ronald S. Bultje 3e13005cac mp3on4: require a minimum framesize.
If bufsize < headersize, init_get_bits() will be called with a negative
number, causing it to fail and any subsequent call to get_bits() will
crash because it reads from a NULL pointer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-17 15:32:23 -08:00
Ronald S. Bultje c0994e39d7 mpc7: assign an error level + context to av_log() msg. 2012-02-17 15:28:35 -08:00
Ronald S. Bultje 84c202cc37 huffyuv: error out on bit overrun.
On EOF, get_bits() will continuously return 0, causing an infinite
loop.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-17 15:23:20 -08:00
Martin Storsjö 0733375059 dct-test: Add the missing ff_ prefix to the altivec functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 00:22:25 +02:00
Martin Storsjö 89baf35996 dct-test: Remove a stray declaration of a nonexistent function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 00:22:24 +02:00
Ronald S. Bultje af468015d9 als: prevent infinite loop in zero_remaining().
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-17 12:35:08 -08:00
Ronald S. Bultje 941fc1ea1e cook: prevent div-by-zero if channels is zero.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-17 12:35:07 -08:00
Anton Khirnov e9b380a7a5 pamenc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Anton Khirnov 3cc77ded4f svq1enc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Anton Khirnov 6a047213ac dvenc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Anton Khirnov b3566a6a39 dpxenc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Anton Khirnov 83c7fe3245 pngenc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Anton Khirnov ab3a410cf0 v210enc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Anton Khirnov f0366fec56 xwdenc: switch to encode2(). 2012-02-17 20:46:37 +01:00
Justin Ruggles f2a4559c77 ttadec: use branchless unsigned-to-signed unfolding 2012-02-17 14:35:35 -05:00
Aneesh Dogra d7840529b6 avcodec: add a Sun Rasterfile encoder
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 14:28:56 -05:00
Aneesh Dogra 1f1fbcfa71 sunrast: Move common defines to a new header file.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 14:23:40 -05:00
Paul B Mahol b5c626fdf3 cdxl: fix video decoding for some files
Width is padded for ham encodings too.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 14:20:18 -05:00
Paul B Mahol 323b9da969 ttadec: remove dead code
The unused code being removed is for encoding only and therefore is not needed
by the decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 13:38:09 -05:00
Kostya Shishkov 5d9ad5425f prores: initialise encoder and decoder parts only when needed 2012-02-17 14:11:48 +01:00
Ronald S. Bultje 52e4018be4 flac: fix infinite loops on all-zero input or end-of-stream.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-16 17:08:29 -08:00
Ronald S. Bultje b4027d9749 wmapro: change max. block size to 13 bits.
WMApro actually support 13-bits block sizes (potentially even up to 14),
and thus we should support that also. If we get block sizes beyond what
the decoder can handle (14 is possible depending on s->decode_flags),
error out instead of crashing.
2012-02-16 16:15:36 -08:00
Michael Niedermayer 204cb29b3c shorten: Use separate pointers for the allocated memory for decoded samples.
Fixes invalid free() if any of the buffers are not allocated due to either
not decoding a header or an error prior to allocating all buffers.

Fixes CVE-2012-0858
CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-16 15:18:45 -05:00
Michael Niedermayer c509f4f747 atrac3: Fix crash in tonal component decoding.
Add a check to avoid writing past the end of the channel_unit.components[]
array.

Bug Found by: cosminamironesei
Fixes CVE-2012-0853
CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-16 15:18:45 -05:00
Michael Niedermayer 9fb7a5af97 ws_snd1: Fix wrong samples counts.
This makes the check that avoids overwrite of the samples array actually
work properly.

fixes CVE-2012-0848
CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-16 15:18:45 -05:00
Ronald S. Bultje c6643fddba golomb: avoid infinite loop on all-zero input (or end of buffer).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-16 08:36:08 -08:00
Justin Ruggles f320fb894c bethsoftvid: pass palette in side data instead of in a separate packet.
Update FATE reference to account for now non-existent palette packet.
This also fixes the FATE test if frame data is not initialized in
get_buffer(), so update comment in avconv accordingly.
2012-02-16 10:47:11 -05:00
Kostya Shishkov 17b11ffec7 proresenc: initialise 'sign' variable 2012-02-16 06:48:24 +01:00
Christophe GISQUET f3e084909b mpegaudio: replace memcpy by SIMD code
By replacing memcpy with an unrolled loop using the alignment knowledge
it has, some speedup can be obtained.

Before (gcc 4.6.1): ~400 cycles
After: ~370 cycles

Overall, around 2% speed increase when decoding a 2400s mp3 to f32le.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-15 20:11:54 -08:00
Ronald S. Bultje ae591aeea5 vc1: prevent using last_frame as a reference for I/P first frame.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-15 19:58:10 -08:00
Martin Storsjö 210f72845c ppc: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:29 +02:00
Martin Storsjö f73673a770 sh4: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:26 +02:00
Martin Storsjö efd29844eb mpegvideo: Add ff_ prefix to nonstatic functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:23 +02:00
Martin Storsjö 0ca1bdb37d rtjpeg: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:20 +02:00
Martin Storsjö 6c28d65754 rv: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:17 +02:00
Martin Storsjö d1b357d78b vp56: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:14 +02:00
Martin Storsjö 27cfdc3e4f vorbis: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:11 +02:00
Martin Storsjö 04d3822524 msmpeg4: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:08 +02:00
Martin Storsjö 5f2c159c0f vc1: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:05 +02:00
Martin Storsjö 1fec055066 msmpeg4: Add ff_ prefixes to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:07:01 +02:00
Martin Storsjö 35e02a3d0e snow: Add ff_ prefix to nonstatic symbols
This allows getting rid of a hack for conflicting symbol/define
names.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:58 +02:00
Martin Storsjö d6c8dcb8ac mpeg12: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:56 +02:00
Martin Storsjö 6f13a371ec mpeg4: Add ff_ prefixes to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:52 +02:00
Martin Storsjö e9ca85e714 lagarith: Add ff_ prefix to lag_rac_init
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:49 +02:00
Martin Storsjö c8e1b2fbc9 libavcodec: Add ff_ prefix to j_rev_dct*
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:46 +02:00
Martin Storsjö 873c89e2a6 dsputil: Add ff_ prefix to inv_zigzag_direct16
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:42 +02:00
Martin Storsjö 3e2efacdd8 libavcodec: Prefix fdct_ifast, fdct_ifast248
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:38 +02:00
Martin Storsjö 9cf0841ef3 dsputil: Add ff_ prefix to the dsputil*_init* functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Martin Storsjö 99560a4caa libavcodec: Add ff_ prefix to some nonstatic symbols
Prefix the functions atrac_generate_tables, atrac_iqmf, dct_quantize_c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:29 +02:00
Martin Storsjö e96b4a53df vlc/rl: Add ff_ prefix to the nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:26 +02:00
Martin Storsjö ddce8953a5 h263: Add ff_ prefix to nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:22 +02:00
Martin Storsjö a082ac4125 mpegvideo: Remove a leftover function declaration
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:12 +02:00
Kostya Shishkov 1a265f6187 prores encoder 2012-02-15 07:14:51 +01:00
Kostya Shishkov 8835c2c829 prores: move data shared between decoder and encoder to common file 2012-02-15 07:14:45 +01:00
Kostya Shishkov 3ec623c22f prores: fix multithreaded decoding case when slice quantisers are not the same
Since quantisation matrices are stored in context, decoding slices with
different quantisers in parallel leads to unpredictable content of
aforementioned matrices and wrong output picture thereof.
2012-02-15 07:14:35 +01:00
Paul B Mahol dc4e57489f CDXL demuxer and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-14 22:32:53 +01:00
Janne Grunau 18d1d5886b rv30: check block type validity
Prevents crashes with the fuzzed samples from bugs 88, 89 and 125 after
"golomb: avoid infinite loop on all-zero input".
2012-02-14 19:03:10 +01:00
Paul B Mahol 2af3dc8698 ttadec: CRC checking
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-14 13:00:55 -05:00
Janne Grunau 2bd730010d rv34: handle size changes during frame multithreading
Factors all context dynamic memory handling to its own functions.
Fixes bug 220.
2012-02-14 14:46:11 +01:00
Janne Grunau b54b40b33c rv40: prevent undefined signed overflow in rv40_loop_filter() 2012-02-14 14:42:55 +01:00
Janne Grunau 29330721b0 rv34: use AVERROR return values in ff_rv34_decode_frame()
Also adds an error message.
2012-02-14 14:42:55 +01:00
Janne Grunau bf61ef2316 rv34: use uint16_t for RV34DecContext.deblock_coefs
It is used as bitfield with 16 entries.
2012-02-14 14:42:55 +01:00
Diego Biurrun a8798c7eb9 Drop unnecessary av_uninit attributes from some variable declarations.
Recent versions of gcc (4.4+) no longer give false positive warnings.
2012-02-13 19:20:52 +01:00
Diego Biurrun 0bf184e59c Move PS2 MMI code below the mips subdirectory, where it belongs.
Also give a more suitable name to the MMI-optimized IDCT;
it is not PS2-specific, as the name currently suggests.
2012-02-13 09:59:53 +01:00
Diego Biurrun 75f11901b5 mips: Move MMI function declarations to a header.
This fixes compilation with -Werror=missing-prototypes.
2012-02-13 09:59:52 +01:00
Anton Khirnov 3dffa1b46c cljr: implement encode2. 2012-02-12 08:05:57 +01:00
Anton Khirnov 177bb4bf50 cljr: set the properties of the coded_frame, not input frame. 2012-02-12 08:05:38 +01:00