1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

14029 Commits

Author SHA1 Message Date
Anton Khirnov
85254fcb46 libx264: add 'aq_mode' private option.
Deprecate corresponding global option.
2011-08-24 14:28:40 +02:00
Anton Khirnov
9d508e4914 libx264: add 'cqp' private option.
Deprecate corresponding global option.
2011-08-24 14:28:07 +02:00
Anton Khirnov
d5dc8cc297 libx264: add 'crf' private option.
Deprecate corresponding global option.

Ideally all x264 private options should be generated automatically, but
x264 doesn't provide the API for this yet.
2011-08-24 14:26:12 +02:00
Anton Khirnov
8ee18b4bee lavc: remove vbv_delay option
It's broken and serves no purpose as it's a read-only field.
2011-08-24 14:07:39 +02:00
Alberto Delmás
45ecda8554 Windows Media Image decoder (WMVP/WVP2)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 11:18:35 +02:00
Justin Ruggles
3be5a94351 ac3enc: remove outdated TODO comment for apply_channel_coupling() 2011-08-22 12:14:57 -04:00
Anton Khirnov
ae60927aef libx264: only use ABR mode when the user explicitly set bitrate. 2011-08-22 07:17:39 +02:00
Anton Khirnov
03eff2bf43 libx264: use medium preset by default. 2011-08-22 07:17:38 +02:00
Anton Khirnov
0a593de38a mp2 encoder: make 128k the default bitrate. 2011-08-22 07:17:38 +02:00
Stefano Sabatini
143d6a3fa7 lavc: add A|E|D flags to "ac" and "ar" options
Fix setting of the corresponding AVCodecContext fields via
cmdutils.c:filter_codec_opts().
In particular, fix ffplay -ac and -ar options.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-21 16:06:16 +02:00
Kostya Shishkov
4ba8c521b1 WavPack decoder: implement flush function
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-21 12:54:34 +02:00
Jeff Downs
6581e161c5 h264: fix PCM intra-coded blocks in monochrome case
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 16:02:33 +02:00
Jeff Downs
87cf70eb23 h264: correct implicit weight table computation for long ref pics
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 14:36:52 +02:00
Jeff Downs
29a09eae9a h264: correct the check for invalid long term frame index in MMCO decode
The current check on MMCO parameters prohibits a "max long term frame index
plus 1" of 16 (frame idx of 15) for the "set max long term frame index" MMCO.
Fix this off-by-one error to allow the full range of legal values.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 14:36:40 +02:00
Alex Converse
44920d04ba aac: Only set sample rate and object type from ADTS if output hasn't been configured.
Long term it would be nice to support error resilient reconfiguration
but right now setting this every frame does more harm than help.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
06d37fede4 aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
d8425ed4af aac: Only output configure if audio was found.
Audio found is not triggered on a CCE because a CCE alone has no output.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Dustin Brody
b490f0c2bc h264: hide reference frame errors unless requested
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-17 20:56:54 -07:00
Ronald S. Bultje
38e06c2969 Move clipd macros to x86util.asm.
This allows sharing them between multiple .asm files.
2011-08-17 20:56:06 -07:00
Kostya Shishkov
91e209d720 RV3/4 parser: remove unused variable 'off'
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 15:31:40 +02:00
Kostya Shishkov
48ce8b8da7 Use parsers for RealVideo 3/4 to determine correct PTS
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-17 15:00:42 +02:00
Kostya Shishkov
331971116d rv10/20: tell decoder to use edge emulation
This removes out-of-edge motion compensation artifacts (easily spotted green
blocks in avplay, gray blocks in transcoding), for example here:
http://samples.libav.org/samples/real/tv_watching_t1.rm

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 14:53:34 +02:00
Anton Khirnov
bca06e77e1 lavc: add avcodec_get_type() for mapping codec_id -> type. 2011-08-16 20:24:20 +02:00
Anton Khirnov
64db1a82d6 lavc: add audio flag to the 'b' option, deprecate 'ab'.
Its only reason for its existence was ffmpeg's inability to properly assign
AVOptions to streams. Now this is not a problem anymore, so 'ab' should
go.
2011-08-16 06:20:43 +02:00
Dustin Brody
a3e215cdc9 svq3: propagate codec memory allocation failure in context init
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-15 21:26:34 +02:00
Dave Yeo
cc73511e8e Fix NASM include directive
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-15 11:24:35 -07:00
Alex Converse
48f7163f13 dsputil_mmx: Honor HAVE_AMD3DNOW 2011-08-15 11:20:08 -07:00
Reimar Döffinger
0e86965514 VC-1: fix reading of custom PAR.
Custom PAR num/denum are in 1-256 range.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 16:36:58 +02:00
Dustin Brody
2bfdb34c8a mpeg12: remove repeat-field code disabled since May 2002
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 13:03:20 +02:00
Nathan Caldwell
24efdea7fd aacenc: Fix number of coefficients used in a LFE channel.
The spec states:

 *  Only the lowest 12 spectral coefficients of any LFE may be non-zero

