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
Alexander Strange
677dab59cb
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
Originally committed as revision 21814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 21:08:17 +00:00
Alexander Strange
cd12c37729
Fix integer overflow warnings in h264.h
...
Fixes:
h264.h: In function 'fill_filter_caches':
h264.h:1216:73: warning: integer overflow in expression
h264.h:1307:81: warning: integer overflow in expression
Originally committed as revision 21813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 20:57:13 +00:00
Michael Niedermayer
bb770c5b52
Merge (IS_SKIP(mb_type) || IS_DIRECT(mb_type)
...
Originally committed as revision 21812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 20:13:54 +00:00
Michael Niedermayer
2e4362af14
Skiped MBs dont need the cbp stuff so skip initing that.
...
Originally committed as revision 21811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 20:13:10 +00:00
Michael Niedermayer
e2b28acf89
Also skip direct/mvd_cache init for skiped blocks.
...
Odd thing is i thought ive tryed this already and it failed previously.
Originally committed as revision 21809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:39:18 +00:00
Michael Niedermayer
cb9285a246
Move more code under if(!IS_DIRECT(mb_type)).
...
Originally committed as revision 21806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:00:51 +00:00
Michael Niedermayer
f2b3763736
Skip some more code that isnt needed for direct MBs.
...
Originally committed as revision 21798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:23:46 +00:00
Michael Niedermayer
5ca43c25f6
Move setting MB_TYPE_L0L1 for direct MBs up, this is simpler.
...
Originally committed as revision 21794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 15:57:49 +00:00
Michael Niedermayer
da452acac6
Dont calculate any surrounding MVs for temporal MBs
...
Originally committed as revision 21793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 15:30:27 +00:00
Michael Niedermayer
8a3b90686d
Remove an apparently unneeded && !FRAME_MBAFF.
...
This should speed the affected cases (MBAFF temporal direct MBs) up.
Originally committed as revision 21686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 04:24:50 +00:00
Michael Niedermayer
3a06e8647f
Ooops, 10l forgot to commit h264.h.
...
Originally committed as revision 21680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 23:15:53 +00:00
Rafaël Carré
881b5b80da
Fix svq3_* function declarations.
...
Patch by Rafaël Carré, rafael D carre A gmail
Originally committed as revision 21489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 22:22:01 +00:00
Michael Niedermayer
8652e44acd
Simplify left_xy init
...
Originally committed as revision 21470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:15:55 +00:00
Michael Niedermayer
599fe45b8d
Split fill_caches() between loopfilter & decode, the 2 no longer where common
...
enough to justify the messy interleaving.
Originally committed as revision 21469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 23:54:11 +00:00
Michael Niedermayer
dfe4dc154b
use left_xy[1] in mbaff QP loop filter check, this improves the amount that can
...
be skiped.
Originally committed as revision 21465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 20:28:58 +00:00
Michael Niedermayer
aebf31236e
Optimize mv/ref cache init for left MB.
...
Originally committed as revision 21464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 20:25:14 +00:00
Michael Niedermayer
a715af8ff4
Simplify left_xy content for the loop filter, this also makes it closer to
...
what is needed and its faster too.
Originally committed as revision 21458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 14:55:19 +00:00
Michael Niedermayer
99344d4372
Set top & left types for deblock in fill_caches().
...
Originally committed as revision 21456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:38:18 +00:00
Michael Niedermayer
66472bcde0
cosmetic
...
Originally committed as revision 21454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:28:55 +00:00
Michael Niedermayer
3046c25ec5
Fix qp_thres loop filter check for MBAFF.
...
Originally committed as revision 21453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:27:22 +00:00