ffmpeg.git
8 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>
8 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>
8 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>
8 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
8 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>
8 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

8 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

8 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

8 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

8 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()

8 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

8 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

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

8 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

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

8 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>
8 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>
8 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>
8 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>
8 years agooggparsetheora: make it more robust
Luca Barbato [Wed, 19 Sep 2012 23:33:47 +0000 (01:33 +0200)]
oggparsetheora: make it more robust

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

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

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

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

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

8 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

8 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()

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

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

8 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)

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

8 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>
8 years agolibx264: add forgotten ;
Anton Khirnov [Fri, 21 Sep 2012 07:20:09 +0000 (09:20 +0200)]
libx264: add forgotten ;

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

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

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

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

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

8 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

8 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>
8 years agomov: support random access point grouping
Yusuke Nakamura [Mon, 23 Apr 2012 23:51:29 +0000 (08:51 +0900)]
mov: support random access point grouping

Frames described by this grouping are the starter of a closed or
an open GOP.
This is useful for open GOP of H.264 stream which is not described
by sync sample atom.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agomatroskadec: properly support BlockDuration
Luca Barbato [Mon, 17 Sep 2012 00:48:02 +0000 (02:48 +0200)]
matroskadec: properly support BlockDuration

8 years agomatroskadec: split frame parsing
Luca Barbato [Sun, 16 Sep 2012 23:28:13 +0000 (01:28 +0200)]
matroskadec: split frame parsing

8 years agomatroskadec: split laces parsing
Luca Barbato [Sun, 16 Sep 2012 23:58:32 +0000 (01:58 +0200)]
matroskadec: split laces parsing

8 years agomatroska: implement support for ProRes
Luca Barbato [Fri, 14 Sep 2012 22:59:05 +0000 (00:59 +0200)]
matroska: implement support for ProRes

Support Matroska native formatting.

On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.

8 years agomatroska: implement support for ALAC
Moritz Bunkus [Fri, 14 Sep 2012 20:26:14 +0000 (22:26 +0200)]
matroska: implement support for ALAC

Support Matroska native formatting.

On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.

On muxing remove the initial 12 bytes

Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agomatroskadec: validate lace_size when parsed
Luca Barbato [Fri, 14 Sep 2012 19:24:23 +0000 (21:24 +0200)]
matroskadec: validate lace_size when parsed

Stricter validation, explicitly exit on misparsing and some error
forwarding from the ebml parsing functions used.

8 years agomatroskadec: return meaningful errors in matroska_decode_buffer
Luca Barbato [Fri, 14 Sep 2012 18:03:37 +0000 (20:03 +0200)]
matroskadec: return meaningful errors in matroska_decode_buffer

8 years agomatroskadec: fix incorrect unsigned->signed conversion
Dale Curtis [Thu, 14 Jun 2012 22:22:25 +0000 (15:22 -0700)]
matroskadec: fix incorrect unsigned->signed conversion

8 years agomatroskadec: refactor matroska_decode_buffer
Luca Barbato [Fri, 14 Sep 2012 16:51:49 +0000 (18:51 +0200)]
matroskadec: refactor matroska_decode_buffer

Make MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP behave like
the other encodings and spare few lines of boilerplate code.

8 years agomatroskadec: check realloc in lzo encoding
Luca Barbato [Fri, 14 Sep 2012 16:39:58 +0000 (18:39 +0200)]
matroskadec: check realloc in lzo encoding

Make all the compression encodings behave the same way.

8 years agomatroska: honor error_recognition on unknown doctypes
Luca Barbato [Thu, 12 Jul 2012 11:38:50 +0000 (13:38 +0200)]
matroska: honor error_recognition on unknown doctypes

8 years agotiffdec: Add support for GRAY16LE.
Alex Converse [Wed, 19 Sep 2012 00:46:48 +0000 (17:46 -0700)]
tiffdec: Add support for GRAY16LE.

Tested with the GraphicsMagick TIFF archive and Libav generated files.

8 years agotiffenc: Add support for little endian RGB48 and GRAY16
Alex Converse [Tue, 18 Sep 2012 23:45:09 +0000 (16:45 -0700)]
tiffenc: Add support for little endian RGB48 and GRAY16

