platform/upstream/libav.git
12 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>
12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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

12 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
12 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>
12 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.

12 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().

12 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>
12 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>
12 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

12 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
12 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>
12 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>
12 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
12 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

12 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>
12 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
12 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
12 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.

12 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>
12 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>
12 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

12 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().

12 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>
12 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.

12 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>
12 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>
12 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.

12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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.

12 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>
12 years agoOpus decoder using libopus
Nicolas George [Fri, 28 Sep 2012 01:39:23 +0000 (19:39 -0600)]
Opus decoder using libopus

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agoavcodec: document the use of AVCodecContext.delay for audio decoding
Nathan Caldwell [Fri, 28 Sep 2012 04:41:24 +0000 (22:41 -0600)]
avcodec: document the use of AVCodecContext.delay for audio decoding

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agovc1dec: add flush function for WMV9 and VC-1 decoders
Kostya Shishkov [Thu, 27 Sep 2012 17:25:06 +0000 (19:25 +0200)]
vc1dec: add flush function for WMV9 and VC-1 decoders

CC: libav-stable@libav.org
12 years agohttp: Increase buffer sizes to cope with longer URIs
Duncan Salerno [Sat, 22 Sep 2012 20:17:36 +0000 (21:17 +0100)]
http: Increase buffer sizes to cope with longer URIs

Use the MAX_URL_SIZE define where applicable. Increase buffer
sizes for all buffers that need to fit a long pathname - buffers
that need to fit only the hostname (and other short strings, but
not the pathname - such as "headers" in http_connect) are kept
at 1024 bytes for now.

Also increase the max line length in http_read_header, since it
might need to contain a full url for Location: redirects.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agonutenc: const correctness for ff_put_v_trace/put_s_trace function arguments
Diego Biurrun [Thu, 27 Sep 2012 17:30:37 +0000 (19:30 +0200)]
nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments

12 years agoh264_refs: Fix debug tprintf argument types
Diego Biurrun [Tue, 25 Sep 2012 17:05:26 +0000 (19:05 +0200)]
h264_refs: Fix debug tprintf argument types

12 years agogolomb: const correctness for get_ue()/get_se() function arguments
Diego Biurrun [Tue, 25 Sep 2012 17:04:47 +0000 (19:04 +0200)]
golomb: const correctness for get_ue()/get_se() function arguments

12 years agoget_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments
Diego Biurrun [Tue, 25 Sep 2012 17:03:59 +0000 (19:03 +0200)]
get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments

12 years agodwt: Drop unused functions spatial_compose{53|97}i()
Diego Biurrun [Mon, 24 Sep 2012 15:07:22 +0000 (17:07 +0200)]
dwt: Drop unused functions spatial_compose{53|97}i()

12 years agonutdec: Remove unused and broken debug function stub
Diego Biurrun [Tue, 25 Sep 2012 17:01:10 +0000 (19:01 +0200)]
nutdec: Remove unused and broken debug function stub

12 years agoavcodec: Drop long-deprecated imgconvert.h header
Diego Biurrun [Mon, 24 Sep 2012 14:51:33 +0000 (16:51 +0200)]
avcodec: Drop long-deprecated imgconvert.h header

12 years agoAdd Opus support to the Ogg muxer.
Nathan Caldwell [Thu, 27 Sep 2012 08:21:56 +0000 (02:21 -0600)]
Add Opus support to the Ogg muxer.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agoAdd Opus codec id and codec description.
Andrew D'Addesio [Wed, 19 Sep 2012 01:02:14 +0000 (19:02 -0600)]
Add Opus codec id and codec description.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agoavformat: Identify anonymous AVIO typedef structs.
Dale Curtis [Thu, 27 Sep 2012 02:21:03 +0000 (19:21 -0700)]
avformat: Identify anonymous AVIO typedef structs.

