Commit Graph

166 Commits

Author SHA1 Message Date
Howard Chu
82f1ffc7ba Cleanup prev commit, flag variable should start with 0
Originally committed as revision 23364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 20:14:14 +00:00
Howard Chu
23584bec87 Parse avctx->extradata if available.
Fixes many "non-existing PPS referenced" error messages

Originally committed as revision 23363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 18:50:39 +00:00
Howard Chu
05e953193d Factorize ff_h264_decode_extradata().
Patch by Howard Chu, hyc highlandsun com

Originally committed as revision 23340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-26 19:00:59 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Diego Biurrun
d02bb3ecf1 Move static function fill_filter_caches() from h264.h to h264.c.
The function is only used within that file, so it makes sense to place
it there. This fixes many warnings of the type:
h264.h:1170: warning: ‘fill_filter_caches’ defined but not used

Originally committed as revision 22876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:15:49 +00:00
Michael Niedermayer
1052b76f0f Fix implicit weight for b frames in mbaff.
Originally committed as revision 22733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 21:05:11 +00:00
Benoit Fouet
32e543f866 Replace @returns by @return.
Originally committed as revision 22729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 15:50:57 +00:00
Måns Rullgård
4693b031a3 Move H264 dsputil functions into their own struct
This moves the H264-specific functions from DSPContext to the new
H264DSPContext.  The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.

The qpel and chroma MC functions are not moved as these are used by
non-h264 code.

Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 01:17:00 +00:00
Måns Rullgård
404793f4ac H264: fix signed overflow in constant multiplication
This fixes libavcodec/h264.h:1100: warning: integer overflow in expression

Originally committed as revision 22558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:00:53 +00:00
Måns Rullgård
84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant.  All uses are replaced with the generic
DECLARE_ALIGNED macro instead.

Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
Michael Niedermayer
38768cb70a Port Optimizations about *_type init from decode to filter code.
1 cpu cycle faster

Originally committed as revision 22193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:00:05 +00:00
Michael Niedermayer
b46b5ac9f8 Optimize *_type init, 1.5 cpu cycles faster.
Originally committed as revision 22192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 01:03:15 +00:00
Michael Niedermayer
3d9137c883 Reorder indexes in weight tables.
5 cpu cycles faster.

Originally committed as revision 22183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:10:08 +00:00
Michael Niedermayer
bd8868e092 Move all context fields that are not used in the mb and block layers
to the end of the structure.
4 cpu cycles faster in 3k cpu cycles

Originally committed as revision 22181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 20:36:56 +00:00
Michael Niedermayer
65f3c029b9 remove unused left_border field from context.
Originally committed as revision 22179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:44:27 +00:00
Michael Niedermayer
af2b0df40f Note about luma/chroma_weight tables and their datatype.
Originally committed as revision 22177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:31:58 +00:00
Michael Niedermayer
d7f5e520bf move svq3 specific fields to the end of the context
Originally committed as revision 22171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 16:47:40 +00:00
Michael Niedermayer
70118abd68 Merge weight & offset tables, 15 cpu cycles faster.
Originally committed as revision 22169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 14:41:43 +00:00
Michael Niedermayer
f57880d244 Another 3 useless zeroing instructions.
Originally committed as revision 22162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 02:20:48 +00:00
Michael Niedermayer
16b802fe93 Load the whole left side of mv&ref only when needed.
30 cpu cycles faster

Originally committed as revision 22161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 01:38:27 +00:00
Michael Niedermayer
ce9c691616 Merge h->slice_table[left_xy[0/1] ] checks, 4 cpu cycles speedup
Originally committed as revision 22086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 04:09:48 +00:00
Michael Niedermayer
82fb5bb2ee Split *_type setting up, 4 cpu cycles faster.
Originally committed as revision 22085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 03:46:16 +00:00
Michael Niedermayer
cf41a02b1b Only load the topleft mv/ref when the topright is unavailable.
8 cpu cycles faster.

Originally committed as revision 22079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 15:26:11 +00:00
Michael Niedermayer
cf7b67bc40 Remove some useless operations from the code setting left_cbp.
maybe 0.5 cpu cycles faster

Originally committed as revision 22078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 15:03:00 +00:00
Michael Niedermayer
59b5370f02 Simplify code to set cbp_*
this seems 1 cpu cycle slower even though we practically just remove code.
Speed loss seems caused by the merge of if(left_type), iam commiting this
anyway as i cant imagine this to be anything but compiler messup.

Originally committed as revision 22073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 09:13:40 +00:00
Michael Niedermayer
747db4e31a Move init of right side of ref_cache from fill_caches() to init_the_darn_decoder().
Originally committed as revision 22071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 03:27:52 +00:00
Michael Niedermayer
77c6edb846 Remove 3 mv_cache zeroing instructions that zeroed the right side.
This seems unneeded as nothing seems to ever set it to non zero values.