8 years agompeg4: support frame parameter changes with frame-mt
Janne Grunau [Tue, 18 Sep 2012 13:48:14 +0000 (15:48 +0200)]
mpeg4: support frame parameter changes with frame-mt

Adds a flag context_reinit to MpegEncContext to relieable keep track
of frame parameter changes which require a context reinitialization.
This is required for broken inputs which change the frame size but
error out before the context can be reinitialized.

8 years agompegvideo: check ff_find_unused_picture() return value for errors
Janne Grunau [Sat, 8 Sep 2012 13:56:52 +0000 (15:56 +0200)]
mpegvideo: check ff_find_unused_picture() return value for errors

8 years agompegvideo: release frame buffers before freeing them
Janne Grunau [Wed, 19 Sep 2012 17:39:52 +0000 (19:39 +0200)]
mpegvideo: release frame buffers before freeing them

Fixes triggering an assert in avcodec_default_release_buffer()
introduced in 1b3439b30.

8 years agoconfigure: msvc: default to 'lib' as 'ar' tool
Mans Rullgard [Mon, 17 Sep 2012 23:10:29 +0000 (00:10 +0100)]
configure: msvc: default to 'lib' as 'ar' tool

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agobuild: support some non-standard ar variants
Mans Rullgard [Mon, 17 Sep 2012 22:56:32 +0000 (23:56 +0100)]
build: support some non-standard ar variants

This adds support for the TI and Microsoft (lib.exe) variants of
the ar utility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agorv34: use ff_MPV_common_frame_size_change()
Janne Grunau [Wed, 5 Sep 2012 18:49:18 +0000 (20:49 +0200)]
rv34: use ff_MPV_common_frame_size_change()

Specialised functionality for size changes with the advantage of
supporting frame size changes during frame-based multithreading.

8 years agompegvideo: add reinit function for frame parameter changes
Janne Grunau [Wed, 5 Sep 2012 18:40:12 +0000 (20:40 +0200)]
mpegvideo: add reinit function for frame parameter changes

This is mainly required for frame parameter changes during frame based
multithreading but single threaded usage profits too from avoiding
ff_MPV_common_end()/ff_MPV_common_init() cycles.

8 years agompegvideo: move frame size dependent memory management to separate functions
Janne Grunau [Wed, 5 Sep 2012 14:34:05 +0000 (16:34 +0200)]
mpegvideo: move frame size dependent memory management to separate functions

This is a preparation for supporting frame size changes during
frame-based multithreading.

8 years agoconfigure: add --toolchain option
Mans Rullgard [Sun, 16 Sep 2012 21:06:53 +0000 (22:06 +0100)]
configure: add --toolchain option

This allows creating canned shorthands for common combinations
of cc, ld etc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: Make the smoothstreaming muxer enable the ismv muxer
Martin Storsjö [Tue, 18 Sep 2012 08:34:16 +0000 (11:34 +0300)]
configure: Make the smoothstreaming muxer enable the ismv muxer

This doesn't fix any build failure, but the smoothstreaming muxer
opens a chained ismv muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agosmoothstreaming: Export the mp4 codec tags
Martin Storsjö [Tue, 18 Sep 2012 08:31:44 +0000 (11:31 +0300)]
smoothstreaming: Export the mp4 codec tags

This fixes stream copy from a format that already has incompatible
codec tags set. The chained ismv muxer exports this same codec tag
list, so set it on this one as well, to allow the caller (and
lavf common code) to set them correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agomov: check for EOF in long lasting loops
Luca Barbato [Sun, 16 Sep 2012 18:32:12 +0000 (20:32 +0200)]
mov: check for EOF in long lasting loops

A quite widespread pattern in the demuxer is read a 32bit unsigned
integer and then loop till this value is reached.

Checking for EOF prevents pathological situations.

8 years agoavcodec: cleanup utils.c
Luca Barbato [Fri, 14 Sep 2012 17:18:17 +0000 (19:18 +0200)]
avcodec: cleanup utils.c

8 years agobinkaudio: remove unneeded GET_BITS_SAFE macro
Justin Ruggles [Mon, 17 Sep 2012 20:20:36 +0000 (16:20 -0400)]
binkaudio: remove unneeded GET_BITS_SAFE macro