Anonymous typedef structs prevent forward declaration, this
change gives the AVIOContext and AVIOInterruptCB structures
a name.  These structures are now in line with other common
structures such as AVFormatContext and AVCodecContext.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agonutdec: const correctness for get_v_trace/get_s_trace function arguments
Diego Biurrun [Tue, 25 Sep 2012 17:02:42 +0000 (19:02 +0200)]
nutdec: const correctness for get_v_trace/get_s_trace function arguments

12 years agotruemotion2: Request samples for old TM2 headers
Diego Biurrun [Wed, 26 Sep 2012 16:42:16 +0000 (18:42 +0200)]
truemotion2: Request samples for old TM2 headers

12 years agortpdec: Remove a useless ff_ prefix from a static symbol
Martin Storsjö [Sun, 23 Sep 2012 10:32:41 +0000 (13:32 +0300)]
rtpdec: Remove a useless ff_ prefix from a static symbol

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agortpdec: Support depacketizing speex
Dmitry Samonenko [Sat, 22 Sep 2012 10:39:03 +0000 (14:39 +0400)]
rtpdec: Support depacketizing speex

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agortpenc: Add support for packetizing speex
Dmitry Samonenko [Sat, 22 Sep 2012 10:32:37 +0000 (14:32 +0400)]
rtpenc: Add support for packetizing speex

This packetization scheme simply places the full packets into the
RTP packet without any extra header bytes.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agoxsub: feed init_get_bits the whole buffer
Alexandre Colucci [Mon, 2 May 2011 16:55:02 +0000 (18:55 +0200)]
xsub: feed init_get_bits the whole buffer

Do not use rlelen field for buffer size in init_get_bits, it is
only the size of the data for the first field.
Since it is not reliable, just use the size of the whole buffer.

Additional comments add removal of unused rlelen variable by
Reimar Döffinger.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years agolibfdk-aac: Allow setting VBR modes via a private option
Martin Storsjö [Tue, 25 Sep 2012 05:37:21 +0000 (08:37 +0300)]
libfdk-aac: Allow setting VBR modes via a private option

This avoids using the global_quality field and QSCALE flag for
passing the VBR modes, since the value range of the global_quality
field doesn't really map cleanly to this codec's VBR modes.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agolibfdk-aac: Warn the user that the VBR modes are unsupported
Martin Storsjö [Tue, 25 Sep 2012 05:31:44 +0000 (08:31 +0300)]
libfdk-aac: Warn the user that the VBR modes are unsupported

These modes were not originally exposed by the library at all.
In practice, only a few of them work for each sample rate/profile
combination, and they don't work at all for the more uncommon
sample rates.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agoRevert "cbrt_tablegen: Include libm.h"
Derek Buitenhuis [Tue, 25 Sep 2012 16:54:26 +0000 (12:54 -0400)]
Revert "cbrt_tablegen: Include libm.h"

This code runs on the host and should not use libm.h, which is meant
for the target.

This reverts commit 2768b717987d4e19d2774890d7d84aef531b1d9f.

12 years agopthread: make sure AVFrame.extended_data is set properly.
Anton Khirnov [Tue, 25 Sep 2012 06:08:28 +0000 (08:08 +0200)]
pthread: make sure AVFrame.extended_data is set properly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years agolibfdk-aac: reindent after last commit
Nathan Caldwell [Mon, 24 Sep 2012 23:03:22 +0000 (17:03 -0600)]
libfdk-aac: reindent after last commit

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agolibfdk-aac: Limit to supported sample rates.
Nathan Caldwell [Mon, 24 Sep 2012 23:02:44 +0000 (17:02 -0600)]
libfdk-aac: Limit to supported sample rates.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agocbrt_tablegen: Include libm.h
Derek Buitenhuis [Mon, 24 Sep 2012 23:22:15 +0000 (23:22 +0000)]
cbrt_tablegen: Include libm.h

Needed for cbrtf fallback on systems which lack it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
12 years agooggparsetheora: make it more robust
Luca Barbato [Wed, 19 Sep 2012 23:33:47 +0000 (01:33 +0200)]
oggparsetheora: make it more robust

