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

9 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

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
9 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>
9 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>
9 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>
9 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.

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

9 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).

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

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

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

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

9 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

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

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

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

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

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

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

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

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

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

9 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

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

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

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

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

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

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

9 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

9 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

9 years agoavutil: add audio fifo buffer
Justin Ruggles [Fri, 23 Mar 2012 21:45:48 +0000 (17:45 -0400)]
avutil: add audio fifo buffer

The functions operate on the sample level rather than the byte level and work
with all audio sample formats.

9 years agodv: Initialize encoder tables during encoder init.
Diego Biurrun [Wed, 18 Apr 2012 16:47:16 +0000 (18:47 +0200)]
dv: Initialize encoder tables during encoder init.

9 years agodv: Replace some magic numbers by the appropriate #define.
Diego Biurrun [Wed, 18 Apr 2012 14:05:17 +0000 (16:05 +0200)]
dv: Replace some magic numbers by the appropriate #define.

9 years agoFATE: pass the decoded output format and audio source file to enc_dec_pcm
Justin Ruggles [Tue, 17 Apr 2012 15:47:57 +0000 (16:47 +0100)]
FATE: pass the decoded output format and audio source file to enc_dec_pcm

This will allow decoding to md5 and doing a diff comparison to a reference
checksum instead of a fuzzy stddev or oneoff comparison.

Signed-off-by: Mans Rullgard <mans@mansr.com>
9 years agoFATE: specify the input format when decoding in enc_dec_pcm()
Justin Ruggles [Tue, 17 Apr 2012 01:06:00 +0000 (21:06 -0400)]
FATE: specify the input format when decoding in enc_dec_pcm()

The output format is not always the same as the file extension,
which is sometimes required for correct probing. We can avoid
probing by specifying the format since it is already known.

9 years agox86inc: support AVX abstraction for 2-operand instructions
Loren Merritt [Tue, 10 Apr 2012 14:40:38 +0000 (10:40 -0400)]
x86inc: support AVX abstraction for 2-operand instructions

Add cvtdq2ps and cvtps2dq to the AVX instruction list.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoconfigure: detect PGI compiler and set suitable flags
Mans Rullgard [Wed, 18 Apr 2012 23:42:56 +0000 (00:42 +0100)]
configure: detect PGI compiler and set suitable flags

Signed-off-by: Mans Rullgard <mans@mansr.com>
9 years agoavconv: check for an incompatible changing channel layout
Justin Ruggles [Tue, 17 Apr 2012 17:30:00 +0000 (13:30 -0400)]
avconv: check for an incompatible changing channel layout

The decoder can change the layout and channel count during decoding,
but currently we only validate that the two are compatible when opening
the codec. This checks for incompatibilities after each decoded frame.

9 years agoavio: make AVIOContext.av_class pointer to const
Mans Rullgard [Wed, 18 Apr 2012 20:01:15 +0000 (21:01 +0100)]
avio: make AVIOContext.av_class pointer to const

Fix this warning:
libavformat/aviobuf.c:663:20: warning: assignment discards qualifiers from pointer target type

Although this is a public header, it should remain source and
binary compatible.

Signed-off-by: Mans Rullgard <mans@mansr.com>
9 years agonutdec: add malloc check and fix const to non-const conversion warnings
Mans Rullgard [Wed, 18 Apr 2012 19:48:36 +0000 (20:48 +0100)]
nutdec: add malloc check and fix const to non-const conversion warnings

Signed-off-by: Mans Rullgard <mans@mansr.com>
9 years agoppc: drop unused function dct_quantize_altivec()
Diego Biurrun [Mon, 2 Apr 2012 16:03:29 +0000 (16:03 +0000)]
ppc: drop unused function dct_quantize_altivec()

This also allows dropping some PPC-specific ugliness from dsputil.[ch].

9 years agompegaudiodec: Do not discard mp_decode_frame() return value.
Diego Biurrun [Thu, 5 Apr 2012 14:48:33 +0000 (16:48 +0200)]
mpegaudiodec: Do not discard mp_decode_frame() return value.

This fixes the warning:
libavcodec/mpegaudiodec.c:1704:14: warning: variable ‘out_size’ set but not used

9 years agomatroska: do not set invalid default duration if frame rate is zero
Mans Rullgard [Wed, 18 Apr 2012 12:48:20 +0000 (13:48 +0100)]
matroska: do not set invalid default duration if frame rate is zero

If a video track specifies a zero frame rate (invalid but occurs),
this results in a division by zero and subsequent undefined conversion
to integer.  Setting the default duration from the frame rate only
if the latter is greater than zero avoids such problems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
9 years agomkv: use av_reduce instead of av_d2q for framerate estimation
Luca Barbato [Tue, 17 Apr 2012 23:32:07 +0000 (16:32 -0700)]
mkv: use av_reduce instead of av_d2q for framerate estimation

It avoids some rounding errors.

9 years agomkv: report average framerate as minimal as well
Luca Barbato [Tue, 17 Apr 2012 22:47:22 +0000 (15:47 -0700)]
mkv: report average framerate as minimal as well

This is in line with other demuxers and overall seems more correct
than assuming codec time base.

9 years agoavcodec_string: Favor AVCodecContext.codec over the default codec.
Alex Converse [Tue, 17 Apr 2012 18:32:56 +0000 (11:32 -0700)]
avcodec_string: Favor AVCodecContext.codec over the default codec.

This improves output for formats with more than one AVCodec.