Normal get_bits() already has overread protection.

8 years agobinkaudio: use float sample format
Justin Ruggles [Mon, 27 Aug 2012 00:41:45 +0000 (20:41 -0400)]
binkaudio: use float sample format

Use planar for DCT codec, interleaved for RDFT codec.

8 years agobinkaudio: use a different value for the coefficient scale for the DCT codec
Justin Ruggles [Mon, 17 Sep 2012 20:13:24 +0000 (16:13 -0400)]
binkaudio: use a different value for the coefficient scale for the DCT codec

Eliminates the need for vector_fmul_scalar() in each frame.

8 years agoflvenc: silence bogus warning
Benjamin Larsson [Mon, 17 Sep 2012 19:14:58 +0000 (21:14 +0200)]
flvenc: silence bogus warning

The compiler fails to figure out that enc->codec_type can only
have 3 different values.
Thus when an if/else is encountered it triggers on the possibility
of the else case has not initialized the flags variable.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agoconfigure: include flags in nm variable
Mans Rullgard [Sun, 16 Sep 2012 20:47:16 +0000 (21:47 +0100)]
configure: include flags in nm variable

This simplifies ensuring proper flags are used when the default
is overridden by the system or on the command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoalsdec: fix misplaced parentheses.
Clément Bœsch [Tue, 4 Sep 2012 18:30:14 +0000 (14:30 -0400)]
alsdec: fix misplaced parentheses.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalsdec: check return values.
Thilo Borgmann [Tue, 27 Mar 2012 16:06:54 +0000 (18:06 +0200)]
alsdec: check return values.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalsdec: fix number of decoded samples in first sub-block in BGMC mode.
Thilo Borgmann [Sun, 15 Apr 2012 16:07:12 +0000 (18:07 +0200)]
alsdec: fix number of decoded samples in first sub-block in BGMC mode.

Fixes CVE-2012-2790

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalsdec: Fix out of ltp_gain_values read.
Thilo Borgmann [Sun, 11 Mar 2012 15:56:23 +0000 (16:56 +0100)]
alsdec: Fix out of ltp_gain_values read.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalsdec: Check that quantized parcor coeffs are within range.
Michael Niedermayer [Wed, 29 Feb 2012 05:10:17 +0000 (06:10 +0100)]
alsdec: Check that quantized parcor coeffs are within range.

ALS spec:
11.6.3.1.1 Quantization and encoding of parcor coefficients
...
In all cases the resulting quantized values ak are restricted to the range [-64,63].

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalsdec: check opt_order.
Michael Niedermayer [Sat, 24 Mar 2012 00:39:13 +0000 (01:39 +0100)]
alsdec: check opt_order.

Fixes out of array write in quant_cof.
Also make sure no invalid opt_order stays in the context.

Fixes CVE-2012-2775

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalsdec: Check k used for rice decoder.
Michael Niedermayer [Sat, 7 Apr 2012 15:25:47 +0000 (17:25 +0200)]
alsdec: Check k used for rice decoder.

Values that fail this check will cause failure of decode_rice()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoavfiltergraph: silence an uninitialized variable warning
Anton Khirnov [Sat, 18 Aug 2012 14:51:32 +0000 (16:51 +0200)]
avfiltergraph: silence an uninitialized variable warning

The warning is:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:528:9: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
libavfilter/avfiltergraph.c:479:13: note: ‘best_idx’ was declared here

Initialize it to an invalid value and add an assert that it's properly
set later.

8 years agoxsubenc: reindent
Anton Khirnov [Sat, 18 Aug 2012 14:42:50 +0000 (16:42 +0200)]
xsubenc: reindent

8 years agolavc: replace AVCodecContext.encode with subtitle-specific callback
Anton Khirnov [Sat, 18 Aug 2012 14:41:24 +0000 (16:41 +0200)]
lavc: replace AVCodecContext.encode with subtitle-specific callback

AVCodecContext.encode is currently used only for subtitles, encode2 is
used for audio and video.

8 years agolavc: add const to private codec class initialization.
Anton Khirnov [Sat, 18 Aug 2012 14:21:00 +0000 (16:21 +0200)]
lavc: add const to private codec class initialization.

Silences a warning about discarding const.