12 years agoogg: prevent NULL pointer deference in theora gptopts
Michael Niedermayer [Fri, 23 Mar 2012 02:43:30 +0000 (03:43 +0100)]
ogg: prevent NULL pointer deference in theora gptopts

Additional safety in case a special ogg stream is crafted
with the proper number of

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years agoogg: calculate the start position once all the headers are parsed
Luca Barbato [Wed, 19 Sep 2012 23:07:09 +0000 (01:07 +0200)]
ogg: calculate the start position once all the headers are parsed

The fisbone packets can be muxed in any order as long the last one
comes before the first data packet.

12 years agoogg: check that the expected number of headers had been parsed
Luca Barbato [Wed, 19 Sep 2012 23:01:43 +0000 (01:01 +0200)]
ogg: check that the expected number of headers had been parsed

Not having the header for a codec is a tell-tale of a broken file.

12 years agolibx264: change default to closed gop to match x264cli
John Van Sickle [Sat, 22 Sep 2012 18:41:16 +0000 (14:41 -0400)]
libx264: change default to closed gop to match x264cli

open-gop can be enabled with "-flags -cgop"

Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years agoUse avcodec_free_frame() to free AVFrames.
Anton Khirnov [Fri, 21 Sep 2012 07:10:23 +0000 (09:10 +0200)]
Use avcodec_free_frame() to free AVFrames.

12 years agolavf: use a malloced AVFrame in try_decode_frame().
Anton Khirnov [Fri, 21 Sep 2012 07:09:01 +0000 (09:09 +0200)]
lavf: use a malloced AVFrame in try_decode_frame().

This allows using avcodec_free_frame() to free it properly.

12 years agolavc: add avcodec_free_frame().
Anton Khirnov [Fri, 21 Sep 2012 07:07:02 +0000 (09:07 +0200)]
lavc: add avcodec_free_frame().

Since an AVFrame now has malloced members (extended_data), it must have
a destructor.

12 years agolavc: ensure extended_data is set properly on decoding
Anton Khirnov [Fri, 21 Sep 2012 07:04:12 +0000 (09:04 +0200)]
lavc: ensure extended_data is set properly on decoding

12 years agolavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
Anton Khirnov [Fri, 21 Sep 2012 06:30:42 +0000 (08:30 +0200)]
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()

12 years agolavc: use av_mallocz to allocate AVFrames.
Anton Khirnov [Mon, 24 Sep 2012 05:17:13 +0000 (07:17 +0200)]
lavc: use av_mallocz to allocate AVFrames.

Otherwise the frame is uninitialized, so avcodec_get_frame_defaults()
cannot determine whether to free extended_data.

12 years agolavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
Anton Khirnov [Fri, 21 Sep 2012 06:28:49 +0000 (08:28 +0200)]
lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults

AVFrame is used for both audio and video, so calling the argument 'pic'
is misleading.

12 years agortp: Packetization of JPEG (RFC 2435)
Samuel Pitoiset [Sun, 23 Sep 2012 14:17:41 +0000 (16:17 +0200)]
rtp: Packetization of JPEG (RFC 2435)

12 years agosmoothstreamingenc: Copy the SAR on the AVStreams as well
Martin Storsjö [Sat, 22 Sep 2012 21:18:23 +0000 (00:18 +0300)]
smoothstreamingenc: Copy the SAR on the AVStreams as well

This is required in chained muxers, if the SAR happens to be set.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agoavcodec: fix memleak in avcodec_encode_audio2()
Justin Ruggles [Thu, 23 Aug 2012 17:47:25 +0000 (13:47 -0400)]
avcodec: fix memleak in avcodec_encode_audio2()

Ensure that padded_frame is freed before returning when needed.

12 years agosipr: fall back to setting mode based on bit_rate.
Reimar Döffinger [Thu, 5 Jan 2012 20:01:56 +0000 (21:01 +0100)]
sipr: fall back to setting mode based on bit_rate.

Not all applications (e.g. MPlayer) set block_align, and
when using a different demuxer it might not even be
easily available.
So fall back to selecting mode based on bit rate as before
if block_align has not useful value.
It can't be worse than failing to decode completely.

