ffmpeg.git
7 years agoavformat: remove a workaround for broken timestamps
Justin Ruggles [Thu, 26 Apr 2012 14:59:05 +0000 (10:59 -0400)]
avformat: remove a workaround for broken timestamps

This modifies pts in situations other than what was intended, leading to
invalid timestamps.

Reverts commit 90bb394dccacd10607153833a0aeba0d970dc8db

7 years agompeg12: fixed parsing in some mpeg2 streams
Hendrik Leppkes [Sun, 29 Apr 2012 16:33:40 +0000 (16:33 +0000)]
mpeg12: fixed parsing in some mpeg2 streams

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agoAdd SMPTE240M transfer characteristics flag.
Hendrik Leppkes [Sun, 29 Apr 2012 16:33:34 +0000 (16:33 +0000)]
Add SMPTE240M transfer characteristics flag.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agompegts: Some additional HDMV types and reg descriptors for mpegts
Joakim Plate [Sun, 29 Apr 2012 16:33:32 +0000 (16:33 +0000)]
mpegts: Some additional HDMV types and reg descriptors for mpegts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agomotionpixels: Clip YUV values after applying a gradient.
Alex Converse [Wed, 2 May 2012 19:08:03 +0000 (12:08 -0700)]
motionpixels: Clip YUV values after applying a gradient.

Prevents illegal reads on truncated and malformed input.

CC: libav-stable@libav.org
7 years agojpeg: handle progressive in second field of interlaced.
Ronald S. Bultje [Wed, 14 Mar 2012 00:18:41 +0000 (17:18 -0700)]
jpeg: handle progressive in second field of interlaced.

Progressive data is allocated later in decode_sof(), not allocating
that data leads to NULL dereferences.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
7 years agoituh263dec: Implement enough of Annex O (scalability) to fix a FPE.
Michael Niedermayer [Thu, 29 Mar 2012 23:54:28 +0000 (16:54 -0700)]
ituh263dec: Implement enough of Annex O (scalability) to fix a FPE.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agoh263: more strictly forbid frame size changes with frame-mt.
Ronald S. Bultje [Thu, 29 Mar 2012 19:24:10 +0000 (12:24 -0700)]
h263: more strictly forbid frame size changes with frame-mt.

Prevents crashes because the old check was incomplete.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
7 years agoh264: additional protection against unsupported size/bitdepth changes.
Ronald S. Bultje [Thu, 29 Mar 2012 23:37:09 +0000 (16:37 -0700)]
h264: additional protection against unsupported size/bitdepth changes.

Fixes crashes in codepaths not covered by original checks.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
7 years agotta: prevents overflows for 32bit integers in header.
Ronald S. Bultje [Thu, 29 Mar 2012 19:44:55 +0000 (12:44 -0700)]
tta: prevents overflows for 32bit integers in header.

This prevents sample_rate/data_length from going negative, which
caused various crashes and undefined behaviour further down.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
7 years agoconfigure: remove malloc_aligned.
Ronald S. Bultje [Sun, 29 Apr 2012 17:40:37 +0000 (10:40 -0700)]
configure: remove malloc_aligned.

It was to signal that allocations are 16-byte aligned, but AVX requires
32-byte alignment, thus the check is no longer useful (and causes
crashes).

7 years agovp8: update frame size changes on thread context switches.
Ronald S. Bultje [Tue, 1 May 2012 16:59:04 +0000 (09:59 -0700)]
vp8: update frame size changes on thread context switches.

This properly synchronizes frame size changes between threads if
subsequent threads abort decoding before frame size is initialized, i.e.
it prevents the thread after that from ping-ponging back to the original
value.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
7 years agosnowdsp: explicitily state instruction size.
Ronald S. Bultje [Wed, 2 May 2012 16:55:46 +0000 (09:55 -0700)]
snowdsp: explicitily state instruction size.

Fixes a compile error with clang at -O0.

