ffmpeg.git
6 years agobuild: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
Diego Biurrun [Tue, 14 Aug 2012 00:09:15 +0000 (02:09 +0200)]
build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO

A new hidden config variable is added for the codecs that depend on the
mpegaudio parts.

6 years agosegment: Add comments about calls that only are relevant for some muxers
Martin Storsjö [Thu, 4 Oct 2012 12:28:30 +0000 (15:28 +0300)]
segment: Add comments about calls that only are relevant for some muxers

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Add an option for omitting the first header and final trailer
Martin Storsjö [Tue, 2 Oct 2012 21:59:35 +0000 (23:59 +0200)]
segment: Add an option for omitting the first header and final trailer

This allows writing totally bare segments, without any header/trailer
included anywhere.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Flush buffered data before finishing a segment
Martin Storsjö [Tue, 2 Oct 2012 21:56:40 +0000 (23:56 +0200)]
segment: Flush buffered data before finishing a segment

This makes sure any buffered data is written to the segment, for
muxers that buffer up data internally (e.g. fragmented mp4).

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Set the resend_headers flag for each segment
Martin Storsjö [Tue, 2 Oct 2012 21:51:46 +0000 (23:51 +0200)]
segment: Set the resend_headers flag for each segment

This makes sure new inline headers are emitted when the next
packet is written. This allows segmenting mpegts without calling
write_header/write_trailer (nor freeing/reiniting the muxer)
for each segment.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Add an option for disabling writing of a header/trailer to each segment
Martin Storsjö [Tue, 2 Oct 2012 21:49:46 +0000 (23:49 +0200)]
segment: Add an option for disabling writing of a header/trailer to each segment

Some segmented formats (such as fragmented mp4) are "bare", as in,
the segment files do not have the same headers/trailers as full normal
files of that format have.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Free and reinit the muxer before calling avformat_write_header
Martin Storsjö [Wed, 3 Oct 2012 21:15:35 +0000 (00:15 +0300)]
segment: Free and reinit the muxer before calling avformat_write_header

This makes sure the muxers are set up in the way they expect
with no data left around from the previous run (which could
cause various issues including memory leaks, depending on the chaine
muxer).

This fixes memory leaks with the mpegts and flv muxers. It also
makes the usage of chained muxers correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Use the public av_write_header/av_write_trailer functions
Martin Storsjö [Sat, 25 Feb 2012 23:31:14 +0000 (01:31 +0200)]
segment: Use the public av_write_header/av_write_trailer functions

With this change, the segmenter muxer doesn't rely on anything
not available/supported to libavformat external users, making
the segmenter muxer do things just like a normal segmenter
application using libavformat would do.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Properly create new AVStreams for the chained muxer
Martin Storsjö [Sat, 25 Feb 2012 23:39:32 +0000 (01:39 +0200)]
segment: Properly create new AVStreams for the chained muxer

Before, the chained muxer reused the AVStreams array from
the outer muxer, which made it impossible to use the proper
public functions (such as av_write_frame) when calling the
chained muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegment: Add a missing space
Martin Storsjö [Wed, 3 Oct 2012 21:03:45 +0000 (00:03 +0300)]
segment: Add a missing space

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agovf_overlay: properly sync inputs.
Anton Khirnov [Wed, 3 Oct 2012 20:34:50 +0000 (22:34 +0200)]
vf_overlay: properly sync inputs.

Right now it incorrectly assumes that the frames are sent in the proper
order, which worked with old ffmpeg and avconv versions by accident.

6 years agovf_overlay: get rid of pointless messing with timebase.
Anton Khirnov [Sun, 30 Sep 2012 07:49:53 +0000 (09:49 +0200)]
vf_overlay: get rid of pointless messing with timebase.

Output frames correspond 1:1 to input frames on the main input.
So use the main input timebase for output.

6 years agosamplefmt: make av_samples_alloc() initialize the data to silence.
Anton Khirnov [Wed, 3 Oct 2012 05:54:45 +0000 (07:54 +0200)]
samplefmt: make av_samples_alloc() initialize the data to silence.

Right now the buffer is zeroed, which does not represent silence for U8(P).

6 years agolibspeexdec: handle NULL return value from speex_packet_to_header()
Justin Ruggles [Wed, 3 Oct 2012 21:26:16 +0000 (17:26 -0400)]
libspeexdec: handle NULL return value from speex_packet_to_header()

This will happen when the extradata is not a valid Speex header.