(cherry picked from commit 1d0d63052b82c76e10c45cd38cdd27677de72e81)

CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
12 years agolibx264: add forgotten ;
Anton Khirnov [Fri, 21 Sep 2012 07:20:09 +0000 (09:20 +0200)]
libx264: add forgotten ;

12 years agomatroskadec: fix a sanity check.
Anton Khirnov [Thu, 20 Sep 2012 18:04:56 +0000 (20:04 +0200)]
matroskadec: fix a sanity check.

12 years agomatroskadec: only return corrupt packets that actually contain data
Anton Khirnov [Thu, 20 Sep 2012 18:01:43 +0000 (20:01 +0200)]
matroskadec: only return corrupt packets that actually contain data

Fixes bug 372.

12 years agolavf: zero data/size of the packet passed to read_packet().
Anton Khirnov [Thu, 20 Sep 2012 18:00:39 +0000 (20:00 +0200)]
lavf: zero data/size of the packet passed to read_packet().

12 years agoARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
Mans Rullgard [Thu, 20 Sep 2012 21:55:11 +0000 (22:55 +0100)]
ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code

The Apple assembler refuses to assemble the 3-operand form
in Thumb2 even though it is valid syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years agoARM: align PIC offset pools to 4 bytes
Mans Rullgard [Thu, 20 Sep 2012 21:53:41 +0000 (22:53 +0100)]
ARM: align PIC offset pools to 4 bytes

When building Thumb2 code, the end of a function, where the PIC
offsets are placed, need not be aligned.  Although the values
are only accessed with instructions allowing unaligned addresses,
keeping them aligned is preferable.

Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years agoARM: swap source operands in some add instructions
Mans Rullgard [Thu, 2 Aug 2012 18:17:16 +0000 (19:17 +0100)]
ARM: swap source operands in some add instructions

This allows using a 16-bit opcode when generating Thumb2 code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years agoconfigure: update tms470 detection for latest version
Mans Rullgard [Sat, 15 Sep 2012 14:36:22 +0000 (15:36 +0100)]
configure: update tms470 detection for latest version

v5.0 of the TI ARM compiler changes the version string.
This updates the detection to check for both the old and
the new strings.

Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years agolavf probe: prevent codec probe with no data at all seen
Janne Grunau [Fri, 7 Sep 2012 14:27:21 +0000 (16:27 +0200)]
lavf probe: prevent codec probe with no data at all seen

This occurs with fuzzed mpeg-ts files. set_codec_from_probe_data() is
called with a zeroed AVProbeData since no packet made through for
specific stream.

12 years agomotion_est: fix use of inline on extern functions
Mans Rullgard [Wed, 19 Sep 2012 21:30:06 +0000 (22:30 +0100)]
motion_est: fix use of inline on extern functions

Inline functions declared without extern do not provide an external
definition in standard C99.  This code only works because most
compilers do not implement the inline semantics correctly.  With a
stricter compiler, linking fails with unresolved references to these
functions.

Declaring the functions extern inline works correctly with some
compilers while some others still fail to create external definitions.

For maximum portability, create a static inline version with an
externally visible wrapper for ff_get_mb_score.  ff_epzs_motion_search
is so large that no sane compiler inlines it anyway, so there the
inline keyword can simply be dropped with no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years agomp3dec: read Xing frame TOC index
Anton Khirnov [Sun, 2 Sep 2012 13:36:18 +0000 (15:36 +0200)]
mp3dec: read Xing frame TOC index

12 years agomp3dec: use named constants for Xing header flags
Anton Khirnov [Sat, 1 Sep 2012 22:30:41 +0000 (00:30 +0200)]
mp3dec: use named constants for Xing header flags

12 years agolibx264: add support for nal-hrd, required for Blu-ray streams.
John Van Sickle [Wed, 19 Sep 2012 17:51:29 +0000 (13:51 -0400)]
libx264: add support for nal-hrd, required for Blu-ray streams.

Signed-off-by: Anton Khirnov <anton@khirnov.net>