7 years agowmall: fix reconstructing audio with uncoded channels
Kostya Shishkov [Tue, 1 May 2012 14:09:51 +0000 (16:09 +0200)]
wmall: fix reconstructing audio with uncoded channels

7 years agoWMAL cosmetics: fix indentation
Mashiat Sarker Shakkhar [Wed, 2 May 2012 15:43:36 +0000 (08:43 -0700)]
WMAL cosmetics: fix indentation

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
7 years agogitignore: add Win32 library suffixes
Joakim Plate [Sun, 29 Apr 2012 16:33:28 +0000 (16:33 +0000)]
gitignore: add Win32 library suffixes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agoarm: intreadwrite: disable inline asm for gcc 4.7 and later
Mans Rullgard [Wed, 2 May 2012 14:09:54 +0000 (15:09 +0100)]
arm: intreadwrite: disable inline asm for gcc 4.7 and later

Starting with version 4.7, gcc properly supports unaligned
memory accesses on ARM.  Not using the inline asm with these
compilers results in better code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoarm: intreadwrite: fix inline asm constraints for gcc 4.6 and later
Mans Rullgard [Wed, 2 May 2012 11:46:22 +0000 (12:46 +0100)]
arm: intreadwrite: fix inline asm constraints for gcc 4.6 and later

With a dereferenced type-cast pointer as memory operand, gcc 4.6
and later will sometimes copy the data to a temporary location,
the address of which is used as the operand value, if it thinks
the target address might be misaligned.  Using a pointer to a
packed struct type instead does the right thing.

The 16-bit case is special since the ldrh instruction addressing
modes are limited compared to ldr.  The "Uq" constraint produces a
memory reference suitable for an ldrsb instruction, which supports
the same addressing modes as ldrh.  However, the restrictions appear
to apply only when the operand addresses a single byte.  The memory
reference must thus be split into two operands each targeting one
byte.  Finally, the "Uq" constraint is only available in ARM mode.
The Thumb-2 ldrh instruction supports most addressing modes so the
normal "m" constraint can be used there.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoindeo3: fix motion vector validation
Hendrik Leppkes [Sun, 29 Apr 2012 16:33:41 +0000 (16:33 +0000)]
indeo3: fix motion vector validation

The index of the motion vector has to be checked before being
multiplied by 2 for the array index.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agopcm_bluray: set bits_per_raw_sample for > 16-bit
Hendrik Leppkes [Sun, 29 Apr 2012 17:21:55 +0000 (17:21 +0000)]
pcm_bluray: set bits_per_raw_sample for > 16-bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agotwinvq: fix out of bounds array access
Mans Rullgard [Tue, 1 May 2012 17:27:19 +0000 (18:27 +0100)]
twinvq: fix out of bounds array access

ModeTab.fmode has only 3 elements, so indexing it with ftype
in the initialier for 'size' is invalid when ftype == FT_PPC.

This fixes crashes with gcc 4.8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agolavr: use 8.8 instead of 10.6 as the 16-bit fixed-point mixing coeff type
Justin Ruggles [Thu, 26 Apr 2012 20:02:37 +0000 (16:02 -0400)]
lavr: use 8.8 instead of 10.6 as the 16-bit fixed-point mixing coeff type

7 years agoavplay: use libavresample for sample format conversion and channel mixing
Justin Ruggles [Wed, 25 Apr 2012 20:46:22 +0000 (16:46 -0400)]
avplay: use libavresample for sample format conversion and channel mixing

SDL only supports s16 sample format and a limited number of channel layouts.
Some versions of SDL on some systems support 4-channel and 6-channel output,
but it's safer overall to downmix any layout with more than 2 channels to
stereo.