6 years agoh264probe: Don't error out on bits that no longer are reserved
Michael Niedermayer [Mon, 9 May 2011 14:05:29 +0000 (16:05 +0200)]
h264probe: Don't error out on bits that no longer are reserved

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agompegvideo: set extended_data in ff_update_duplicate_context()
Janne Grunau [Wed, 3 Oct 2012 19:41:52 +0000 (21:41 +0200)]
mpegvideo: set extended_data in ff_update_duplicate_context()

AVFrame.extended_data has to reset to the AVFrame.data of the current
thread context after copying the frame contents.
Fixes crashes with frame-threading after 2bc0de38584.

6 years agolibspeexdec: properly handle DTX for multiple frames-per-packet
Justin Ruggles [Mon, 1 Oct 2012 03:11:43 +0000 (23:11 -0400)]
libspeexdec: properly handle DTX for multiple frames-per-packet

6 years agolibspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
Justin Ruggles [Mon, 1 Oct 2012 03:09:19 +0000 (23:09 -0400)]
libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used

6 years agolibspeexdec: simplify setting of frame_size
Justin Ruggles [Mon, 1 Oct 2012 02:45:55 +0000 (22:45 -0400)]
libspeexdec: simplify setting of frame_size

6 years agolibspeexdec: set channel_layout
Justin Ruggles [Mon, 1 Oct 2012 02:14:10 +0000 (22:14 -0400)]
libspeexdec: set channel_layout

6 years agolibspeexdec: If the channel count is not valid, decode as stereo.
Justin Ruggles [Mon, 1 Oct 2012 01:59:03 +0000 (21:59 -0400)]
libspeexdec: If the channel count is not valid, decode as stereo.

When initialized as stereo, libspeex can decode either mono or stereo packets
and will output stereo.

6 years agolibspeexdec: improve setting of Speex mode and sample rate
Justin Ruggles [Mon, 1 Oct 2012 01:45:24 +0000 (21:45 -0400)]
libspeexdec: improve setting of Speex mode and sample rate

If there is no extradata and the sample rate given by the user is not valid,
decode as ultra-wideband.

6 years agolibspeex: Add a private option for enabling VAD
Dmitry Samonenko [Sat, 29 Sep 2012 11:47:28 +0000 (15:47 +0400)]
libspeex: Add a private option for enabling VAD

Speex detects non-speech periods and encodes them with just enough bits
to reproduce the background noise, aka ``comfort noise generation''.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoxtea: Test inplace decryption
Michael Niedermayer [Sun, 30 Sep 2012 15:36:01 +0000 (17:36 +0200)]
xtea: Test inplace decryption

Based on test code by: Giorgio Vazzana <mywing81@gmail.com>

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoxtea: Fix CBC decryption when src==dst
Michael Niedermayer [Sun, 30 Sep 2012 15:46:37 +0000 (17:46 +0200)]
xtea: Fix CBC decryption when src==dst

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoxtea: Factorize testing into a separate function
Martin Storsjö [Wed, 3 Oct 2012 16:19:37 +0000 (19:19 +0300)]
xtea: Factorize testing into a separate function

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoconfigure: Refactor HAVE_ options available on the command line
Diego Biurrun [Wed, 5 Sep 2012 09:35:13 +0000 (11:35 +0200)]
configure: Refactor HAVE_ options available on the command line

6 years agoavconv/avprobe: Add missing 'void' to exit_program() definition
Diego Biurrun [Wed, 3 Oct 2012 14:20:41 +0000 (16:20 +0200)]
avconv/avprobe: Add missing 'void' to exit_program() definition

6 years agoAllow use of strncpy()
Mans Rullgard [Sun, 9 Sep 2012 13:07:20 +0000 (14:07 +0100)]
Allow use of strncpy()

There are cases where strncpy() does exactly what is required.
A blanket ban forces more convoluted solutions to be used in those
cases and has been a cause of bugs.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agoblowfish: Add more tests
Martin Storsjö [Mon, 1 Oct 2012 20:49:17 +0000 (23:49 +0300)]
blowfish: Add more tests

Test inplace ECB, normal CBC and inplace CBC encryption/decryption.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoblowfish: Fix CBC decryption with dst==src
Martin Storsjö [Mon, 1 Oct 2012 21:04:38 +0000 (00:04 +0300)]
blowfish: Fix CBC decryption with dst==src

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoblowfish: Factorize testing into a separate function
Martin Storsjö [Mon, 1 Oct 2012 20:38:50 +0000 (23:38 +0300)]
blowfish: Factorize testing into a separate function

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoARM: use numeric ID for Tag_ABI_align_preserved
Mans Rullgard [Tue, 2 Oct 2012 23:42:57 +0000 (00:42 +0100)]
ARM: use numeric ID for Tag_ABI_align_preserved