We were using the 12 lowest *bands*.
2011-08-13 19:40:33 -07:00
Nathan Caldwell
51a1d4d94a aacenc: Fix a segfault with grouped psymodel.
10l: Forgot about TYPE_LFE being after TYPE_CPE. Which causes a
segfault when encoding 5.1
2011-08-13 19:37:38 -07:00
Kostya Shishkov
78622ef362 rv34: free+allocate buffer instead of reallocating it to preserve alignment
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-12 13:49:25 -07:00
Ronald S. Bultje
28ca701e0b h264: add missing brackets.
This caused failure of a few fate tests.
2011-08-12 12:32:31 -07:00
Ronald S. Bultje
b2c087871d Move x86util.asm from libavcodec/ to libavutil/.
This allows using it in swscale also.
2011-08-12 11:43:03 -07:00
Ronald S. Bultje
3a39195b1d Move x86inc.asm to libavutil/.
This allows using it in libswscale/ also.
2011-08-12 11:43:02 -07:00
Reinhard Tartler
69c4bee8fa libx264: Include hint for possible values for configuring libx264
The output of the x264 commandline tool contains the most uptodate
description of the possible values for the -preset, -tune and -profile
options.
2011-08-12 14:09:59 +02:00
Kostya Shishkov
b86ab38137 Add weighted motion compensation for RV40 B-frames
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:58 -07:00
Kostya Shishkov
e5ec68699e RV3/4: calculate B-frame motion weights once per frame
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:23 -07:00
Kostya Shishkov
d241f51e0f Move RV3/4-specific DSP functions into their own context
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:15 -07:00
Dustin Brody
21d7037234 mjpeg: propagate decode errors from ff_mjpeg_decode_sos and ff_mjpeg_decode_dqt
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:02:18 -07:00
Dustin Brody
bac3ab13ea h264: notice memory allocation failure
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 15:59:07 -07:00
Justin Ruggles
c766eb1ce1 ac3enc: add macros for option names to make them more understandable. 2011-08-11 11:33:32 -04:00
Justin Ruggles
9542ca9fb7 ac3enc: fix 'channel_coupling' option to actually allow 'auto'.
Use 'auto' as the default value.
2011-08-11 11:33:32 -04:00
Mans Rullgard
4a71da0f3a cavs: fix some crashes with invalid bitstreams
This removes all valgrind-reported invalid writes with one
specific test file.