7 years agoFix compilation with YASM/NASM without AVX support.
Reimar Döffinger [Sat, 28 Apr 2012 10:51:06 +0000 (12:51 +0200)]
Fix compilation with YASM/NASM without AVX support.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
7 years agoWMAL: do not output last frame again if nothing was decoded in current packet
Jakub Stachowski [Sat, 28 Apr 2012 18:24:19 +0000 (11:24 -0700)]
WMAL: do not output last frame again if nothing was decoded in current packet

Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
7 years agoWMAL: do not start decoding if frame does not end in current packet
Mashiat Sarker Shakkhar [Mon, 30 Apr 2012 15:56:35 +0000 (08:56 -0700)]
WMAL: do not start decoding if frame does not end in current packet

This fixes decoding of frames which span more than two packets. Tested with
recit24.wma.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
7 years agoadpcm-thp: fix invalid array indexing
Mans Rullgard [Sun, 29 Apr 2012 00:17:37 +0000 (01:17 +0100)]
adpcm-thp: fix invalid array indexing

Indexing outside array limits is invalid and breaks with gcc 4.8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoppc: add const where needed in scalarproduct_int16_altivec()
Mans Rullgard [Fri, 27 Apr 2012 09:43:08 +0000 (10:43 +0100)]
ppc: add const where needed in scalarproduct_int16_altivec()

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoppc: remove shift parameter from scalarproduct_int16_altivec()
Mans Rullgard [Fri, 27 Apr 2012 09:39:58 +0000 (10:39 +0100)]
ppc: remove shift parameter from scalarproduct_int16_altivec()

The shift parameter was removed from this interface in 7e1ce6a.
This updates the Altivec implementation to match.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoppc: dsputil: do unaligned block accesses correctly
Mans Rullgard [Fri, 27 Apr 2012 01:46:14 +0000 (02:46 +0100)]
ppc: dsputil: do unaligned block accesses correctly

To load unaligned vector data in the usual way, explicit vec_ld()
should be used rather than dereferencing a pointer to a vector type.
When the VSX extension is enabled, gcc may compile vector pointer
dereferences using the VSX lxvw4x instruction instead of the lvx
instruction typically used with Altivec/VMX.  As the behaviour of
these instructions with unaligned addresses differs, it is important
that only lvx is used here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agodvenc: do not call dsputil functions with stride not a multiple of 16
Mans Rullgard [Fri, 27 Apr 2012 01:25:42 +0000 (02:25 +0100)]
dvenc: do not call dsputil functions with stride not a multiple of 16

Allowing dsputil functions to assume the stride is a multiple of 16
even for smaller block sizes can simplify their implementation.
This appears to be the only place this guarantee is not met.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoAPIchanges: fill in some dates and commit hashes
Justin Ruggles [Thu, 26 Apr 2012 20:43:01 +0000 (16:43 -0400)]
APIchanges: fill in some dates and commit hashes

7 years agomkv: mark corrupted packets and return them
Luca Barbato [Mon, 30 Apr 2012 00:55:51 +0000 (17:55 -0700)]
mkv: mark corrupted packets and return them

Do return error if memory allocation or I/O fails.

7 years agomkv: forward EMBL block data error
Luca Barbato [Mon, 30 Apr 2012 00:39:31 +0000 (17:39 -0700)]
mkv: forward EMBL block data error

Do not return 0 on error.

7 years agoavcodec: introduce YCoCg colorspace
Hendrik Leppkes [Sun, 29 Apr 2012 20:35:51 +0000 (13:35 -0700)]
avcodec: introduce YCoCg colorspace

Non perceptual color model that aims to have an increase effectiveness
in compression like the normal YCbCr while having near-lossless/lossless
mapping to RGB.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoavcodec: cosmetic cleanup on header
Luca Barbato [Sun, 29 Apr 2012 20:28:41 +0000 (13:28 -0700)]
avcodec: cosmetic cleanup on header

Apply coding style to the structs.

7 years agoaac sbr: align struct member by 32 byte.
Ronald S. Bultje [Sun, 29 Apr 2012 16:41:23 +0000 (16:41 +0000)]
aac sbr: align struct member by 32 byte.