Some old assemblers still in use do not support named tags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agosegment: Pass the interrupt callback on to the chained AVFormatContext, too
Martin Storsjö [Sat, 25 Feb 2012 23:35:13 +0000 (01:35 +0200)]
segment: Pass the interrupt callback on to the chained AVFormatContext, too

This might not be needed at the moment, but it's good practice to
pass it to all chained AVFormatContexts, if it would happen to be
used there at a later point.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoARM: bswap: drop armcc version of av_bswap16()
Mans Rullgard [Tue, 2 Oct 2012 15:34:34 +0000 (16:34 +0100)]
ARM: bswap: drop armcc version of av_bswap16()

This function causes several versions of armcc to miscompile code,
and the performance impact is small.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agoARM: set Tag_ABI_align_preserved in all asm files
Mans Rullgard [Tue, 2 Oct 2012 15:00:48 +0000 (16:00 +0100)]
ARM: set Tag_ABI_align_preserved in all asm files

All our ARM asm preserves alignment so setting this attribute
in a common location is simpler.  This removes numerous warnings
when linking with armcc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agoARM: fix Thumb PIC on Apple
Mans Rullgard [Mon, 1 Oct 2012 23:32:24 +0000 (00:32 +0100)]
ARM: fix Thumb PIC on Apple

LDR with register offset and PC as base register is not available in
the Thumb instruction set so the addition must be done separately.

Signed-off-by: Mans Rullgard <mans@mansr.com>
6 years agonut: add do {} while (0) to GET_V
Luca Barbato [Tue, 2 Oct 2012 02:13:23 +0000 (04:13 +0200)]
nut: add do {} while (0) to GET_V

Make it consistent with the other function-like macros.

6 years agotiffenc: Check av_malloc() results.
Alex Converse [Wed, 19 Sep 2012 18:12:58 +0000 (11:12 -0700)]
tiffenc: Check av_malloc() results.

6 years agotiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
Alex Converse [Wed, 19 Sep 2012 18:10:26 +0000 (11:10 -0700)]
tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.

6 years agoUse atexit() instead of defining a custom exit_program() interface.
Diego Elio Pettenò [Wed, 5 Sep 2012 07:03:56 +0000 (07:03 +0000)]
Use atexit() instead of defining a custom exit_program() interface.

6 years agomsvc: Fix detection of VFW & Avisynth required libs
Derek Buitenhuis [Mon, 1 Oct 2012 18:39:30 +0000 (18:39 +0000)]
msvc: Fix detection of VFW & Avisynth required libs

It should be vfw32.lib with MSVC.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agoavformat: refactor avformat_write_header
Luca Barbato [Sun, 30 Sep 2012 22:49:18 +0000 (00:49 +0200)]
avformat: refactor avformat_write_header

Split away option settings, sanity checks and general setup.

6 years agoavformat: refactor avformat_write_header
Luca Barbato [Sun, 30 Sep 2012 22:49:17 +0000 (00:49 +0200)]
avformat: refactor avformat_write_header

Mostly cosmetic changes adding some intermediate to shorten the lines.

6 years agoavformat: split muxing functions from util.c
Luca Barbato [Sun, 30 Sep 2012 22:49:16 +0000 (00:49 +0200)]
avformat: split muxing functions from util.c

6 years agoadpcmdec: set AVCodec.sample_fmts
Justin Ruggles [Fri, 21 Sep 2012 14:33:56 +0000 (10:33 -0400)]
adpcmdec: set AVCodec.sample_fmts

6 years agotwinvq: use planar sample format
Justin Ruggles [Tue, 28 Aug 2012 19:29:40 +0000 (15:29 -0400)]
twinvq: use planar sample format

6 years agoralf: use planar sample format
Justin Ruggles [Tue, 28 Aug 2012 17:04:49 +0000 (13:04 -0400)]
ralf: use planar sample format

6 years agompc7/8: use planar sample format
Justin Ruggles [Tue, 28 Aug 2012 13:11:45 +0000 (09:11 -0400)]
mpc7/8: use planar sample format

6 years agoiac/imc: use planar sample format
Justin Ruggles [Mon, 27 Aug 2012 16:58:25 +0000 (12:58 -0400)]
iac/imc: use planar sample format