Fixes http://www.ocert.org/advisories/ocert-2011-002.html

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-08-10 22:35:20 +01:00
Justin Ruggles
069083a419 ac3enc: clip coupling coordinates during calculation
This is faster than using the clip_coefficients() function. Also,
clipping the coordinates before determining reuse is better since it
will compare coordinates that are closer to their final encoded values.
2011-08-10 17:09:24 -04:00
Justin Ruggles
d271d5b215 Remove incorrect info in documentation of AVCodecContext.bits_per_raw_sample.
bits_per_raw_sample is used in video as well, where sample_fmt is not used.
2011-08-10 15:40:52 -04:00
Baptiste Coudurier
1d36fb13b0 lavc: fix parentheses placement in avcodec_open2().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-10 16:57:33 +02:00
Anton Khirnov
7221139ba0 lavc: make avcodec_init() static on next bump.
It's called from avcodec_register() anyway, so there's no reason for it
to be public.
2011-08-10 12:49:57 +02:00
Justin Ruggles
d1d33e0763 ac3enc: remove unneeded #include 2011-08-09 16:44:34 -04:00
Justin Ruggles
fce33f9ead ac3enc: restructure coupling coordinate reuse calculation 2011-08-09 16:44:34 -04:00
Justin Ruggles
c3d63262fe ac3enc: allow new coupling coordinates to be sent independently for each
channel.
2011-08-09 16:44:34 -04:00
Justin Ruggles
d55ad59a8a ac3enc: separate exponent bit counting from exponent grouping.
Move bit counting to the bit allocation function. Move exponent grouping to
after bit allocation. This will allow for adjustment of bandwidth parameters
during bit allocation without having to do exponent grouping multiple times.
2011-08-09 16:28:18 -04:00
Dustin Brody
12fe759423 h264: propagate error return values for AV_LOG_ERROR-triggering events
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-09 12:29:13 -07:00
Alex Converse
94d47382e0 aac: Don't attempt to output configure an invalid channel configuration. 2011-08-09 12:16:40 -07:00
Kostya Shishkov
7351eb1415 Pretty-print RV3/4 decoder source
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-09 12:06:38 +02:00
Kostya Shishkov
9791c02733 Saner RV1/2 initialisation and RV2 header parsing.
Old version was based on lots of guesswork which had different hacks based on
32-bit version field instead of splitting it into major/minor/micro version.
RV2 picture header parser also had a few places where it deviated from binary
decoder.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-08 17:23:07 -07:00
Baptiste Coudurier
5caa2de19e libx264: do not set pic quality if no frame is output
Avoids uninitialized reads.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-08 14:33:09 +02:00
Baptiste Coudurier
07a227b432 libx264: add preset, tune, profile and fastfirstpass private options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-08 14:33:09 +02:00
Dustin Brody
b2700a5c7c lavc: fix misspelling in comment
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-05 18:18:38 -07:00
Dustin Brody
680b1852ab aac: propagate error return values for AV_LOG_ERROR-triggering events 2011-08-05 12:35:49 -07:00
Alex Converse
ad62507f32 h263dec: Fix asserts broken by the elimination of FF_COMMON_FRAME. 2011-08-03 17:56:47 -07:00
Diego Biurrun
fed6c90b68 cosmetics: remove some stray comments from AVCodec declarations 2011-08-03 23:31:45 +02:00
Diego Biurrun
933a6fd5a1 cosmetics: fix indentation/alignment in AVCodec declarations 2011-08-03 23:31:45 +02:00
Måns Rullgård
9a83adaf34 arm: Avoid using the movw instruction needlessly
This fixes building for ARM11 without Thumb2.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:58 +03:00
Martin Storsjö
d0a2f0af9d Move an int64_t down in MpegEncContext
This allows using the same arm assembler offsets for both EABI
and the mach-o ABI.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:56 +03:00
Vitor Sessak
18b131de04 dct32: Add SSE2 ASM optimizations
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 10:17:29 -07:00
Kostya Shishkov
6f7fe4723b Correct chroma vector calculation for RealVideo 3.
Old version divided it wrong, which resulted in chroma drift (visible on FATE
sample too as dirty trails left by clouds).

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 08:23:47 -07:00
Luca Barbato
9d39cbf6cf avpacket: signal possibly corrupted packets
Use AV_PKT_FLAG_CORRUPT flag to mark packets that might be incomplete
or have errors. Formats that have a mean to validate their packets
should use this flag to deliver such information instead of silently
dropping the packets.
2011-08-02 02:19:31 +02:00
Dustin Brody
4326f6f525 mpeg4videodec: remove dead code that would have detected erroneous encoding
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-01 21:06:48 +02:00
Alex Converse
a6c49f18ab aac: Remove some suspicious illegal memcpy()s from LTP. 2011-08-01 09:39:33 -07:00
Alex Converse
e11a5fccb2 bink: Eliminate unnecessary shadow declaration. 2011-08-01 09:39:33 -07:00
Dustin Brody
18cb40f074 lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-31 14:53:38 -07:00
Jason Garrett-Glaser
a3bf7b864a H.264: tweak some other x86 asm for Atom 2011-07-29 12:24:15 -07:00
Dustin Brody
8f9d3f6d9a s302m: use nondeprecated audio sample format API
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-29 08:47:34 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
3ad1684126 x86: cabac: add operand size suffixes missing from 6c32576
This fixes build with clang.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 18:59:23 -07:00
Dustin Brody
2a11952f45 h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-28 15:23:07 -07:00
Mans Rullgard
f5f004bc5a x86: cabac: don't load/store context values in asm
Inspection of compiled code shows gcc handles these fine on its own.
Benchmarking also shows no measurable speed difference.

