platform/upstream/libav.git
14 years agortpdec_xiph: Drop RTP packets that come in without a prior fragment start marker.
Josh Allmann [Tue, 27 Jul 2010 08:16:03 +0000 (08:16 +0000)]
rtpdec_xiph: Drop RTP packets that come in without a prior fragment start marker.

This can avoid segfaults in some cases.

Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 24537 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agolibavformat needs libavcore
Måns Rullgård [Tue, 27 Jul 2010 08:03:09 +0000 (08:03 +0000)]
libavformat needs libavcore

Originally committed as revision 24536 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoadd Chinese AVS encoding via external library libxavs
Stefan Gehrer [Tue, 27 Jul 2010 07:18:36 +0000 (07:18 +0000)]
add Chinese AVS encoding via external library libxavs

Originally committed as revision 24533 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agolibavcore needs libavutil
Måns Rullgård [Tue, 27 Jul 2010 06:58:42 +0000 (06:58 +0000)]
libavcore needs libavutil

Originally committed as revision 24532 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agofate: delete build and install dirs after session
Måns Rullgård [Tue, 27 Jul 2010 01:08:44 +0000 (01:08 +0000)]
fate: delete build and install dirs after session

Originally committed as revision 24531 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agofate: add fate session script
Måns Rullgård [Mon, 26 Jul 2010 23:44:09 +0000 (23:44 +0000)]
fate: add fate session script

Originally committed as revision 24530 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agofate: create report files
Måns Rullgård [Mon, 26 Jul 2010 23:44:06 +0000 (23:44 +0000)]
fate: create report files

Originally committed as revision 24529 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoconfigure: extract detailed compiler identification
Måns Rullgård [Mon, 26 Jul 2010 23:44:02 +0000 (23:44 +0000)]
configure: extract detailed compiler identification

Originally committed as revision 24528 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoversion.sh: write version to stdout if no output file specified
Måns Rullgård [Mon, 26 Jul 2010 23:43:59 +0000 (23:43 +0000)]
version.sh: write version to stdout if no output file specified

Originally committed as revision 24527 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoAdd a simple base64 encoder for use in tests
Måns Rullgård [Mon, 26 Jul 2010 23:43:56 +0000 (23:43 +0000)]
Add a simple base64 encoder for use in tests

Originally committed as revision 24526 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoAdd an APIchanges entry for the libavcore/parseutils.{h,c} addition of
Stefano Sabatini [Mon, 26 Jul 2010 23:26:42 +0000 (23:26 +0000)]
Add an APIchanges entry for the libavcore/parseutils.{h,c} addition of
r24518.

Originally committed as revision 24525 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoAvoid the use of an intermediary variable in
Stefano Sabatini [Mon, 26 Jul 2010 23:12:48 +0000 (23:12 +0000)]
Avoid the use of an intermediary variable in
av_parse_video_rate(). Simplify.

Originally committed as revision 24524 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoMake VideoFrameRateAbbr contain a rational rather than two ints for
Stefano Sabatini [Mon, 26 Jul 2010 23:12:45 +0000 (23:12 +0000)]
Make VideoFrameRateAbbr contain a rational rather than two ints for
num and den. Simplify.

Originally committed as revision 24523 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoRemove reference to the "frame" term in variable names. Simpler and
Stefano Sabatini [Mon, 26 Jul 2010 23:12:41 +0000 (23:12 +0000)]
Remove reference to the "frame" term in variable names. Simpler and
more consistent with the function names.

Originally committed as revision 24522 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoMake av_parse_video_size() and av_parse_video_rate() return
Stefano Sabatini [Mon, 26 Jul 2010 23:12:38 +0000 (23:12 +0000)]
Make av_parse_video_size() and av_parse_video_rate() return
AVERROR(EINVAL) rather than -1 in case of unsuccess.

Originally committed as revision 24521 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoReindent.
Stefano Sabatini [Mon, 26 Jul 2010 23:12:35 +0000 (23:12 +0000)]
Reindent.

Originally committed as revision 24520 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoMake pkgconfig_generate check if the library is enabled before to
Stefano Sabatini [Mon, 26 Jul 2010 23:12:32 +0000 (23:12 +0000)]
Make pkgconfig_generate check if the library is enabled before to
generate the pc files.