6 years agodcadec: use float planar sample format
Justin Ruggles [Mon, 27 Aug 2012 15:43:34 +0000 (11:43 -0400)]
dcadec: use float planar sample format

6 years agocook: use planar sample format
Justin Ruggles [Mon, 27 Aug 2012 14:38:36 +0000 (10:38 -0400)]
cook: use planar sample format

6 years agoatrac3: use float planar sample format
Justin Ruggles [Sun, 26 Aug 2012 16:48:07 +0000 (12:48 -0400)]
atrac3: use float planar sample format

6 years agoapedec: output in planar sample format
Justin Ruggles [Sat, 25 Aug 2012 23:23:55 +0000 (19:23 -0400)]
apedec: output in planar sample format

6 years ago8svx: use planar sample format
Justin Ruggles [Mon, 27 Aug 2012 16:01:16 +0000 (12:01 -0400)]
8svx: use planar sample format

6 years agoavconv: improve sample format negotiation for decoder request
Justin Ruggles [Sat, 25 Aug 2012 20:32:12 +0000 (16:32 -0400)]
avconv: improve sample format negotiation for decoder request

This takes into account planar vs. packed when comparing to find the closest
sample format match.

6 years agoOpus encoder using libopus
Nathan Caldwell [Sat, 29 Sep 2012 05:16:09 +0000 (23:16 -0600)]
Opus encoder using libopus

Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agompegts: Drop pointless casting of hex_dump_debug arguments
Diego Biurrun [Mon, 1 Oct 2012 10:47:49 +0000 (12:47 +0200)]
mpegts: Drop pointless casting of hex_dump_debug arguments

6 years agoavformat: const correctness for av_hex_dump / av_hex_dump_log
Diego Biurrun [Mon, 1 Oct 2012 10:48:23 +0000 (12:48 +0200)]
avformat: const correctness for av_hex_dump / av_hex_dump_log

6 years agowmadec: Adjust debug printf argument length modifier
Diego Biurrun [Mon, 1 Oct 2012 10:46:41 +0000 (12:46 +0200)]
wmadec: Adjust debug printf argument length modifier

6 years agoavcodec: Convert some commented-out printf/av_log instances to av_dlog
Diego Biurrun [Tue, 21 Aug 2012 10:41:40 +0000 (12:41 +0200)]
avcodec: Convert some commented-out printf/av_log instances to av_dlog

6 years agoavcodec: Drop silly and/or broken printf debug output
Diego Biurrun [Tue, 25 Sep 2012 16:28:44 +0000 (18:28 +0200)]
avcodec: Drop silly and/or broken printf debug output

6 years agoavcodec: Drop some silly commented-out av_log() invocations
Diego Biurrun [Tue, 25 Sep 2012 15:19:34 +0000 (17:19 +0200)]
avcodec: Drop some silly commented-out av_log() invocations

6 years agoavformat: Convert some commented-out printf/av_log instances to av_dlog
Diego Biurrun [Tue, 21 Aug 2012 10:40:41 +0000 (12:40 +0200)]
avformat: Convert some commented-out printf/av_log instances to av_dlog

6 years agoavformat: Remove non-compiling and/or silly commented-out printf/av_log statements
Diego Biurrun [Tue, 21 Aug 2012 10:27:40 +0000 (12:27 +0200)]
avformat: Remove non-compiling and/or silly commented-out printf/av_log statements

6 years agoRemove some silly disabled code.
Diego Biurrun [Mon, 20 Aug 2012 23:03:08 +0000 (01:03 +0200)]
Remove some silly disabled code.

6 years agoac3dec: ensure get_buffer() gets a buffer for the correct number of channels
Justin Ruggles [Sat, 29 Sep 2012 15:31:35 +0000 (11:31 -0400)]
ac3dec: ensure get_buffer() gets a buffer for the correct number of channels

If there is an error during frame parsing, but AVCodecContext.channels was
changed and AC3DecodeContext.out_channels was set previously, the two may not
match.

Fixes CVE-2012-2802
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoh264: avoid stuck buffer pointer in decode_nal_units
Jindřich Makovička [Sat, 29 Sep 2012 09:16:45 +0000 (11:16 +0200)]
h264: avoid stuck buffer pointer in decode_nal_units

When decode_nal_units() previously encountered a NAL_END_SEQUENCE,
and there are some junk bytes left in the input buffer, but no start codes,
buf_index gets stuck 3 bytes before the end of the buffer.

This can trigger an infinite loop in the caller code, eg. in
try_decode_trame(), as avcodec_decode_video() then keeps returning zeroes,
with 3 bytes of the input packet still available.