Removing the remaining cases in get_cabac_bypass_sign_x86() does
cause more substantial changes to the compiled code with uncertain
impact.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 22:25:21 +01:00
Jason Garrett-Glaser
6c32576548 H.264: optimize CABAC x86 asm for Atom 2011-07-28 13:06:13 -07:00
Ronald S. Bultje
8dcf518430 vp3/theora: flush after seek. 2011-07-28 12:17:26 -07:00
Mans Rullgard
ca6a904656 ppc: remove redundant setting of Altivec IDCT
This is already set by dsputil_init_ppc() and is best done in only
one place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Mans Rullgard
c3027b4d2f mpegvideo: initialise DSPContext in ff_dct_common_init()
The functions and tables initialised in this function rely on an
initialised DSPContext.  Make sure they always have one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Justin Ruggles
093ee8e199 cosmetics: reindent 2011-07-27 11:51:46 -04:00
Justin Ruggles
1bca72e1bd eac3enc: support writing of basic mixing and info metadata 2011-07-27 11:51:46 -04:00
Mans Rullgard
e72f3d10f6 dnxhdenc: fix declarations in for loops
Apparently the gcc warning doesn't trigger on these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:36:02 +01:00
Mans Rullgard
c358a0364e dsputil: remove stale bink prototypes and comments
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
1b3539d453 dsputil: move a bink-only function to binkdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
cbd58a872d dsputil: remove some unused functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Kostya Shishkov
2968bedf12 bink: make IDCT take 32-bit input
Since IDCT transforming 32-bit input to 8-bit output is unusual and unpractical
for most codecs, move Bink IDCT into separate context. Get rid of an additional
permutation table while at it since SIMD support for Bink IDCT is unlikely to
be implemented in foreseeable future.
Quantisation tables also have to change type to signed for proper
dequantisation of DCT coefficients.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 14:39:56 +01:00
Diego Biurrun
9b3139ebca dctref: make sure function declarations match between .c and .h file 2011-07-27 00:26:13 +02:00
Mans Rullgard
da4c7cce21 x86: fix build with gcc 4.7
The upcoming gcc 4.7 has more advanced constant propagation
resulting some inline asm operands becoming constants and thus
emitted as literals, sometimes in contexts where this results
in invalid instructions.

This patch changes the constraints of the relevant operands
to "rm" thus forcing a valid type.  While obviously suboptimal,
this is what older gcc versions already did, and there is no
change to the code generated with these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-26 22:17:43 +01:00
Michael Niedermayer
8c0fa61a97 jpegdec: actually search for and parse RSTn
Fixes decoding of MJPEG files produced by some UVC Logitec web cameras,
such as "Notebook Pro" and "HD C910".

References:
http://trac.videolan.org/vlc/ticket/4215
http://ffmpeg.org/trac/ffmpeg/ticket/267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Kostya <kostya.shishkov@gmail.com>
(cherry picked from commit 7b8ed831eb)
2011-07-23 19:19:13 +02:00
Mans Rullgard
b4cfb8254e dnxhddec: avoid a branch in 10-bit decode_dct_block()
The minimum weight value is 32 so this test can be skipped for the
10-bit case.  Overall speedup 3-4%.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-22 23:39:31 +01:00
Daniel Kang
406fbd24dc H.264: Add optimizations to predict x86 assembly.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 14:54:33 -07:00
Kostya Shishkov
c2d23309ef add Flash Screen Video 2 decoder
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 09:12:30 -07:00
Mans Rullgard
bb32fded36 dnxhddec: optimise dnxhd_decode_dct_block()
Template the function for 8/10-bit and use lowlevel bitstream
macros.

6% faster overall on i7 gcc 4.5.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 23:14:37 +01:00
Justin Ruggles
be7bd626c4 eac3enc: use different numbers of blocks per frame to allow higher bitrates 2011-07-21 14:57:10 -04:00
Joseph Artsimovich
5ab21439fd dnxhd: 10-bit support
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:44:40 +01:00
Mans Rullgard
a617c6aaa3 dsputil: update per-arch init funcs for non-h264 high bit depth
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
874f1a901d dsputil: template get_pixels() for different bit depths
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00