Originally committed as revision 24519 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoDeprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
Stefano Sabatini [Mon, 26 Jul 2010 23:12:28 +0000 (23:12 +0000)]
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

14 years agoReindent after r24516.
Ronald S. Bultje [Mon, 26 Jul 2010 22:22:42 +0000 (22:22 +0000)]
Reindent after r24516.

Originally committed as revision 24517 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoUse inverse error branches, i.e. instead of if(something){success} else {error},
Ronald S. Bultje [Mon, 26 Jul 2010 22:22:20 +0000 (22:22 +0000)]
Use inverse error branches, i.e. instead of if(something){success} else {error},
use if(!something) {return error;} success;, which needs less indenting.

Originally committed as revision 24516 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoUse av_log(.., AV_LOG_ERROR) instead of dprintf() for logging errors. This
Ronald S. Bultje [Mon, 26 Jul 2010 22:21:14 +0000 (22:21 +0000)]
Use av_log(.., AV_LOG_ERROR) instead of dprintf() for logging errors. This
should help in making mmst a little more userfriendly, or at least debuggable.
Also use helpful error return values instead of -1.

Originally committed as revision 24515 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoUse pmaddubsw for the mbedge_filter (>=ssse3), 6-10 cycles faster.
Ronald S. Bultje [Mon, 26 Jul 2010 21:18:19 +0000 (21:18 +0000)]
Use pmaddubsw for the mbedge_filter (>=ssse3), 6-10 cycles faster.

Originally committed as revision 24514 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: Much faster SSE2 MC
Jason Garrett-Glaser [Mon, 26 Jul 2010 19:34:00 +0000 (19:34 +0000)]
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

14 years agoDefine static functions fill_image_linesize() and
S.N. Hemanth Meenakshisundaram [Mon, 26 Jul 2010 14:30:47 +0000 (14:30 +0000)]
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

14 years agoEnable no-loop memory/register saving for ssse3/sse4 also.
Ronald S. Bultje [Mon, 26 Jul 2010 14:07:57 +0000 (14:07 +0000)]
Enable no-loop memory/register saving for ssse3/sse4 also.

Originally committed as revision 24511 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoSave a register (or regsize of stackspace for x86-32) for the no-loop
Ronald S. Bultje [Mon, 26 Jul 2010 14:00:15 +0000 (14:00 +0000)]
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