With this change, the remaining bytes are skipped so the whole packet gets
consumed.

CC:libav-stable@libav.org

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agompeg12: fix the semantics of the int* parameter of decode()
Anton Khirnov [Sat, 29 Sep 2012 11:50:44 +0000 (13:50 +0200)]
mpeg12: fix the semantics of the int* parameter of decode()

It is got_output, not data_size.

6 years agompeg12: move mpeg_decode_frame() lower
Anton Khirnov [Sat, 29 Sep 2012 11:45:09 +0000 (13:45 +0200)]
mpeg12: move mpeg_decode_frame() lower

Avoids a forward declaration of decode_chunks().

6 years agoavsdec: Set dimensions instead of relying on the demuxer.
Michael Niedermayer [Fri, 20 Apr 2012 15:42:18 +0000 (17:42 +0200)]
avsdec: Set dimensions instead of relying on the demuxer.

The decode function assumes that the video will have those dimensions.

Fixes CVE-2012-2801

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agowmalosslessdec: Reset put bit buffer when num_saved_bits is reset.
Michael Niedermayer [Sat, 14 Apr 2012 14:32:56 +0000 (16:32 +0200)]
wmalosslessdec: Reset put bit buffer when num_saved_bits is reset.

Fixes CVE-2012-2799

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agodfa: improve boundary checks in decode_dds1()
Anton Khirnov [Sat, 29 Sep 2012 11:25:28 +0000 (13:25 +0200)]
dfa: improve boundary checks in decode_dds1()

Fixes CVE-2012-2798

CC:libav-stable@libav.org

6 years agowmalosslessdec: Fix reading too many bits in decode_channel_residues()
Anton Khirnov [Sat, 29 Sep 2012 17:16:32 +0000 (19:16 +0200)]
wmalosslessdec: Fix reading too many bits in decode_channel_residues()

Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
6 years agowmalosslessdec: fix a get_bits(0) in decode_ac_filter
Michael Niedermayer [Sat, 14 Apr 2012 12:50:25 +0000 (14:50 +0200)]
wmalosslessdec: fix a get_bits(0) in decode_ac_filter

Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agowmalosslessdec: make MCLMS arrays big enough for what is written into them.
Michael Niedermayer [Sat, 14 Apr 2012 12:49:22 +0000 (14:49 +0200)]
wmalosslessdec: make MCLMS arrays big enough for what is written into them.

Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoindeo4/5: check empty tile size in decode_mb_info().
Anton Khirnov [Sat, 29 Sep 2012 09:07:58 +0000 (11:07 +0200)]
indeo4/5: check empty tile size in decode_mb_info().

This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes CVE-2012-2800

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
6 years agoivi_common: make ff_ivi_process_empty_tile() static.
Anton Khirnov [Sat, 29 Sep 2012 09:06:54 +0000 (11:06 +0200)]
ivi_common: make ff_ivi_process_empty_tile() static.

It's not used outside of ivi_common.c

6 years agoindeo5: check tile size in decode_mb_info().
Michael Niedermayer [Sun, 15 Apr 2012 12:11:50 +0000 (14:11 +0200)]
indeo5: check tile size in decode_mb_info().

This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Fixes CVE-2012-2794

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoindeo3: fix out of cell write.
Anton Khirnov [Sat, 29 Sep 2012 08:39:49 +0000 (10:39 +0200)]
indeo3: fix out of cell write.

Fixes CVE-2012-2776.

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
6 years agowmalosslessdec: increase channel_coeffs/residues size
Anton Khirnov [Sat, 29 Sep 2012 06:40:42 +0000 (08:40 +0200)]
wmalosslessdec: increase channel_coeffs/residues size

Fixes CVE-2012-2792

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
6 years agowmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14.
Anton Khirnov [Sat, 29 Sep 2012 06:37:08 +0000 (08:37 +0200)]
wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14.

6 years agolagarith: check count before writing zeros.
Michael Niedermayer [Sat, 14 Apr 2012 16:28:31 +0000 (18:28 +0200)]
lagarith: check count before writing zeros.

Fixes CVE-2012-2793

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agowmaprodec: check num_vec_coeffs for validity
Michael Niedermayer [Sat, 14 Apr 2012 09:07:11 +0000 (11:07 +0200)]
wmaprodec: check num_vec_coeffs for validity