Required because it's used in a call to imdct_half(), which is an AVX
function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years ago4xm: fix invalid array indexing
Mans Rullgard [Sat, 28 Apr 2012 12:05:18 +0000 (13:05 +0100)]
4xm: fix invalid array indexing

Indexing outside arrays is invalid and breaks with gcc 4.8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agorv34dsp: factorize a multiplication in the noround inverse transform
Christophe GISQUET [Tue, 17 Apr 2012 18:44:43 +0000 (18:44 +0000)]
rv34dsp: factorize a multiplication in the noround inverse transform

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agorv40: perform bitwise checks in loop filter
Christophe Gisquet [Tue, 17 Apr 2012 18:44:51 +0000 (18:44 +0000)]
rv40: perform bitwise checks in loop filter

Down from 95 kcycles to 93 (including all called functions).

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agorv34: remove inline keyword from rv34_decode_block().
Ronald S. Bultje [Sat, 28 Apr 2012 18:10:57 +0000 (11:10 -0700)]
rv34: remove inline keyword from rv34_decode_block().

Force-inlining increases object size by 8kB and causes a 2% slowdown.

7 years agorv40: change a logical test into a bitwise one.
Christophe Gisquet [Tue, 17 Apr 2012 18:44:50 +0000 (18:44 +0000)]
rv40: change a logical test into a bitwise one.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agorv34: remove constant parameter
Christophe Gisquet [Wed, 4 Apr 2012 08:22:28 +0000 (10:22 +0200)]
rv34: remove constant parameter

is_block2 was always 0, so just remove it, and change accordingly the code.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agorv40: don't always do the full prev_type search
Christophe Gisquet [Tue, 17 Apr 2012 18:44:48 +0000 (18:44 +0000)]
rv40: don't always do the full prev_type search

120->100 cycles.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agodsputil x86: revert a test back to its previous value
Christophe GISQUET [Wed, 28 Mar 2012 21:22:22 +0000 (23:22 +0200)]
dsputil x86: revert a test back to its previous value

Commit 356ee8d caused the initial inversion.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agorv34dsp x86: implement MMX2 inverse transform
Christophe Gisquet [Thu, 29 Mar 2012 20:37:41 +0000 (22:37 +0200)]
rv34dsp x86: implement MMX2 inverse transform

141 cycles down to 51.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agoh264: new assembly version of get_cabac for x86_64 with PIC
Roland Scheidegger [Fri, 27 Apr 2012 20:19:39 +0000 (22:19 +0200)]
h264: new assembly version of get_cabac for x86_64 with PIC

This adds a hand-optimized assembly version for get_cabac much like the
existing one, but it works if the table offsets are RIP-relative.
Compared to the non-RIP-relative version this adds 2 lea instructions
and it needs one extra register. get_cabac() gets about 40% faster, for
an overall speedup of about 5%.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agoh264: use one table instead of several for cabac functions
Roland Scheidegger [Fri, 27 Apr 2012 20:19:38 +0000 (22:19 +0200)]
h264: use one table instead of several for cabac functions

The reason is this is easier for PIC code (in particular on darwin...).
Keep the old names as pointers (static in cabac_functions.h so gcc
knows these are just immediate offsets) so the c code can nicely stay the same
(alternatively could use offsets directly in the functions needing the
tables). This should produce the same code as before with non-pic and better
code (confirmed) with pic.

The assembly uses the new table but still won't work for PIC case.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agoh264: (trivial) remove unneeded macro argument in x86/cabac.h
Roland Scheidegger [Fri, 27 Apr 2012 20:19:37 +0000 (22:19 +0200)]
h264: (trivial) remove unneeded macro argument in x86/cabac.h

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
7 years agolibschroedingerdec: check malloc
Jordi Ortiz [Thu, 26 Apr 2012 19:14:07 +0000 (21:14 +0200)]
libschroedingerdec: check malloc

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agosegment: reorder seg_write_header allocation
Luca Barbato [Fri, 27 Apr 2012 18:09:30 +0000 (11:09 -0700)]
segment: reorder seg_write_header allocation