9 years agocook: Make constants passed to AV_BE2NE32C() unsigned to avoid signed overflow.
Alex Converse [Tue, 17 Apr 2012 01:48:39 +0000 (18:48 -0700)]
cook: Make constants passed to AV_BE2NE32C() unsigned to avoid signed overflow.

9 years agoaacenc: Fix issues with huge values of bit_rate.
Reimar Döffinger [Fri, 6 Apr 2012 13:25:05 +0000 (15:25 +0200)]
aacenc: Fix issues with huge values of bit_rate.

Do not pointlessly call ff_alloc_packet multiple times,
and fix an infinite loop by clamping the maximum
number of bits to target in the algorithm that does
not use lambda.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
9 years agodv_tablegen: Drop unnecessary av_unused attribute from dv_vlc_map_tableinit().
Diego Biurrun [Mon, 16 Apr 2012 16:58:11 +0000 (18:58 +0200)]
dv_tablegen: Drop unnecessary av_unused attribute from dv_vlc_map_tableinit().

9 years agoproresenc: multithreaded quantiser search
Kostya Shishkov [Sun, 15 Apr 2012 06:48:43 +0000 (08:48 +0200)]
proresenc: multithreaded quantiser search

9 years agoriff: use bps instead of bits_per_coded_sample in the WAVEFORMATEXTENSIBLE header
Justin Ruggles [Mon, 16 Apr 2012 16:14:25 +0000 (12:14 -0400)]
riff: use bps instead of bits_per_coded_sample in the WAVEFORMATEXTENSIBLE header

This matches the value for the plain WAVEFORMATEX header.
Also fixes stream copy to WAVE for non-16-bit raw pcm.

9 years agoavconv: only set the "channels" option when it exists for the specified input format
Justin Ruggles [Mon, 16 Apr 2012 16:51:24 +0000 (12:51 -0400)]
avconv: only set the "channels" option when it exists for the specified input format

This allows the user to specify an input channel layout without avconv aborting because the
"channels" option was not found.

9 years agoavplay: update get_buffer to be inline with avconv
Luca Barbato [Mon, 16 Apr 2012 06:08:45 +0000 (23:08 -0700)]
avplay: update get_buffer to be inline with avconv

The buffer must have its dimension, pixel format and aspect ratio

9 years agoaacdec: More robust output configuration.
Alex Converse [Tue, 10 Apr 2012 23:27:28 +0000 (16:27 -0700)]
aacdec: More robust output configuration.

Save the old output configuration (if it has been used
successfully) when trying a new configuration. If the new configuration
fails to decode, restore the last successful configuration.

9 years agofaac: Fix multi-channel ordering
Carl Eugen Hoyos [Wed, 25 Jan 2012 01:51:49 +0000 (02:51 +0100)]
faac: Fix multi-channel ordering

Signed-off-by: Alex Converse <alex.converse@gmail.com>
9 years agofaac: Add .channel_layouts
Alex Converse [Mon, 16 Apr 2012 17:35:11 +0000 (10:35 -0700)]
faac: Add .channel_layouts

9 years agortmp: Support 'rtmp_playpath', an option which overrides the stream identifier
Samuel Pitoiset [Sun, 15 Apr 2012 19:50:50 +0000 (21:50 +0200)]
rtmp: Support 'rtmp_playpath', an option which overrides the stream identifier

This option is the stream identifier to play or to publish.
Sometimes the URL parser cannot determine the correct
playpath automatically, so it must be given explicitly
using this option (ie. -rtmp_playpath).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agortmp: Support 'rtmp_app', an option which overrides the name of application
Samuel Pitoiset [Sun, 15 Apr 2012 19:49:48 +0000 (21:49 +0200)]
rtmp: Support 'rtmp_app', an option which overrides the name of application

This option is the name of application to connect on the RTMP server.
Sometimes the URL parser cannot determine the app name automatically,
so it must be given explicitly using this option (ie. -rtmp_app).

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavutil: add better documentation for AVSampleFormat
Justin Ruggles [Wed, 11 Apr 2012 16:44:26 +0000 (12:44 -0400)]
avutil: add better documentation for AVSampleFormat

9 years agoindeo3: add parens around some macro arguments
Mans Rullgard [Mon, 16 Apr 2012 14:48:05 +0000 (15:48 +0100)]
indeo3: add parens around some macro arguments

Without these, the expansion contains things like --1 with
some compilers resulting in build errors.

Signed-off-by: Mans Rullgard <mans@mansr.com>
9 years agoh264: use proper PROLOGUE statement for a function using 8 registers.
Ronald S. Bultje [Sun, 15 Apr 2012 15:11:55 +0000 (08:11 -0700)]
h264: use proper PROLOGUE statement for a function using 8 registers.

Fixes crashes when using biweight on win64.

9 years agodoc: Update sample Vim config with suitable (function) indentation settings.
Diego Biurrun [Tue, 28 Feb 2012 19:44:41 +0000 (20:44 +0100)]
doc: Update sample Vim config with suitable (function) indentation settings.

9 years agodv: Merge dvquant.h into dvdata.c where all other DV tables reside.
Diego Biurrun [Wed, 4 Apr 2012 15:32:55 +0000 (17:32 +0200)]
dv: Merge dvquant.h into dvdata.c where all other DV tables reside.

9 years agodv: Move static tables only used in one place to where they are used.
Diego Biurrun [Wed, 4 Apr 2012 15:13:13 +0000 (17:13 +0200)]
dv: Move static tables only used in one place to where they are used.