Fixes CVE-2012-2789

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoavidec: use actually read size instead of requested size
Anton Khirnov [Fri, 28 Sep 2012 13:42:29 +0000 (15:42 +0200)]
avidec: use actually read size instead of requested size

Fixes CVE-2012-2788

6 years agoavidec: return 0, not packet size from read_packet().
Anton Khirnov [Fri, 28 Sep 2012 13:26:48 +0000 (15:26 +0200)]
avidec: return 0, not packet size from read_packet().

6 years agoindeo4: update AVCodecContext width/height on size change
Michael Niedermayer [Sat, 14 Apr 2012 18:04:05 +0000 (20:04 +0200)]
indeo4: update AVCodecContext width/height on size change

Fixes CVE-2012-2787

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agodfa: check that the caller set width/height properly.
Anton Khirnov [Fri, 28 Sep 2012 12:47:56 +0000 (14:47 +0200)]
dfa: check that the caller set width/height properly.

Fixes CVE-2012-2786.

6 years agoindeo5dec: Make sure we have had a valid gop header.
Michael Niedermayer [Sat, 24 Mar 2012 16:43:55 +0000 (17:43 +0100)]
indeo5dec: Make sure we have had a valid gop header.

This prevents decoding happening on a half initialized context.

Fixes CVE-2012-2779

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agocavsdec: check for changing w/h.
Michael Niedermayer [Sat, 24 Mar 2012 01:40:24 +0000 (02:40 +0100)]
cavsdec: check for changing w/h.

Our decoder does not support changing w/h.

Fixes CVE-2012-2777 and CVE-2012-2784.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolavc: set channel count from channel layout in avcodec_open2().
Anton Khirnov [Fri, 28 Sep 2012 18:46:20 +0000 (20:46 +0200)]
lavc: set channel count from channel layout in avcodec_open2().

Some decoders (e.g. nellymoser) only set channel_layout and do not set
channel count.

6 years agodoc/platform: Rework the Visual Studio linking section
Derek Buitenhuis [Fri, 28 Sep 2012 01:52:34 +0000 (01:52 +0000)]
doc/platform: Rework the Visual Studio linking section

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agodoc/faq: Change the Visual Studio entry to reflect current status
Derek Buitenhuis [Thu, 27 Sep 2012 19:02:28 +0000 (19:02 +0000)]
doc/faq: Change the Visual Studio entry to reflect current status

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agodoc/platform: Replace Visual Studio section with build instructions
Derek Buitenhuis [Thu, 27 Sep 2012 18:39:02 +0000 (18:39 +0000)]
doc/platform: Replace Visual Studio section with build instructions

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agodoc/platform: Nuke section on linking static MinGW-built libs with MSVC
Derek Buitenhuis [Thu, 27 Sep 2012 18:39:01 +0000 (18:39 +0000)]
doc/platform: Nuke section on linking static MinGW-built libs with MSVC

This practice is not supported by the MinGW developers, and even requires
patching the MinGW runtimes in newer versions. Furthermore, we now support
build with MSVC, so this section is rendered useless.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agodoc/platform: Remove false claim about MinGW installer
Derek Buitenhuis [Thu, 27 Sep 2012 18:39:00 +0000 (18:39 +0000)]
doc/platform: Remove false claim about MinGW installer

This works just fine, and has for quite a while, using the mingw-get
installer.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agodoc/platform: Mention MinGW-w64
Derek Buitenhuis [Thu, 27 Sep 2012 18:38:59 +0000 (18:38 +0000)]
doc/platform: Mention MinGW-w64

This is the toolchain most, including Libav's nightlies, use to build.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 years agodsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
Michael Niedermayer [Thu, 27 Sep 2012 14:06:54 +0000 (14:06 +0000)]
dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()

This should fix the utvideoenc valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
6 years agompegaudiodec: fix short_start calculation
Luca Barbato [Fri, 28 Sep 2012 12:38:13 +0000 (14:38 +0200)]
mpegaudiodec: fix short_start calculation

The value should be always 3, as it follows from the specification.

Fix a stack buffer overflow in exponents_from_scale_factors as reported
by asan. Thanks to Dale Curtis for the sample vector.

6 years agolibopus: Remap channels using libopus' internal remapping.
Nathan Caldwell [Thu, 27 Sep 2012 08:23:29 +0000 (02:23 -0600)]
libopus: Remap channels using libopus' internal remapping.

This way we can directly remap channels from Opus' channel order to
libav's internal channel order, instead of mapping channels from
Opus' order to Vorbis' order then to libav's order.

Signed-off-by: Diego Biurrun <diego@biurrun.de>