As pointed by Paul B Mahol <onemda@gmail.com> the previous code could
lead to null pointer dereference.

7 years agoavio: make avio_close(NULL) a no-op
Luca Barbato [Fri, 27 Apr 2012 17:53:04 +0000 (10:53 -0700)]
avio: make avio_close(NULL) a no-op

Its behaviour in line with ffurl_close(NULL).

7 years agomov: Parse EC3SpecificBox (dec3 atom).
Yusuke Nakamura [Mon, 30 May 2011 23:17:13 +0000 (08:17 +0900)]
mov: Parse EC3SpecificBox (dec3 atom).

Skip to parse fields for additional independent substreams and its
associated dependent substreams since libavcodec's E-AC-3 decoder does not
support them yet.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
7 years agompegts: Make sure we don't return uninitialized packets
Martin Storsjö [Sat, 21 Apr 2012 17:44:24 +0000 (20:44 +0300)]
mpegts: Make sure we don't return uninitialized packets

This fixes crashes, where the demuxer could return 0 even
if the returned AVPacket isn't initialized at all. This
could happen if running into EOF or running out of probesize
with non-seekable sources.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agogitignore: replace library catch-all pattern by more specific patterns
Diego Biurrun [Thu, 26 Apr 2012 12:54:39 +0000 (14:54 +0200)]
gitignore: replace library catch-all pattern by more specific patterns

Ignoring all files that start with the name of a library matches some
files that are not generated.  So replace libfoo/libfoo* with patterns
for static and shared libraries, pkg-config and version files.

7 years agodsputil: fix invalid array indexing
Mans Rullgard [Thu, 26 Apr 2012 13:00:43 +0000 (14:00 +0100)]
dsputil: fix invalid array indexing

Indexing outside an array is invalid and causes errors with
gcc 4.8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoconfigure: add libavresample to rpath
Sean McGovern [Thu, 26 Apr 2012 05:11:52 +0000 (06:11 +0100)]
configure: add libavresample to rpath

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agobuild: icc: silence some warnings
Mans Rullgard [Wed, 25 Apr 2012 20:15:39 +0000 (21:15 +0100)]
build: icc: silence some warnings

This disables the warning "external declaration in primary source file"
which is issued when a prototype for an extern function is found in a
.c file rather than a header file.  We have such prototypes for asm
functions where a separate header file would be pointless.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agofft-test: add option to set cpuflag mask
Mans Rullgard [Wed, 25 Apr 2012 19:49:01 +0000 (20:49 +0100)]
fft-test: add option to set cpuflag mask

This can be useful for testing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agocpu: recognise only cpu flag names pertinent to the architecture
Mans Rullgard [Wed, 25 Apr 2012 17:11:33 +0000 (18:11 +0100)]
cpu: recognise only cpu flag names pertinent to the architecture

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoavutil: add av_parse_cpu_flags() function
Mans Rullgard [Wed, 25 Apr 2012 17:06:51 +0000 (18:06 +0100)]
avutil: add av_parse_cpu_flags() function

This moves the cpu flag parsing code from avconv to avutil so
it can be accessed elsewhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agovp8: armv6: fix non-armv6t2 build
Mans Rullgard [Wed, 25 Apr 2012 22:09:31 +0000 (23:09 +0100)]
vp8: armv6: fix non-armv6t2 build

The assembler may fail to place literal pools close enough to
instructions referencing them.  An explicit .ltorg directive
fixes this.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agovp8: armv6 optimisations
Mans Rullgard [Tue, 24 Apr 2012 00:57:33 +0000 (01:57 +0100)]
vp8: armv6 optimisations