14 years agoUse nested ifs instead of &&, which appears to not work with %ifidn (i.e. this
Ronald S. Bultje [Mon, 26 Jul 2010 13:56:51 +0000 (13:56 +0000)]
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

14 years agoRename pow variable to pwr.
Axel Holzinger [Mon, 26 Jul 2010 13:52:49 +0000 (13:52 +0000)]
Rename pow variable to pwr.

Patch by Axel Holzinger <aholzinger gmx de>.

Originally committed as revision 24508 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoSplit pextrw macro-spaghetti into several opt-specific macros, this will make
Ronald S. Bultje [Mon, 26 Jul 2010 13:50:59 +0000 (13:50 +0000)]
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

14 years agoReindent.
Stefano Sabatini [Mon, 26 Jul 2010 13:39:49 +0000 (13:39 +0000)]
Reindent.

Originally committed as revision 24506 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoRename av_transcode() to transcode().
Stefano Sabatini [Mon, 26 Jul 2010 13:39:41 +0000 (13:39 +0000)]
Rename av_transcode() to transcode().

av_ prefix is reserved for libav* libraries functions, it is confusing
to use it for an application function.

Originally committed as revision 24505 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: add missing free
Jason Garrett-Glaser [Mon, 26 Jul 2010 07:10:30 +0000 (07:10 +0000)]
VP8: add missing free
Fixes a tiny memory leak.

Originally committed as revision 24504 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agomatroskaenc: add support for muxing SRT tracks
Aurelien Jacobs [Sun, 25 Jul 2010 21:16:58 +0000 (21:16 +0000)]
matroskaenc: add support for muxing SRT tracks

Originally committed as revision 24503 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoadd mime-type for ASS muxer
Aurelien Jacobs [Sun, 25 Jul 2010 19:36:20 +0000 (19:36 +0000)]
add mime-type for ASS muxer

Originally committed as revision 24502 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoInclude the correct header that actually is used, use quotes instead of angle brackets
Martin Storsjö [Sun, 25 Jul 2010 19:12:35 +0000 (19:12 +0000)]
Include the correct header that actually is used, use quotes instead of angle brackets

Originally committed as revision 24501 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoFix pkgconfig_generate line for libavcore.
Stefano Sabatini [Sun, 25 Jul 2010 15:31:25 +0000 (15:31 +0000)]
Fix pkgconfig_generate line for libavcore.

libavcore depends on libavutil, and does not require extralibs.

Originally committed as revision 24500 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoAccept stdin as input for patcheck.
Rafaël Carré [Sun, 25 Jul 2010 15:02:27 +0000 (15:02 +0000)]
Accept stdin as input for patcheck.

Patch by Rafaël Carré, rafael d carre a gmail

Originally committed as revision 24499 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoFix r24445: Instead of needlessly initialising a variable, silence the warning.
Carl Eugen Hoyos [Sun, 25 Jul 2010 14:49:45 +0000 (14:49 +0000)]
Fix r24445: Instead of needlessly initialising a variable, silence the warning.

Originally committed as revision 24498 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoRename av_exit() to ffmpeg_exit().
Stefano Sabatini [Sun, 25 Jul 2010 14:42:32 +0000 (14:42 +0000)]
Rename av_exit() to ffmpeg_exit().

av_ is a prefix reserved for av* libraries functions, using that for an
application function is confusing.

Originally committed as revision 24497 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoUse X ? Y : Z construct, simplify.
Stefano Sabatini [Sun, 25 Jul 2010 14:41:06 +0000 (14:41 +0000)]
Use X ? Y : Z construct, simplify.

Originally committed as revision 24496 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoCosmetics: fix indentation and remove a useless else.
Reimar Döffinger [Sun, 25 Jul 2010 14:35:12 +0000 (14:35 +0000)]
Cosmetics: fix indentation and remove a useless else.

Originally committed as revision 24495 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoSimplify get_byte and url_fgetc.
Reimar Döffinger [Sun, 25 Jul 2010 14:33:40 +0000 (14:33 +0000)]
Simplify get_byte and url_fgetc.

Originally committed as revision 24494 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoOnly 4-bit ADPCM IMA WAV files are supported.
Carl Eugen Hoyos [Sun, 25 Jul 2010 14:33:16 +0000 (14:33 +0000)]
Only 4-bit ADPCM IMA WAV files are supported.

Originally committed as revision 24493 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoCosmetics: rename enc -> dec in opt_input_file().
Stefano Sabatini [Sun, 25 Jul 2010 10:42:00 +0000 (10:42 +0000)]
Cosmetics: rename enc -> dec in opt_input_file().

The variable refer to a *decoder* context, the old name was
misleading.

Originally committed as revision 24492 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoMove ffm_close function up to avoid a forward declaration.
Reimar Döffinger [Sun, 25 Jul 2010 07:54:33 +0000 (07:54 +0000)]
Move ffm_close function up to avoid a forward declaration.

Originally committed as revision 24491 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoffmdec: Do not manually free streams on read_header error, this is always
Reimar Döffinger [Sun, 25 Jul 2010 07:52:58 +0000 (07:52 +0000)]
ffmdec: Do not manually free streams on read_header error, this is always
handled by upper layers.
Fixes double-frees (issue 2003).
Instead call ffm_close to ensure rc_eqs are freed also in the error case.

Originally committed as revision 24490 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoFix obvious bug in assignment. Somehow, the test vectors don't test this...
Ronald S. Bultje [Sun, 25 Jul 2010 02:42:40 +0000 (02:42 +0000)]
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

14 years agoadd SubRip muxer and demuxer
Aurelien Jacobs [Sat, 24 Jul 2010 22:50:12 +0000 (22:50 +0000)]
add SubRip muxer and demuxer

Originally committed as revision 24488 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoFix SPLATB_REG mess. Used to be a if/elseif/elseif/elseif spaghetti, so this
Ronald S. Bultje [Sat, 24 Jul 2010 19:33:05 +0000 (19:33 +0000)]
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

14 years agoSimplify lavfi test script a little
Måns Rullgård [Sat, 24 Jul 2010 17:13:35 +0000 (17:13 +0000)]
Simplify lavfi test script a little

Originally committed as revision 24486 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoUnbreak parallel lavfi testing
Måns Rullgård [Sat, 24 Jul 2010 17:13:32 +0000 (17:13 +0000)]
Unbreak parallel lavfi testing

Originally committed as revision 24485 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoaacenc: TLS: Save maximum values for each swb in a table.
Alex Converse [Sat, 24 Jul 2010 17:11:51 +0000 (17:11 +0000)]
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

14 years ago10l: Remove some commented out code that slipped in.
Alex Converse [Sat, 24 Jul 2010 17:01:50 +0000 (17:01 +0000)]
10l: Remove some commented out code that slipped in.

Originally committed as revision 24483 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoaacenc: TLS: Try to preserve some energy in each non-zero band.
Alex Converse [Sat, 24 Jul 2010 16:36:01 +0000 (16:36 +0000)]
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

14 years agoFix compilation, forgot to add const also to the
Reimar Döffinger [Sat, 24 Jul 2010 14:43:55 +0000 (14:43 +0000)]
Fix compilation, forgot to add const also to the
definition of ff_yuv2packedX_altivec

Originally committed as revision 31782 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoUse "const" qualifier for pointers that point to input data of
Reimar Döffinger [Sat, 24 Jul 2010 13:59:49 +0000 (13:59 +0000)]
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

14 years agoFix a "function declaration isn't a prototype" warning.
Reimar Döffinger [Sat, 24 Jul 2010 12:58:28 +0000 (12:58 +0000)]
Fix a "function declaration isn't a prototype" warning.

Originally committed as revision 24480 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoFix use of uninitialized data: A array element can not be
Reimar Döffinger [Sat, 24 Jul 2010 11:55:22 +0000 (11:55 +0000)]
Fix use of uninitialized data: A array element can not be
used to initialized another array element of the same array.

Originally committed as revision 24479 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoMore const-correctness fixes to avoid warnings.
Reimar Döffinger [Sat, 24 Jul 2010 11:37:58 +0000 (11:37 +0000)]
More const-correctness fixes to avoid warnings.

Originally committed as revision 31781 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoAdd some "const" to avoid incompatible pointer type warnings
Reimar Döffinger [Sat, 24 Jul 2010 11:33:28 +0000 (11:33 +0000)]
Add some "const" to avoid incompatible pointer type warnings

Originally committed as revision 31780 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoAdd missing comma, fix rgb2yuv_table[SWS_CS_SMPTE240M] coefficients.
Stefano Sabatini [Sat, 24 Jul 2010 11:19:39 +0000 (11:19 +0000)]
Add missing comma, fix rgb2yuv_table[SWS_CS_SMPTE240M] coefficients.

Originally committed as revision 31779 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoAdd some comments to the rgb2yuv_table, clarifying the standard where
Stefano Sabatini [Sat, 24 Jul 2010 11:19:35 +0000 (11:19 +0000)]
Add some comments to the rgb2yuv_table, clarifying the standard where
are defined.

Originally committed as revision 31778 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoNever shrink the ByteIOContext buffer in ff_rewind_with_probe_data
Martin Storsjö [Sat, 24 Jul 2010 09:04:44 +0000 (09:04 +0000)]
Never shrink the ByteIOContext buffer in ff_rewind_with_probe_data

If there is little unread data in the ByteIOContext buffer, this may lead
to reducing the size of the ByteIOContext buffer to little more the probe
data size. This can lead to suboptimal aviobuf behaviour, e.g. making some
demuxers fail to do short seeks backwards (if the input isn't seekable).

Originally committed as revision 24478 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agompegts: Warn if unable to seek back
Martin Storsjö [Sat, 24 Jul 2010 08:43:52 +0000 (08:43 +0000)]
mpegts: Warn if unable to seek back

Originally committed as revision 24477 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoaacenc: Prevent premature termination of the two loop search.
Alex Converse [Sat, 24 Jul 2010 04:23:26 +0000 (04:23 +0000)]
aacenc: Prevent premature termination of the two loop search.

Originally committed as revision 24476 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoaacdec: Only load and write each predictor variable once.
Alex Converse [Sat, 24 Jul 2010 02:57:08 +0000 (02:57 +0000)]
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

14 years agoaacdec: 4% faster main profile decoding.
Alex Converse [Sat, 24 Jul 2010 02:41:47 +0000 (02:41 +0000)]
aacdec: 4% faster main profile decoding.

Originally committed as revision 24474 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoaacenc: Favor log2f() and sqrtf() over log2() and sqrt().
Alex Converse [Sat, 24 Jul 2010 02:10:59 +0000 (02:10 +0000)]
aacenc: Favor log2f() and sqrtf() over log2() and sqrt().

Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoaacenc: Factorize some scalefactor utilities.
Alex Converse [Fri, 23 Jul 2010 22:37:42 +0000 (22:37 +0000)]
aacenc: Factorize some scalefactor utilities.

Originally committed as revision 24472 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoInline asm for VP56 arith coder
Eli Friedman [Fri, 23 Jul 2010 21:46:30 +0000 (21:46 +0000)]
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

14 years agoVP8: Inline traversing vp8_small_mvtree
David Conrad [Fri, 23 Jul 2010 21:46:25 +0000 (21:46 +0000)]
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

14 years agoVP8: Use vp56_rac_get_prob_branchy when the bit is only used by an if()
David Conrad [Fri, 23 Jul 2010 21:46:20 +0000 (21:46 +0000)]
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

14 years agoDecode DCT tokens by branching to a different code path for each branch
David Conrad [Fri, 23 Jul 2010 21:46:17 +0000 (21:46 +0000)]
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

14 years agoMove renormalization of the VP56 arith decoder to before decoding a bit
David Conrad [Fri, 23 Jul 2010 21:46:14 +0000 (21:46 +0000)]
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

14 years agoSplit renorm of vp56 arith decoder to its own function
David Conrad [Fri, 23 Jul 2010 21:46:08 +0000 (21:46 +0000)]
Split renorm of vp56 arith decoder to its own function

Originally committed as revision 24466 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agovp56's arith decoder's code_word is only 16 bits, no need for unsigned long
David Conrad [Fri, 23 Jul 2010 21:46:01 +0000 (21:46 +0000)]
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

14 years agoAdd myself to VP8 copyright and maintainers.
Jason Garrett-Glaser [Fri, 23 Jul 2010 21:42:35 +0000 (21:42 +0000)]
Add myself to VP8 copyright and maintainers.
Also add Ronald to maintainers.

Originally committed as revision 24464 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: always_inline some things to force gcc to do the right thing
Jason Garrett-Glaser [Fri, 23 Jul 2010 21:36:21 +0000 (21:36 +0000)]
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

14 years agoVP8: use AV_RL24 instead of defining a new RL24.
Jason Garrett-Glaser [Fri, 23 Jul 2010 21:17:18 +0000 (21:17 +0000)]
VP8: use AV_RL24 instead of defining a new RL24.

Originally committed as revision 24462 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoswscale-test: scale from reference to source only once for each algorithm
Ramiro Polla [Fri, 23 Jul 2010 20:27:54 +0000 (20:27 +0000)]
swscale-test: scale from reference to source only once for each algorithm

Originally committed as revision 31777 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoindent
Ramiro Polla [Fri, 23 Jul 2010 20:26:54 +0000 (20:26 +0000)]
indent

Originally committed as revision 31776 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoswscale-test: change order tests are run, maintaining the same algorithm for
Ramiro Polla [Fri, 23 Jul 2010 20:26:32 +0000 (20:26 +0000)]
swscale-test: change order tests are run, maintaining the same algorithm for
sequential geometries instead of running all algorithms sequentially for each
geometry.

Originally committed as revision 31775 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

14 years agoVP8: Slightly faster MV selection
Jason Garrett-Glaser [Fri, 23 Jul 2010 19:06:22 +0000 (19:06 +0000)]
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

14 years agoVP8: use AV_ZERO32 instead of AV_WN32A where relevant
Jason Garrett-Glaser [Fri, 23 Jul 2010 10:42:19 +0000 (10:42 +0000)]
VP8: use AV_ZERO32 instead of AV_WN32A where relevant

Originally committed as revision 24460 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: eliminate redundant code in r24458
Jason Garrett-Glaser [Fri, 23 Jul 2010 10:34:21 +0000 (10:34 +0000)]
VP8: eliminate redundant code in r24458

Originally committed as revision 24459 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: shave a few clocks off check_intra_pred_mode
Jason Garrett-Glaser [Fri, 23 Jul 2010 10:24:38 +0000 (10:24 +0000)]
VP8: shave a few clocks off check_intra_pred_mode

Originally committed as revision 24458 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoAdd VP8 sign bias code regtest. Not tested by the official conformance suite.
Vitor Sessak [Fri, 23 Jul 2010 10:09:46 +0000 (10:09 +0000)]
Add VP8 sign bias code regtest. Not tested by the official conformance suite.

Originally committed as revision 24457 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: fix broken sign bias code in MV pred
Jason Garrett-Glaser [Fri, 23 Jul 2010 06:41:35 +0000 (06:41 +0000)]
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

14 years agoVP8: optimize DC-only chroma case in the same way as luma.
Jason Garrett-Glaser [Fri, 23 Jul 2010 06:02:52 +0000 (06:02 +0000)]
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

14 years agoVP8: Clean up some variable shadowing.
Jason Garrett-Glaser [Fri, 23 Jul 2010 03:44:37 +0000 (03:44 +0000)]
VP8: Clean up some variable shadowing.

Originally committed as revision 24454 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8 asm: cosmetics (spacing)
Jason Garrett-Glaser [Fri, 23 Jul 2010 03:02:56 +0000 (03:02 +0000)]
VP8 asm: cosmetics (spacing)

Originally committed as revision 24453 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: 30% faster idct_mb
Jason Garrett-Glaser [Fri, 23 Jul 2010 02:58:27 +0000 (02:58 +0000)]
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

14 years agoVP8: smarter prefetching
Jason Garrett-Glaser [Fri, 23 Jul 2010 01:59:56 +0000 (01:59 +0000)]
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

14 years agoIn h264 parser, return immediately if buf_size is 0, avoid printing
Baptiste Coudurier [Fri, 23 Jul 2010 00:34:09 +0000 (00:34 +0000)]
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

14 years agoIn mpegts muxer, fix rbsp trailing bits in AUD nal, fixes issue #2122
Baptiste Coudurier [Fri, 23 Jul 2010 00:27:17 +0000 (00:27 +0000)]
In mpegts muxer, fix rbsp trailing bits in AUD nal, fixes issue #2122

Originally committed as revision 24449 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoVP8: clear DCT blocks in iDCT instead of using clear_blocks.
Jason Garrett-Glaser [Fri, 23 Jul 2010 00:07:16 +0000 (00:07 +0000)]
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

14 years agoVP8: avoid a memset for non-i4x4 blocks with no coefficients
Jason Garrett-Glaser [Fri, 23 Jul 2010 00:05:44 +0000 (00:05 +0000)]
VP8: avoid a memset for non-i4x4 blocks with no coefficients

Originally committed as revision 24447 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoGet rid of more unnecessary dereferences in VP8 deblocking
Jason Garrett-Glaser [Thu, 22 Jul 2010 23:11:40 +0000 (23:11 +0000)]
Get rid of more unnecessary dereferences in VP8 deblocking

Originally committed as revision 24446 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoShut up an uninitialized variable GCC warning in VP8.
Jason Garrett-Glaser [Thu, 22 Jul 2010 23:04:51 +0000 (23:04 +0000)]
Shut up an uninitialized variable GCC warning in VP8.

Originally committed as revision 24445 to svn://svn.ffmpeg.org/ffmpeg/trunk

14 years agoSmarter VP8 prefetching
Jason Garrett-Glaser [Thu, 22 Jul 2010 23:03:08 +0000 (23:03 +0000)]
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