Originally committed as revision 22070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 02:54:03 +00:00
Michael Niedermayer
8f8497ae78 Remove useless check of the 2 left MBs of a pair being in the same slice.
Originally committed as revision 22069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 01:38:12 +00:00
Michael Niedermayer
6e2fe0f20a Remove unneeded line of code from the neighbor setting code in h264.
Originally committed as revision 22067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 00:10:35 +00:00
Michael Niedermayer
358b5b1a59 Get rid of mb2b8_xy and b8_stride, change arrays organized based on b8_stride to
ones based on mb_stride in h264.
about 20 cpu cycles faster overall per MB

Originally committed as revision 22065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 23:44:42 +00:00
Michael Niedermayer
5e350863cc Store data in direct_table interleaved.
seems 20cpu cycles faster

Originally committed as revision 22055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 15:27:55 +00:00
Michael Niedermayer
013202d720 Simplify intra4x4_pred_mode_cache init.
Originally committed as revision 22054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:54:31 +00:00
Michael Niedermayer
662a5b2370 Reorder intra4x4_pred_mode so that we can read/write 4 values at once.
3-7 cpu cycles faster

Originally committed as revision 22053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:26:12 +00:00
Michael Niedermayer
5b0fb5244d Store intra4x4_pred_mode per row only.
about 5 cpu cycles slower in the local code but should be overall faster
due to reduced cache use. (my sample though has too few intra4x4 blocks
for this to be meassureable easily either way)

Originally committed as revision 22052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:02:39 +00:00
Michael Niedermayer
c2186cbddc unroll tiny and trivial loop. Same speed but clearer.
Originally committed as revision 22051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 12:51:32 +00:00
Michael Niedermayer
e1c88a2138 Cut the size of mvd_table by yet another factor of 2.
The code read/write code itself was 1 cycle faster, overall its
likely more due to cache effects

Originally committed as revision 22048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 04:11:33 +00:00
Michael Niedermayer
d43c192236 Keep mvd_table values of only 2 mb rows.
Originally committed as revision 22047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 02:42:25 +00:00
Michael Niedermayer
b5bd070029 Change mvd_cache & mvd_table to 8bit, this is overall a bit faster
for high resolution videos.
about 20cycles faster per MB for cathederal.

Originally committed as revision 22038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 20:43:06 +00:00
Michael Niedermayer
9127a369ad Replace /2 by faster >>1 as the mvd values are now all positive.
Originally committed as revision 22013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 01:57:31 +00:00
Michael Niedermayer
5c34e36a23 Remove unused variable. Seems i forgot to commit this.
Originally committed as revision 22012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 01:56:27 +00:00
Diego Biurrun
dd3475682e Remove unused variable, fixes warnings of the type:
libavcodec/h264.h:816: warning: unused variable `mb_xy'

Originally committed as revision 21941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 15:29:17 +00:00
Måns Rullgård
19769ece3b H264: use alias-safe macros
This eliminates all aliasing violation warnings in h264 code.
No measurable speed difference with gcc-4.4.3 on i7.

Originally committed as revision 21881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 16:24:31 +00:00
Michael Niedermayer
69a28f3e2b Move predict_field_decoding_flag() from h264.h to .c as its only used there and belongs
there as well.

Originally committed as revision 21861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 02:25:05 +00:00
Michael Niedermayer
69cc31832f Move check for and call of predict_field_decoding_flag() from the mb code to
the row code. This function would only be needed on a MB basis for MBAFF+FMO

Originally committed as revision 21860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 02:14:02 +00:00
Michael Niedermayer
c1bb66ac19 Split setting neighboring MBs from fill_decode_caches()
no speed change.

Originally committed as revision 21842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 22:07:02 +00:00
Michael Niedermayer
2dc380ca8e Store sub_mb_type in direct_cache/direct_table.
This is equal complexity but could be more usefull.

Originally committed as revision 21821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 14:41:27 +00:00
Michael Niedermayer
3d2c3ef4b4 Remove slice_table checks from decode_cabac_mb_cbp_luma() and set left/top_cbp so
these checks arent needed.

Originally committed as revision 21819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 02:08:48 +00:00
Michael Niedermayer
056c502155 Revert r21814
Log:
	h264: Fix pointer warnings by removing redundant [0]

	Fixes:
	h264.h:1222:38: warning: initialization from incompatible pointer type
	h264.h:1299:38: warning: initialization from incompatible pointer type
	h264.h:1314:42: warning: initialization from incompatible pointer type

Reason: breaks h264 decoding & fate

Originally committed as revision 21818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 02:04:41 +00:00
Michael Niedermayer
e916764675 Direct temporal skiped MBs dont need fill_decode_caches() at all so dont call it
for them.

Originally committed as revision 21816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 22:53:44 +00:00
Alexander Strange
78998bf217 h264: Remove unused variables.
Originally committed as revision 21815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 21:09:38 +00:00