Based on patch by Ronald S. Bultje <rsbultje@gmail.com>,
partially ported from libvpx.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agovp8: arm: separate ARMv6 functions from NEON
Mans Rullgard [Sun, 22 Apr 2012 14:14:12 +0000 (15:14 +0100)]
vp8: arm: separate ARMv6 functions from NEON

This is a preparation for complete ARMv6 optimisations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoARM: add some compatibility macros
Mans Rullgard [Tue, 20 Mar 2012 17:04:54 +0000 (17:04 +0000)]
ARM: add some compatibility macros

This adds some macros simplifying Thumb and pre-v6T2 compatibility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agomov: support eac3 audio
Hendrik Leppkes [Tue, 3 May 2011 15:22:13 +0000 (17:22 +0200)]
mov: support eac3 audio

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agoavf: fix faulty check in has_duration
Luca Barbato [Wed, 25 Apr 2012 05:13:02 +0000 (22:13 -0700)]
avf: fix faulty check in has_duration

An invalid duration is AV_NOPTS_VALUE not 0.

7 years agoFATE: use updated reference for aac-latm_stereo_to_51
Justin Ruggles [Mon, 23 Apr 2012 18:03:25 +0000 (14:03 -0400)]
FATE: use updated reference for aac-latm_stereo_to_51

This uses correct stereo to 5.1 upmixing via libavresample.

7 years agoavconv: use libavresample
Justin Ruggles [Thu, 5 Apr 2012 18:06:28 +0000 (14:06 -0400)]
avconv: use libavresample

7 years agoAdd libavresample
Justin Ruggles [Fri, 23 Mar 2012 21:42:17 +0000 (17:42 -0400)]
Add libavresample

This is a new library for audio sample format, channel layout, and sample rate
conversion.

7 years agoFATE: avoid channel mixing in lavf-dv_fmt
Justin Ruggles [Tue, 24 Apr 2012 19:50:20 +0000 (15:50 -0400)]
FATE: avoid channel mixing in lavf-dv_fmt

This partially reverts acb1730218f1c614dc8ca3ba45d9de1e05059515
which would only have needed to change the checksums if channel mixing had
been properly avoided. This changes the output file size reference and the
seek test reference back to the previous values.

7 years agoavconv: fix a segfault on -c copy with -filter_complex.
Anton Khirnov [Sat, 21 Apr 2012 05:03:06 +0000 (07:03 +0200)]
avconv: fix a segfault on -c copy with -filter_complex.

7 years agoisom: Support more DTS codec identifiers.
Yusuke Nakamura [Fri, 20 Jan 2012 18:56:05 +0000 (03:56 +0900)]
isom: Support more DTS codec identifiers.

DTS LBR identifier ('dtse') is not included since libavcodec doesn't support it yet.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agomatroska: Clear prev_pkt between seeks.
Dale Curtis [Mon, 23 Apr 2012 16:15:31 +0000 (16:15 +0000)]
matroska: Clear prev_pkt between seeks.

The new incremental parser doesn't always clear prev_pkt,
however the packet queue is cleared when seeking. Which leads
to a use-after-free.

Verified using Valgrind.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
7 years agoavutil: change default buffer size alignment for sample buffer functions
Justin Ruggles [Tue, 10 Apr 2012 14:53:55 +0000 (10:53 -0400)]
avutil: change default buffer size alignment for sample buffer functions

Aligning nb_samples will give both correct plane pointer alignment and enough
padding for SIMD-optimized functions.

7 years agoaudemux: Add a sanity check for the number of channels
Michael Niedermayer [Mon, 23 Apr 2012 07:33:55 +0000 (10:33 +0300)]
audemux: Add a sanity check for the number of channels

Fixes a division by 0.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoRemove libdirac decoder.
Diego Biurrun [Sat, 14 Apr 2012 12:54:03 +0000 (14:54 +0200)]
Remove libdirac decoder.

libschroedinger is the preferred way to decode Dirac video.

