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

12433 Commits

Author SHA1 Message Date
Måns Rullgård
f079a64aea Move cavs dsp functions to their own struct
Originally committed as revision 24685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 20:59:00 +00:00
Jason Garrett-Glaser
61ee75bbf8 Silence unused function warnings in vp56.h
Originally committed as revision 24684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 11:35:41 +00:00
Jason Garrett-Glaser
476be414a4 VP8: make another RAC call branchy
1-2 clocks faster.

Originally committed as revision 24683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 11:34:24 +00:00
Jason Garrett-Glaser
8b9b5e085f VP5/6/8: add one inline missed in r24677
Originally committed as revision 24682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 11:21:22 +00:00
Jason Garrett-Glaser
0908f1b945 VP8: unroll partition type decoding tree
~34% faster partition type decoding.

Originally committed as revision 24681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 11:10:58 +00:00
Jason Garrett-Glaser
c5dec7f137 VP8: unroll splitmv decoding tree
Much faster splitmv mode decoding.

Originally committed as revision 24680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 10:37:14 +00:00
Jason Garrett-Glaser
23117d69c1 VP8: unroll MB mode decoding tree
~50% faster MB mode decoding, plus eliminate a costly switch.

Originally committed as revision 24679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 10:24:28 +00:00
Jason Garrett-Glaser
cd2769c142 VP5/6/8: tweak some arithcoder inlining
Always inline the arithmetic coder, except in the case of header-parsing stuff,
in which case don't inline it at all to save code size.

Originally committed as revision 24677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 08:06:08 +00:00
Alex Converse
55aa55f2e1 vorbisdec: Return AVERROR(ENOMEM) on malloc() failure.
This is especially important because classifs can be very large.

Originally committed as revision 24676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 00:27:54 +00:00
Alex Converse
366d919016 vorbisdec: Prevent a potential integer overflow.
If sizeof uint_fast8_t > 1 and sizeof size_t <= 4, the expression that mallocs
classifs  is susceptible to integer overflow.

Originally committed as revision 24675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 00:25:06 +00:00
Diego Biurrun
83abdf5ff0 The VP8 decoder does not depend on cabac.o.
Originally committed as revision 24674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 23:49:49 +00:00
Diego Biurrun
efbc455915 The VP8 decoder does not depend on vp56.o and vp56data.o.
Originally committed as revision 24673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 23:23:27 +00:00
Diego Biurrun
2e2ca50655 Remove redundant h264pred.o from VP8 objects list.
It is already selected through the H264DSP dependency of VP8.

Originally committed as revision 24672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 23:16:52 +00:00
Jason Garrett-Glaser
370b622a45 VP8: eliminate a dereference in coefficient decoding
Originally committed as revision 24671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 22:48:38 +00:00
Jason Garrett-Glaser
f311208cf1 VP8: much faster DC transform handling
A lot of the time the DC block is empty: don't do the WHT in this case.
A lot of the rest of the time, there's only one coefficient: make a special
DC-only transform for that case.
When the block is empty, don't incorrectly mark luma DCT blocks as having DC
coefficients.

Originally committed as revision 24670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 20:57:03 +00:00
Måns Rullgård
c934562c12 vorbisdec: change a uint_fast32_t to 'unsigned', fix llvm-gcc build
Originally committed as revision 24669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 20:35:50 +00:00
Jason Garrett-Glaser
827d43bb9d VP8: move zeroing of luma DC block into the WHT
Lets us do the zeroing in asm instead of C.
Also makes it consistent with the way the regular iDCT code does it.

Originally committed as revision 24668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 20:18:09 +00:00
Pascal Massimino
d2840fa49c only store intra prediction modes on the boundary for keyframes, not as a plane.
inter-frame behaviour unchanged.