7 years agomatroska: Add incremental parsing of clusters.
Dale Curtis [Thu, 19 Apr 2012 18:12:24 +0000 (11:12 -0700)]
matroska: Add incremental parsing of clusters.

Reduces the amount of upfront data required for cluster parsing
thus decreasing latency on seek and startup.

The change in the seek-lavf_mkv FATE test is due to incremental
parsing no longer reading as much data as the old parser and
thus not having that additional data to generate index entries
based on keyframes.  Index entries are added correctly as the
file is parsed.

All FATE tests pass and Chrome has been using this patch for ~6
months without issue.

Currently incremental parsing is not supported for files with
SSA tracks since they require merging packets between clusters.
In this case the code falls back to non-incremental parsing.

Signed-off-by: Aaron Colwell <acolwell@chromium.org>
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoavconv: fix off by one check in complex_filter
Luca Barbato [Sun, 22 Apr 2012 23:37:54 +0000 (16:37 -0700)]
avconv: fix off by one check in complex_filter

nb_input_files is already an invalid index.

7 years agompegts: Try seeking back even for nonseekable protocols
Martin Storsjö [Sat, 21 Apr 2012 19:48:34 +0000 (22:48 +0300)]
mpegts: Try seeking back even for nonseekable protocols

The mpegts demuxer reads 5 KB at startup just for discovering
the packet size. Since the default avio buffer size is 32 KB,
the seek back to the start will in most cases be within the
avio buffer, and will in most cases succeed even if the actual
protocol isn't seekable.

This makes the demuxer startup faster/with less data when
reading data from a non-seekable input, by not skipping
the first few KB.

If it fails, don't warn if the protocol isn't seekable, making
it behave as before in the failure case.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoswscale: K&R formatting cosmetics (part III)
Diego Biurrun [Sun, 15 Apr 2012 19:33:30 +0000 (21:33 +0200)]
swscale: K&R formatting cosmetics (part III)

7 years agoARM: allow runtime masking of CPU features
Mans Rullgard [Sat, 21 Apr 2012 14:31:10 +0000 (15:31 +0100)]
ARM: allow runtime masking of CPU features

This allows masking CPU features with the -cpuflags avconv option
which is useful for testing different optimisations without rebuilding.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agodsputil: remove unused functions
Mans Rullgard [Sat, 21 Apr 2012 18:51:19 +0000 (19:51 +0100)]
dsputil: remove unused functions

These functions were left unused by the lowres removal.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agomov: Treat keyframe indexes as 1-origin if starting at non-zero.
Yusuke Nakamura [Mon, 16 Apr 2012 14:27:45 +0000 (23:27 +0900)]
mov: Treat keyframe indexes as 1-origin if starting at non-zero.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agomov: Take stps entries into consideration also about key_off.
Yusuke Nakamura [Fri, 13 Apr 2012 10:44:34 +0000 (19:44 +0900)]
mov: Take stps entries into consideration also about key_off.

Splitted files don't start always from a sync sample.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agoRemove lowres video decoding
Mans Rullgard [Thu, 12 Apr 2012 12:55:49 +0000 (13:55 +0100)]
Remove lowres video decoding

This feature is complex, of questionable utility, and slows down
normal decoding.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoavcodec: remove AVCodecContext.dsp_mask
Mans Rullgard [Fri, 20 Apr 2012 13:31:08 +0000 (14:31 +0100)]
avcodec: remove AVCodecContext.dsp_mask

This removes all references to AVCodecContext.dsp_mask and marks
it for eviction at the next version bump.  It has been superseded
by av_set_cpu_flag_mask() which, unlike this field, works everywhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
7 years agoavconv: fix a segfault when default encoder for a format doesn't exist.
Anton Khirnov [Wed, 18 Apr 2012 04:53:11 +0000 (06:53 +0200)]
avconv: fix a segfault when default encoder for a format doesn't exist.

Fail earlier and with a more descriptive error message.

7 years agoutvideo: general cosmetics
Jan Ekström [Fri, 20 Apr 2012 13:31:26 +0000 (13:31 +0000)]
utvideo: general cosmetics

General cosmetics, such as keeping lines under 80 characters,
fixing a couple of typos (predition -> prediction) and a
general style fix that was pointed out by Derek when I was having
my sliced multithreading patch in review by him.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years agoaac: Handle HE-AACv2 when sniffing a channel order.
Alex Converse [Fri, 20 Apr 2012 21:01:57 +0000 (14:01 -0700)]
aac: Handle HE-AACv2 when sniffing a channel order.

7 years agomovenc: Support high sample rates in isomedia formats by setting the sample rate...
Alex Converse [Fri, 20 Apr 2012 20:21:28 +0000 (13:21 -0700)]
movenc: Support high sample rates in isomedia formats by setting the sample rate field in stsd to 0.

Libisomediafile appears to always set this field to zero.

7 years agoxxan: Remove write-only variable in xan_decode_frame_type0().
Diego Biurrun [Thu, 19 Apr 2012 12:52:10 +0000 (14:52 +0200)]
xxan: Remove write-only variable in xan_decode_frame_type0().

libavcodec/xxan.c:293:13: warning: variable ‘corr_end’ set but not used

7 years agoivi_common: Initialize a variable at declaration in ff_ivi_decode_blocks().
Diego Biurrun [Mon, 2 Apr 2012 17:34:44 +0000 (19:34 +0200)]
ivi_common: Initialize a variable at declaration in ff_ivi_decode_blocks().

This simplifies the code a bit and avoids an uninitialized variable warning.

7 years agoavcodec: add a cook parser to get subpacket duration
Justin Ruggles [Tue, 10 Apr 2012 20:33:45 +0000 (16:33 -0400)]
avcodec: add a cook parser to get subpacket duration

Fixes jittery video playback of rm files with cook audio.

7 years agoFATE: allow lavf tests to alter input parameters
Justin Ruggles [Tue, 17 Apr 2012 03:38:34 +0000 (23:38 -0400)]
FATE: allow lavf tests to alter input parameters

Change some lavf tests to avoid resampling and channel mixing.

7 years agoFATE: replace the acodec-pcm_s24daud test with an enc_dec_pcm checksum test
Justin Ruggles [Tue, 17 Apr 2012 01:21:30 +0000 (21:21 -0400)]
FATE: replace the acodec-pcm_s24daud test with an enc_dec_pcm checksum test

This avoids resampling and channel mixing by using a source with
the correct channel layout and sample rate.

7 years agoFATE: replace the acodec-g726 test with 4 new encode/decode tests
Justin Ruggles [Tue, 17 Apr 2012 02:42:53 +0000 (22:42 -0400)]
FATE: replace the acodec-g726 test with 4 new encode/decode tests

Avoids resampling and channel mixing. This only tests the behavior
with respect to input and output audio rather than also testing changes
to the encoder or muxer that do not affect the resulting decoded output.

7 years agoFATE: replace current g722 encoding tests with an encode/decode test
Justin Ruggles [Tue, 17 Apr 2012 01:49:11 +0000 (21:49 -0400)]
FATE: replace current g722 encoding tests with an encode/decode test

Avoids resampling and channel mixing. This only tests the behavior
with respect to input and output audio rather than also testing changes
to the encoder or muxer that do not affect the resulting decoded output.

7 years agoFATE: add a pattern rule for generating asynth wav files
Justin Ruggles [Thu, 19 Apr 2012 01:41:01 +0000 (21:41 -0400)]
FATE: add a pattern rule for generating asynth wav files

7 years agoFATE: optionally write a WAVE header in audiogen
Justin Ruggles [Tue, 17 Apr 2012 14:12:38 +0000 (10:12 -0400)]
FATE: optionally write a WAVE header in audiogen