Originally committed as revision 24664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 09:44:53 +00:00
Benoit Fouet
497d7991b5 Change a doxy comment to a normal one.
Originally committed as revision 24662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 07:26:27 +00:00
Benoit Fouet
1aa15491f2 Fix doxygen comments.
/**\u2264 => /**<

Originally committed as revision 24661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 07:25:25 +00:00
Jason Garrett-Glaser
10bf2eebbe VP8: simplify token_prob handling
~1.5% faster decode_block_coeffs

Originally committed as revision 24659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-02 05:20:38 +00:00
Pascal Massimino
c22b4468a6 prevent access to vp8_coeff_band[16]
Originally committed as revision 24656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-01 23:20:06 +00:00
Ronald S. Bultje
6341838f3c Use word-writing instead of dword-writing (with two cached but otherwise
unchanged bytes) in the horizontal simple loopfilter. This makes the filter
quite a bit faster in itself (~30 cycles less on Core1), probably mostly
because we don't need a complex 4x4 transpose, but only a simple byte
interleave. Also allows using pextrw on SSE4, which speeds up even more
(e.g. 25% faster on Core i7).

Originally committed as revision 24638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 23:13:15 +00:00
Nick Brereton
ace7f813cd dca: fix dynrange coefficient in xch
Patch by Nick Brereton

Originally committed as revision 24637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 22:15:59 +00:00
Justin Ruggles
6768beb4a8 cosmetics: rename output_* to write_*
Originally committed as revision 24634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 21:14:03 +00:00
Justin Ruggles
3d2cd42f8a Simplify verbatim mode fallback by checking the frame size before writing.
Originally committed as revision 24632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 21:08:53 +00:00
Justin Ruggles
2249a7f312 Change max_framesize for small final frame.
Originally committed as revision 24631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:52:33 +00:00
Justin Ruggles
7c29a5de25 Calculate an exact frame size before writing. Now the buffer size requirements
can be known exactly, so larger frame sizes can be safely encoded without buffer
overwrite.

Originally committed as revision 24630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:32:12 +00:00
Justin Ruggles
675eb677c5 cosmetics: rename find_subblock_rice_params() to find_subframe_rice_params()
Originally committed as revision 24629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:19:07 +00:00
Justin Ruggles
089c18f315 Reduce number of input parameters to find_subblock_rice_params().
Originally committed as revision 24628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 20:17:59 +00:00
Justin Ruggles
d309f01950 10l: fix bit count for frame header
Originally committed as revision 24627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 18:48:48 +00:00
Justin Ruggles
b22f9d6535 Simplify fallback to verbatim mode encoding.
Originally committed as revision 24626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 17:23:29 +00:00
Justin Ruggles
45e2908757 cosmetics: line wrap and vertical alignment
Originally committed as revision 24625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 17:07:24 +00:00
Justin Ruggles
8fbb8d31d8 Combine calc_rice_params_fixed() and calc_rice_params_lpc() into a single
function.

Originally committed as revision 24624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 17:06:10 +00:00
Justin Ruggles
43b3273e5b Remove unneeded wrapper function.
Originally committed as revision 24622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:50:27 +00:00
Justin Ruggles
0f5cc12c4f Remove duplicate code by adding a flag for encoding in verbatim mode.
Originally committed as revision 24621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:46:32 +00:00
Stefano Sabatini
05236ed735 Use av_fill_image_pointers/linesizes in place of ff_fill_pointer/linesize,
and drop the the ff_ variants at the next major bump.

Originally committed as revision 24620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:46:20 +00:00
Justin Ruggles
93d65e3d92 Estimate frame size during encoding.
Originally committed as revision 24619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:37:23 +00:00
Vitor Sessak
fa738b3ad1 Remove x86/mmx.h. It is not used anymore and has been deprecated for years.
Originally committed as revision 24618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:20:45 +00:00
Vitor Sessak
0913a92a59 Fix compilation with --disable-yasm. 10l to me.
Originally committed as revision 24617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:17:54 +00:00
Vitor Sessak
de4bc44abb Convert deinterlacing MMX code to YASM
Originally committed as revision 24615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 14:50:51 +00:00
Justin Ruggles
eb96f1698a cosmetics: indentation
Originally committed as revision 24612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:33:51 +00:00
Justin Ruggles
520effb9b5 Combine output_subframe() and output_subframes().
Originally committed as revision 24611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:32:19 +00:00
Justin Ruggles
fb443a6f3b Remove unneeded variable.
Originally committed as revision 24610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:27:00 +00:00
Justin Ruggles
724f34716b cosmetics: indentation
Originally committed as revision 24609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:07:21 +00:00
Justin Ruggles
6d263f41ae Combine output_subframe_verbatim() and output_subframe_lpc().
Originally committed as revision 24608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 21:06:38 +00:00
Justin Ruggles
6266cfb4ce Combine and simplify output_residual() and output_subframe_lpc().
Originally committed as revision 24607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:53:02 +00:00
Justin Ruggles
fc001d6cc1 cosmetics: reindent
Originally committed as revision 24606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:29:03 +00:00
Justin Ruggles
175a57113f Combine and simplify output_subframe_fixed() and output_subframe_lpc().
Originally committed as revision 24605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:28:46 +00:00
Justin Ruggles
89912b5ff1 Combine and simplify output_subframe_constant() and output_subframe_verbatim().
Originally committed as revision 24604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:24:15 +00:00
Justin Ruggles
1f1c05b09f Pass FlacSubframe to output_subframe_* instead of channel number.
Originally committed as revision 24603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 20:09:14 +00:00
Justin Ruggles
15f537ed53 cosmetics: change FlacEncodeContext variable name from ctx to s in several
places for consistency.

Originally committed as revision 24602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 19:40:18 +00:00
Justin Ruggles
871a24f3bf Set coded_frame->pts in the FLAC encoder
Originally committed as revision 24601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 19:18:48 +00:00
Justin Ruggles
27e3418844 Do not need to set coded_frame->key_frame = 1 because it is already set in
avcodec_alloc_frame().

Originally committed as revision 24600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 19:02:59 +00:00
Justin Ruggles
7fe0c7c823 Move debug logging of compression options to a single function.
Originally committed as revision 24599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 18:59:27 +00:00
Justin Ruggles
e08ec71480 Add 2 failed memory allocation checks
Originally committed as revision 24598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 18:34:39 +00:00
Justin Ruggles
e35b689ebd cosmetics: pretty-print flacenc.c
Originally committed as revision 24597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 18:30:09 +00:00
Stefano Sabatini
fc2db52e2f Make avpicture_fill() directly call av_fill_image_linesizes() and
av_fill_image_pointers() rather than their wrappers ff_fill_linesize()
and ff_fill_pointer().

Improve performance.

Originally committed as revision 24587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 08:42:08 +00:00
Stefano Sabatini
e7bd48a6ae Move fill_image_linesize() and fill_image_data_ptr() from
libavcodec/imgconvert.c and make them public in libavcore/imgutils.h,
with the names av_fill_image_linesizes() and av_fill_image_pointers().

Originally committed as revision 24583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-29 23:44:57 +00:00
Vitor Sessak
740dfe7012 Fix compilation in x86_64. I broke it with r24580.
Originally committed as revision 24582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-29 22:45:21 +00:00
Vitor Sessak
2c3dda6838 Translate libmpeg2 MMX IDCT to plain asm
Originally committed as revision 24580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-29 22:19:54 +00:00
James Zern
53cf47829a Map rc_buffer_size to and c_initial_buffer_occupancy to their libvpx
counterparts.

Patch by James Zern, jzern at google

Originally committed as revision 24566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 08:02:35 +00:00
Alex Converse
b6356d9726 10l: missed one reindent.
Originally committed as revision 24563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 05:40:38 +00:00
Alex Converse
52fa20542b Reindent after last commit.
Originally committed as revision 24562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 05:38:30 +00:00
Alex Converse
d950497083 ff_prefix non static vp56 functions.
Originally committed as revision 24561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 05:36:33 +00:00
Martin Storsjö
317167e7d9 nellymoserenc: Declare the supported sample format
Originally committed as revision 24560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 05:19:42 +00:00
Pascal Massimino
a8ab0cccf7 b0rk3d FATE + black helicopters hissing -> rolling back to r24556 and sleeping
Originally committed as revision 24559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 23:09:13 +00:00
Pascal Massimino
62d1f7864e perform the clipping on luma_dc_qmul[1] and chroma_qmul[0] earlier
Originally committed as revision 24558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 22:23:50 +00:00
Pascal Massimino
e7e81959d6 save some copies by moving some fields out of proba[2]
Originally committed as revision 24557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 22:21:49 +00:00
Nick Brereton
df9844937f DCA: fix multichannel -> 2 channel downmix.
Patch by Nick Brereton

Originally committed as revision 24555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:45:43 +00:00
Nick Brereton
08634e7bda Setup correct channel value when downmixing is required.
Patch by Nick Brereton

Originally committed as revision 24554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:44:09 +00:00
Aurelien Jacobs
af0554e530 remove useless cast
Originally committed as revision 24553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 21:12:16 +00:00
Reimar Döffinger
6f2c05f307 Document how the ref_buf is used.
Originally committed as revision 24551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 17:11:13 +00:00
Michael Niedermayer
a20df85886 Fix doxy that refers to the wrong variable.
Originally committed as revision 24549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 15:54:26 +00:00
Alexander Kojevnikov
49d7ef282d Show correct bitrate for VBR MP3 files.
Patch by Alexander Kojevnikov, alexander kojevnikov com

Originally committed as revision 24539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 10:08:34 +00:00
Stefan Gehrer
de29597680 add Chinese AVS encoding via external library libxavs
Originally committed as revision 24533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-27 07:18:36 +00:00
Stefano Sabatini
126b638ea0 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.

This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.

Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:12:28 +00:00
Ronald S. Bultje
ab4d031889 Use pmaddubsw for the mbedge_filter (>=ssse3), 6-10 cycles faster.
Originally committed as revision 24514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 21:18:19 +00:00
Jason Garrett-Glaser
e25dee602f VP8: Much faster SSE2 MC
5-10% faster or more on Phenom, Athlon 64, and some others.
Helps some on pre-SSSE3 Intel chips as well, but not as much.

Originally committed as revision 24513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 19:34:00 +00:00
S.N. Hemanth Meenakshisundaram
9dd9d67bd0 Define static functions fill_image_linesize() and
fill_image_data_ptr(). ff_fill_linesize() and ff_fill_pointer() now wrap
these functions.

The new functions are more generic, and are going to be exported in a
future patch.

Patch by S.N. Hemanth Meenakshisundaram smeenaks # ucsd § edu.

Originally committed as revision 24512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 14:30:47 +00:00
Ronald S. Bultje
48adb7e7a4 Enable no-loop memory/register saving for ssse3/sse4 also.
Originally committed as revision 24511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 14:07:57 +00:00
Ronald S. Bultje
2a180c69ea Save a register (or regsize of stackspace for x86-32) for the no-loop
mbedge loopfilter functions, by re-using space that holds a variable
that we no longer need.

Originally committed as revision 24510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 14:00:15 +00:00
Ronald S. Bultje
bcd4aa6498 Use nested ifs instead of &&, which appears to not work with %ifidn (i.e. this
construct was always enabled, even for <ssse3 versions).

Originally committed as revision 24509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:56:51 +00:00
Axel Holzinger
0b2c75cb68 Rename pow variable to pwr.
Patch by Axel Holzinger <aholzinger gmx de>.

Originally committed as revision 24508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:52:49 +00:00
Ronald S. Bultje
2208053bd3 Split pextrw macro-spaghetti into several opt-specific macros, this will make
future new optimizations (imagine a sse5) much easier. Also fix a bug where
we used the direction (%2) rather than optimization (%1) to enable this, which
means it wasn't ever actually used...

Originally committed as revision 24507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:50:59 +00:00
Jason Garrett-Glaser
fca05ea8a0 VP8: add missing free
Fixes a tiny memory leak.

Originally committed as revision 24504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 07:10:30 +00:00
Carl Eugen Hoyos
28e241de5d Fix r24445: Instead of needlessly initialising a variable, silence the warning.
Originally committed as revision 24498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:49:45 +00:00
Carl Eugen Hoyos
b9542223a3 Only 4-bit ADPCM IMA WAV files are supported.
Originally committed as revision 24493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:33:16 +00:00
Ronald S. Bultje
6de5b7c6b8 Fix obvious bug in assignment. Somehow, the test vectors don't test this...
Originally committed as revision 24489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 02:42:40 +00:00
Aurelien Jacobs
ba2c508d0c add SubRip muxer and demuxer
Originally committed as revision 24488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 22:50:12 +00:00
Ronald S. Bultje
e3f7bf774c Fix SPLATB_REG mess. Used to be a if/elseif/elseif/elseif spaghetti, so this
splits it into small optimization-specific macros which are selected for each
DSP function. The advantage of this approach is that the sse4 functions now
use the ssse3 codepath also without needing an explicit sse4 codepath.

Originally committed as revision 24487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 19:33:05 +00:00
Alex Converse
63e1278d88 aacenc: TLS: Save maximum values for each swb in a table.
This gives an almost 20% speedup.

Originally committed as revision 24484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:11:51 +00:00
Alex Converse
031d5cea04 10l: Remove some commented out code that slipped in.
Originally committed as revision 24483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 17:01:50 +00:00
Alex Converse
fe461767e6 aacenc: TLS: Try to preserve some energy in each non-zero band.
Reduce scalefactors in non-zero bands that underflow by twice as much as those
in bands that just fail to hit psy targets.

Originally committed as revision 24482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 16:36:01 +00:00
Reimar Döffinger
edac49daf5 Use "const" qualifier for pointers that point to input data of
audio encoders.
This is purely for clarity/documentation purposes.

Originally committed as revision 24481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 13:59:49 +00:00
Alex Converse
c226fc5bfb aacenc: Prevent premature termination of the two loop search.
Originally committed as revision 24476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 04:23:26 +00:00
Alex Converse
81824fe059 aacdec: Only load and write each predictor variable once.
This is slightly faster and opens the door for further optimization.

Originally committed as revision 24475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:57:08 +00:00
Alex Converse
70c99adb48 aacdec: 4% faster main profile decoding.
Originally committed as revision 24474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:41:47 +00:00
Alex Converse
51ffd3a62f aacenc: Favor log2f() and sqrtf() over log2() and sqrt().
Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 02:10:59 +00:00
Alex Converse
04d72abf17 aacenc: Factorize some scalefactor utilities.
Originally committed as revision 24472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 22:37:42 +00:00
Eli Friedman
3611e7a309 Inline asm for VP56 arith coder
This is a lot more reliable to get cmov rather than trying to trick gcc into
generating it, useful since it's 2% faster overall.

Patch by Eli Friedman <eli.friedman at gmail>

Originally committed as revision 24471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:30 +00:00
David Conrad
ca18a478e3 VP8: Inline traversing vp8_small_mvtree
Much faster read_mv_component, slightly faster overall

Originally committed as revision 24470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:25 +00:00
David Conrad
7697cdcf95 VP8: Use vp56_rac_get_prob_branchy when the bit is only used by an if()
Originally committed as revision 24469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:20 +00:00
David Conrad
fe1b5d974a Decode DCT tokens by branching to a different code path for each branch
on the huffman tree, instead of traversing the tree in a while loop.

Based on the similar optimization in libvpx's detokenize.c

10% faster at normal bitrates, and 30% faster for high-bitrate intra-only

Originally committed as revision 24468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:17 +00:00
David Conrad
5474ec2ac8 Move renormalization of the VP56 arith decoder to before decoding a bit
No difference at the moment, but allows a future branchy variant
of vp56_rac_get_prob to be significantly faster

Originally committed as revision 24467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:14 +00:00
David Conrad
b3d755ec8b Split renorm of vp56 arith decoder to its own function
Originally committed as revision 24466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:08 +00:00
David Conrad
24675b8093 vp56's arith decoder's code_word is only 16 bits, no need for unsigned long
Originally committed as revision 24465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:46:01 +00:00
Jason Garrett-Glaser
13a1304bb3 Add myself to VP8 copyright and maintainers.
Also add Ronald to maintainers.

Originally committed as revision 24464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:42:35 +00:00
Jason Garrett-Glaser
414ac27d8f VP8: always_inline some things to force gcc to do the right thing
Mostly seems to help in the MC code, which gets a hundred cycles faster.

Originally committed as revision 24463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:36:21 +00:00
Jason Garrett-Glaser
06d50ca804 VP8: use AV_RL24 instead of defining a new RL24.
Originally committed as revision 24462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 21:17:18 +00:00
Jason Garrett-Glaser
9fddd14a8e VP8: Slightly faster MV selection
Don't clamp best mv unless it's actually used.

Originally committed as revision 24461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 19:06:22 +00:00
Jason Garrett-Glaser
14767f35ed VP8: use AV_ZERO32 instead of AV_WN32A where relevant
Originally committed as revision 24460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 10:42:19 +00:00
Jason Garrett-Glaser
09959ec46e VP8: eliminate redundant code in r24458
Originally committed as revision 24459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 10:34:21 +00:00
Jason Garrett-Glaser
a71abb714e VP8: shave a few clocks off check_intra_pred_mode
Originally committed as revision 24458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 10:24:38 +00:00
Jason Garrett-Glaser
0087aa47d0 VP8: fix broken sign bias code in MV pred
Apparently the official conformance test vectors don't test this feature,
even though libvpx uses it.

Originally committed as revision 24456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 06:41:35 +00:00
Jason Garrett-Glaser
3ae079a3c8 VP8: optimize DC-only chroma case in the same way as luma.
Add MMX idct_dc_add4uv function for this case.
~40% faster chroma idct.

Originally committed as revision 24455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 06:02:52 +00:00
Jason Garrett-Glaser
3df56f4118 VP8: Clean up some variable shadowing.
Originally committed as revision 24454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 03:44:37 +00:00
Jason Garrett-Glaser
51c9156438 VP8 asm: cosmetics (spacing)
Originally committed as revision 24453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 03:02:56 +00:00
Jason Garrett-Glaser
8a467b2d44 VP8: 30% faster idct_mb
Take shortcuts based on statistically common situations.
Add 4-at-a-time idct_dc function (mmx and sse2) since rows of 4 DC-only DCT
blocks are common.
TODO: tie this more directly into the MB mode, since the DC-level transform is
only used for non-splitmv blocks?

Originally committed as revision 24452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 02:58:27 +00:00
Jason Garrett-Glaser
ef38842f0b VP8: smarter prefetching
Don't prefetch reference frames that were used less than 1/32th of the time so
far in the frame.
This helps speed up to ~2% on videos that, in many frames, make near-zero
(but not entirely zero) use of golden and/or alt-refs.
This is a very common property of videos encoded by libvpx.

Originally committed as revision 24451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 01:59:56 +00:00
Baptiste Coudurier
9479415e4e In h264 parser, return immediately if buf_size is 0, avoid printing
erroneous message for last frame.

Originally committed as revision 24450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:34:09 +00:00
Jason Garrett-Glaser
c25c776708 VP8: clear DCT blocks in iDCT instead of using clear_blocks.
~0.3% faster overall.

Originally committed as revision 24448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:07:16 +00:00
Jason Garrett-Glaser
b74f70d646 VP8: avoid a memset for non-i4x4 blocks with no coefficients
Originally committed as revision 24447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:05:44 +00:00
Jason Garrett-Glaser
145d31865d Get rid of more unnecessary dereferences in VP8 deblocking
Originally committed as revision 24446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 23:11:40 +00:00
Jason Garrett-Glaser
867215336d Shut up an uninitialized variable GCC warning in VP8.
Originally committed as revision 24445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 23:04:51 +00:00
Jason Garrett-Glaser
c4211046d2 Smarter VP8 prefetching
Prefetch all refs (including altref), but only if they've been used so far this
frame.
~2.5% faster overall.

TODO: Do something even smarter, like using how often each ref has been used
so far, so that a couple blocks of a rarely-used ref don't force us to prefetch
it.

Originally committed as revision 24444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 23:03:08 +00:00
Jason Garrett-Glaser
8cfae560ad Fix stupid bug in VP8 prefetching code
Originally committed as revision 24443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 22:15:43 +00:00
Jason Garrett-Glaser
2a38c2e99a Eliminate a LUT in escape decoding in VP8 decode_block_coeffs
Originally committed as revision 24441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 22:08:09 +00:00
Jason Garrett-Glaser
d292c3455e Eliminate some repeated dereferences in VP8 inter_predict
Originally committed as revision 24438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 21:05:30 +00:00
Ronald S. Bultje
dc5eec8085 Use pextrw for SSE4 mbedge filter result writing, speedup 5-10cycles on
CPUs supporting it.

Originally committed as revision 24437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 19:59:34 +00:00
James Zern
7eb185e0a3 Map settings for 2-pass libvpx encoding.
Patch by James Zern, jzern at google

Originally committed as revision 24430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 12:35:32 +00:00
Jason Garrett-Glaser
b946111fde Eliminate a pointless memset for intra blocks in P-frames in VP8
Originally committed as revision 24429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 12:15:29 +00:00
Jason Garrett-Glaser
b9a7186bf4 VP8: Don't store segment in macroblock struct anymore.
Not necessary with the previous patch.

Originally committed as revision 24427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:55:55 +00:00
Jason Garrett-Glaser
c55e0d34ba Convert VP8 macroblock structures to a ring buffer.
Uses a slightly nonintuitive ring buffer size of (width+height*2) to simplify
addressing logic.
Also split out the segmentation map to a separate structure, necessary to
implement the ring buffer.

Originally committed as revision 24426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:45:18 +00:00
Jason Garrett-Glaser
968570d65f Calculate deblock strength per-MB instead of per-row
Gives better cache locality, since the VP8Macroblock structs are still in cache.
Inspired by the way x264 does it.

Originally committed as revision 24417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 07:24:22 +00:00
Jason Garrett-Glaser
d1c58fce20 Avoid tracking i4x4 modes in P-frames in VP8
As in the previous commit, they aren't used for context selection, so it saves
memory this way.

Originally committed as revision 24416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 07:04:45 +00:00
Jason Garrett-Glaser
158e062c95 Avoid useless fill_rectangle in P-frames in VP8
In VP8, i4x4 only uses contexts based on neighbors in I-frames.

Originally committed as revision 24415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 06:39:54 +00:00
Jason Garrett-Glaser
7bf254c41d Optimize partition mv decoding in VP8
Originally committed as revision 24414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 06:29:26 +00:00
Jason Garrett-Glaser
c0498b3031 Take shortcuts for mv0 case in VP8 MC
Avoid edge emulation -- it isn't needed if there isn't any subpel.

Originally committed as revision 24413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 05:49:09 +00:00
Jason Garrett-Glaser
702e8d3376 Much faster VP8 mv and mode prediction
Originally committed as revision 24412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 04:26:41 +00:00
Jason Garrett-Glaser
d229ae2b62 Convert vp56_mv to 16-bit.
Saves nothing except a bit of memory/cache now, but will allow future
optimizations.

Originally committed as revision 24411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 03:33:29 +00:00
Jason Garrett-Glaser
d864dee8ab Add prefetching to VP8 decoder
~5% faster overall, probably depends on CPU and resolution.

Originally committed as revision 24410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 03:09:10 +00:00
Ronald S. Bultje
003243c3c2 Fix and enable horizontal >=SSE2 mbedge loopfilter.
Originally committed as revision 24409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 01:35:26 +00:00
Loren Merritt
c7b1d9768c relicense h264 deblock sse2 to lgpl
Originally committed as revision 24408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 00:39:49 +00:00
Loren Merritt
532e769701 sync yasm macros from x264
Originally committed as revision 24406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 22:45:16 +00:00
Jason Garrett-Glaser
8731dbd890 Eliminate one instruction in VP8 dc_add_sse4
Originally committed as revision 24405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 22:41:37 +00:00
Jason Garrett-Glaser
7dd224a42d Various VP8 x86 deblocking speedups
SSSE3 versions, improve SSE2 versions a bit.
SSE2/SSSE3 mbedge h functions are currently broken, so explicitly disable them.

Originally committed as revision 24403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 22:11:03 +00:00
Jason Garrett-Glaser
b8b231b5dc Make mmx VP8 WHT faster
Avoid pextrw, since it's slow on many older CPUs.
Now it doesn't require mmxext either.

Originally committed as revision 24397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 20:51:01 +00:00
Diego Pettenò
3fc548df28 Make ff_inverse stay with libavutil, and optional copy it to libavcodec.
The ff_inverse table is used by FASTDIV macro, defined in libavutil, but up
to now the table was defined only in libavcodec.

After this change, the main copy of ff_inverse is part of libavutil (just
like FASTDIV), but if CONFIG_SMALL is unset, then a different copy is made
available to libavcodec, to avoid the performance penalty of using an
external look up table.

Dynamic linking works, because the libraries are linked with -Bsymbolic, so
the local copy of the symbol has priority over the external; static linking
works because the table is on a standalone object file in both libraries,
so the linker is able to discard one of the two.

Tested on Linux/x86-64 and Mac OS X/x86-64.

Originally committed as revision 24383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 12:37:37 +00:00
David Conrad
af521abc28 Add header declarations for mmx/sse constants missing them
Originally committed as revision 24381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:07 +00:00
David Conrad
c7eec58170 Move ff_pw_* from vc1dsp_mmx.c to dsputil_mmx.c
Should fix compilation with icc and should help prevent any future duplicates

Originally committed as revision 24380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 10:02:03 +00:00
Ronald S. Bultje
e9e456d850 VP8 MBedge loopfilter MMX/MMX2/SSE2 functions for both luma (width=16)
and chroma (width=8).

Originally committed as revision 24378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 22:58:56 +00:00
Ronald S. Bultje
268821e76e Chroma (width=8) inner loopfilter MMX/MMX2/SSE2 for VP8 decoder.
Originally committed as revision 24377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 22:04:18 +00:00
Pascal Massimino
fd7242ddbd remove an unneeded av_realloc()
Originally committed as revision 24375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 21:54:46 +00:00
Måns Rullgård
096971e892 vp8: indent
Originally committed as revision 24368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 17:54:28 +00:00
Måns Rullgård
070ce7efad vp8: add do { } while(0) around XCHG() macro to avoid confusing if/else
This is the correct solution to the warning "fixed" in the previous
commit.

Originally committed as revision 24367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 17:54:25 +00:00
Diego Biurrun
153da88dfb Add some braces to silence the warning:
libavcodec/vp8.c:892: warning: suggest explicit braces to avoid ambiguous `else'

Originally committed as revision 24366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 17:45:54 +00:00
Vitor Sessak
a28cccf6d6 Fix memory leak in ATRAC3 decoder
Originally committed as revision 24361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 15:08:54 +00:00
Ronald S. Bultje
c60ed66dbe Revert r24339 (it causes fate failures on x86-64) - I'll figure out what's
wrong with it tomorrow or so, then re-submit.

Originally committed as revision 24341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 23:57:09 +00:00
Ronald S. Bultje
6526976f0c Remove FF_MM_SSE2/3 flags for CPUs where this is generally not faster than
regular MMX code. Examples of this are the Core1 CPU. Instead, set a new flag,
FF_MM_SSE2/3SLOW, which can be checked for particular SSE2/3 functions that
have been checked specifically on such CPUs and are actually faster than
their MMX counterparts.

In addition, use this flag to enable particular VP8 and LPC SSE2 functions
that are faster than their MMX counterparts.

Based on a patch by Loren Merritt <lorenm AT u washington edu>.

Originally committed as revision 24340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 22:38:23 +00:00
Ronald S. Bultje
1878f685c0 Implement chroma (width=8) inner loopfilter MMX/MMX2/SSE2 functions.
Originally committed as revision 24339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 21:53:28 +00:00
Ronald S. Bultje
fb9bdf048c Be more efficient with registers or stack memory. Saves 8/16 bytes stack
for x86-32, or 2 MM registers on x86-64.

Originally committed as revision 24338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 21:45:36 +00:00
Ronald S. Bultje
3facfc99da Change function prototypes for width=8 inner and mbedge loopfilter functions
so that it does both U and V planes at the same time. This will have speed
advantages when using SSE2 (or higher) optimizations, since we can do both
the U and V rows together in a single xmm register.

This also renames filter16 to filter16y and filter8 to filter8uv so that it's
more obvious what each function is used for.

Originally committed as revision 24337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 21:18:04 +00:00
Alex Converse
581a96976b aacenc: Convert if () abort() to assert().
Originally committed as revision 24336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 20:53:58 +00:00
Alex Converse
6d9f1b67e8 Cosmetics: Whitespace
Originally committed as revision 24333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:37:45 +00:00
Nathan Caldwell
2bb1d0e77a aacenc: Adjust array offsets for the current channel before calling ff_psy_suggest_window().
Patch by Nathan Caldwell <saintdev@gmail.com>

Originally committed as revision 24332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:22:44 +00:00
Nathan Caldwell
0045499dec aacenc: Refactor apply_window_and_mdct() so it no longer takes an offset channel.
Patch by Nathan Caldwell <saintdev@gmail.com>

Originally committed as revision 24331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 18:19:53 +00:00
Peter Ross
07e6384dd8 Add doxygen @file comment block
Originally committed as revision 24326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-19 11:50:07 +00:00
Loren Merritt
1ee076b1b1 more credits to D. J. Bernstein for fft
Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:06:42 +00:00
flybird2k@gmail.com
3aee5f6985 Fix memleak when using mp*float decoder.
Patch by flybird2k at gmail

Originally committed as revision 24307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 19:53:24 +00:00
Peter Ross
beaa963cab ASCII/ANSI art decoder
Originally committed as revision 24299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 08:03:35 +00:00
Peter Ross
7199c3a4e2 Add @file documentation tag
Originally committed as revision 24298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:52:47 +00:00
Peter Ross
3625999e15 8088flex TMV video decoder now uses ff_draw_pc_font()
Originally committed as revision 24297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:46:29 +00:00
Peter Ross
9e5f3dfe25 Add ff_draw_pc_font()
Originally committed as revision 24296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:44:38 +00:00
Peter Ross
ddf9dc453f Add ff_vga16_font
Originally committed as revision 24295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 07:42:15 +00:00
Diego Biurrun
0c733da8e2 Fix Doxygen @param command attribute syntax.
The [in] and [out] attributes have to be appended to the @param command.

Originally committed as revision 24283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 10:43:42 +00:00
Ronald S. Bultje
819b2dd2b1 Attempt to fix x86-64 testsuite on fate.
Originally committed as revision 24275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 21:35:30 +00:00
Alex Converse
a2310d1e41 10l: Add a missing const.
Originally committed as revision 24274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 20:28:55 +00:00
Alex Converse
1676b09994 aacenc: Template quantize_and_encode_band_cost().
Originally committed as revision 24273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 20:02:46 +00:00
Ronald S. Bultje
6f323f1251 Remove duplicate define.
Originally committed as revision 24272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:54:47 +00:00
Ronald S. Bultje
889b2c26ee Revert 24270, it contained some stuff that shouldn't have been in there.
Originally committed as revision 24271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:54:25 +00:00
Ronald S. Bultje
2356a7834b Remove duplicate define.
Originally committed as revision 24270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:42:32 +00:00
Ronald S. Bultje
ede1b9665a Give x86 r%d registers names, this will simplify implementation of the chroma
inner loopfilter, and it also allows us to save one register on x86-64/sse2.

Originally committed as revision 24269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 19:38:10 +00:00
Ronald S. Bultje
526e831a46 Change return statement, the REP_RET is a mistake since the else case (x86-64,
sse2) doesn't actually loop, so REP_RET isn't necessary.

Originally committed as revision 24268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 18:29:14 +00:00
Vitor Sessak
66b84e4ab2 Make Intel Music Coder output SAMPLE_FMT_FLT
Originally committed as revision 24267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 16:50:56 +00:00
Peter Ross
a5b588bcad Use designated initialisers for pcm codec struct
Originally committed as revision 24264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 13:02:48 +00:00
David Conrad
9ac831c2c0 vp8: Save mb border needed for intra prediction so that loop filter can run
immediately after a mb row is decoded

Originally committed as revision 24252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 07:20:35 +00:00
David Conrad
b6c420ce8f vp8: Check for malloc failure
Originally committed as revision 24251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-16 07:20:31 +00:00
Ronald S. Bultje
a711eb4829 VP8 H/V inner loopfilter MMX/MMXEXT/SSE2 optimizations.
Originally committed as revision 24250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 23:02:34 +00:00
Måns Rullgård
751484372d ARM: NEON H264 chroma loop filter 3 cycles faster
Originally committed as revision 24249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 21:59:27 +00:00
Måns Rullgård
8c55333c99 ARM: remove two insns from NEON chroma loop filter
Originally committed as revision 24243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 06:45:11 +00:00
Diego Biurrun
4563de772c Restore mistakenly removed [in]/[out] Doxygen parameter attributes.
Originally committed as revision 24241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 21:22:06 +00:00
Reimar Döffinger
b834becdae Pass the composition and ancillary ID for DVB subtitles via extradata instead
of sub_id, this allows detecting when that information is not available and
just decode everything.
In addition extradata is required for many codecs and thus in contrast to
sub_id generally already passed on by any programs using libav*.
Also ask for a sample if we encounter a stream with multiple/changing IDs.

Originally committed as revision 24238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 17:28:40 +00:00
Thilo Borgmann
bd7d08e27e Remove incomplete Doxygen for static decode_frame functions.
These functions are not documented for other decoders and
should be obvious enough even without Doxygen.
patch by Thilo Borgmann, thilo.borgmann googlemail com

Originally committed as revision 24237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 13:12:24 +00:00
Alex Converse
49d3aab764 aacenc: psy_3gpp_init(): Fix line_to_frequency for short windows.
Originally committed as revision 24233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:52 +00:00
Alex Converse
cecaf7d71a aacenc: aac_psy_init(): Factorize line_to_frequency.
Originally committed as revision 24232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:47 +00:00
Alex Converse
d7194e3b73 aacenc: psy_3gpp_init(): Fix ath for the first line in each sfb.
Fix the MDCT line to frequency calculation for the first line in each sfb.
Use this value to calculate ATH.

Originally committed as revision 24231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:41 +00:00
Alex Converse
886385afd6 aacenc: psy_3gpp_init(): Calculate barks on demand.
Originally committed as revision 24230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 04:10:31 +00:00
Måns Rullgård
e3a28ea5a9 avfft: remove useless parens
Originally committed as revision 24229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 18:01:50 +00:00
Måns Rullgård
943ebf2c4e 100l: really fix fft external API init functions
Originally committed as revision 24228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 06:54:31 +00:00
Alex Converse
afa4248e4e aacsbr: Eliminate double precision arithmetic.
Originally committed as revision 24227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 00:49:30 +00:00
Alex Converse
1ac6da3988 aacdec: Eliminate the use of doubles in the MAIN predictor.
Originally committed as revision 24226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:36:41 +00:00
Alex Converse
531cfe6e85 aacdec: Eliminate the use of doubles in decode_cce().
Originally committed as revision 24225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:36:10 +00:00
Alex Converse
93c6ff6c8c aacdec: Use a LUT to generate CCE scale.
Originally committed as revision 24224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:35:43 +00:00
James Zern
f07c9895e0 Do not map video quantizer scale (from 1-51 to 0-63) for libvpx anymore.
Patch by James Zern, jzern google

Originally committed as revision 24223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 21:23:03 +00:00
Måns Rullgård
b310844756 avfft: make init functions return NULL on failure as intended
Originally committed as revision 24219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 19:54:16 +00:00
Diego Biurrun
862be470f3 Use correct length modifier for size comparison in printf expression, fixes:
libavcodec/wmavoice.c:1906: warning: format `%lu' expects type `long unsigned int', but argument 5 has type `unsigned int'
approved by Ronald and Mans on IRC

Originally committed as revision 24218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 19:36:35 +00:00
Alex Converse
3cac899af9 Split the ADTS header decoder off of the ADTS parser.
The AAC decoder and ADTS-to-ASC BSF both require the header decoder
but not full parsing capabilities.

Originally committed as revision 24217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:52:03 +00:00
Alex Converse
7167bc94cb aacdec: Remove the warning about non-meaningful window transitions.
It created false positives on seeks and where the first frame is STOP or SHORT.
It failed to warn in illegal SHORT->LONG transitions. In general it created
much confusion and many junk bug reports from the users.

Originally committed as revision 24214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 18:24:22 +00:00
Christophe Gisquet
f2401c214d Use math constant instead of hardcoded rounded value for sqrt(0.5).
Patch by Christophe.Gisquet (gmail)

Originally committed as revision 24213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 12:32:24 +00:00
Nick Brereton
b12b16c5d3 Fix side channels when XCh extension is present.
Patch by Nick Brereton $name AT n$surname DOT net

Originally committed as revision 24210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:10:53 +00:00
Nick Brereton
d0a1885018 Move XCH parameters into context structure.
Patch by Nick Brereton $name AT n$surname DOT net

Originally committed as revision 24209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-12 09:00:17 +00:00
David Conrad
faa26db28b MMX/SSE VC1 loop filter
Originally committed as revision 24208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:53:01 +00:00
David Conrad
7af8fbd348 Make ff_pw_4 128 bits
Originally committed as revision 24207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:55 +00:00
David Conrad
fca58a815a vc1: Fix ordering of loop filter for I/B frames
All horizontal edges must be filtered before all vertical edges

Originally committed as revision 24206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:51 +00:00
David Conrad
3683b7e570 vc1: ff_draw_horiz_band needs a one row delay when the loop filter is active
Originally committed as revision 24205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 22:52:47 +00:00
James Zern
83a68cd64f Set libvpx encoding profile to libavcodec's profile.
Patch by James Zern, jzern google

Originally committed as revision 24201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 17:46:44 +00:00
Justin Ruggles
23940f1405 Add AVCodecContext.lpc_type and Add AVCodecContext.lpc_passes fields.
Add AVLPCType enum.
Deprecate AVCodecContext.use_lpc.

Originally committed as revision 24199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 16:56:20 +00:00
Kostya Shishkov
231745781f Do not try to decode less than one frame of data in TrueSpeech decoder.
This should solve issue 2085.

Originally committed as revision 24197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 14:50:20 +00:00
Reimar Döffinger
8b834ac5d9 100l, change avsubtitle_free to the actually tested and working version.
Originally committed as revision 24188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:53:39 +00:00
Reimar Döffinger
849ff0c4d1 Set pix_fmt to the correct value for the format the PGS decoder actually uses.
Originally committed as revision 24187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:48:04 +00:00
Reimar Döffinger
3174073623 Remove useless casts and memset.
Originally committed as revision 24186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:45:42 +00:00
Reimar Döffinger
e1d7c8831c Add avsubtitle_free function.
Originally committed as revision 24185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:35:00 +00:00
Pascal Massimino
c426562cbf add some buffer checks
Originally committed as revision 24184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 06:59:21 +00:00
Pascal Massimino
42859ddb7b use avccontext->frame_size where appropriate
Originally committed as revision 24183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 06:40:05 +00:00
Peter Ross
53128bc371 Fix trivial punctuation error
Originally committed as revision 24182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 05:06:08 +00:00
Reimar Döffinger
1f96d86836 Document that and why subtitle decoders do not support direct-rendering.
Originally committed as revision 24177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 23:35:15 +00:00
Måns Rullgård
8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Måns Rullgård
e6b22522c9 bswap: change ME to NE in macro names
Other parts of FFmpeg use NE (native endian) rather than ME (machine).
This makes it consistent.

Originally committed as revision 24169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:09:01 +00:00
Kostya Shishkov
42ff9d7a58 Make WMV3 decoder print more errors when decoding beta WMV9 files.
As a side effect it will also decode a lot of P-frames from those.

Originally committed as revision 24161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 14:36:53 +00:00
Aurelien Jacobs
42d1e7a287 fix VP5/6 neon dependencies
Originally committed as revision 24160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 14:26:37 +00:00
Martin Storsjö
771c86c13d Fix a leak in the AAC encoder
Originally committed as revision 24159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 09:14:19 +00:00
Reimar Döffinger
b576934d7e Add native GSM 06.10 audio decoder.
Originally committed as revision 24158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 07:55:06 +00:00
Jason Garrett-Glaser
a6f8f11b9b Change qmax/qmin limits to 63 instead of 51.
VP8 supports quantizers up to 63.

Originally committed as revision 24157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 06:34:57 +00:00
Víctor Paesa
4b04c5ca29 Current Cygwin has mkstemp().
Originally committed as revision 24144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 17:09:57 +00:00
Måns Rullgård
080ce9071d resample: replace VLA with malloc/free
Originally committed as revision 24142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 16:05:58 +00:00
Måns Rullgård
a426016cfc resample: check memory allocations in av_resample_init()
Originally committed as revision 24141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 16:05:52 +00:00
Måns Rullgård
9ebf4fb660 libxvid: add some const fixing a warning
Originally committed as revision 24138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 10:53:36 +00:00
Måns Rullgård
a30b336061 Allow using libxvid RC without enabling encoding wrapper
Originally committed as revision 24137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-09 10:53:30 +00:00
Diego Biurrun
9eb42c272b Add back previously removed non-existing function params in doxygen comments.
Originally committed as revision 24131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 22:57:27 +00:00
Diego Biurrun
65e3f89ffd Improve variable names in imlt_window_float() and mlt_compensate_output().
Originally committed as revision 24115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 17:55:37 +00:00
Ronald S. Bultje
e394953e62 Add missing doxy for function arguments.
Originally committed as revision 24110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 15:01:59 +00:00
Ronald S. Bultje
ad32966cf9 Fix two doxy warnings.
Originally committed as revision 24109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 15:00:47 +00:00
Diego Biurrun
e51f04968e Restore array sizes in doxygen parameter names.
Originally committed as revision 24108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 13:35:46 +00:00
Eli Friedman
e0b855f621 Remove a useless variable in zmbv decoder.
Patch by Eli.Friedman (gmail)

Originally committed as revision 24104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 08:58:52 +00:00
Justin Ruggles
a26f1d1092 ac3: make the value of codec_id during (E-)AC-3 parsing stay CODEC_ID_EAC3
if any E-AC-3 frames have been detected instead of switching back and forth for
AC-3 core + dependent E-AC-3 substream(s).
Fixes Issue 2022.

Originally committed as revision 24103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 23:52:24 +00:00
Alex Converse
267843844c Cosmetics: whitespace
Originally committed as revision 24100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:50:50 +00:00
Alex Converse
03d5d9b900 aacenc: Enforce LFE bitstream restrictions.
Originally committed as revision 24099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:48:51 +00:00
Carl Eugen Hoyos
0fd0ef7947 Add new decoder property max_lowres and do not init decoder if requested value is higher.
Originally committed as revision 24098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:23:36 +00:00
Måns Rullgård
38b0410902 aacdec: remove checks for impossible error conditions
Originally committed as revision 24097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 20:23:56 +00:00