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
15 years ago
Michael Niedermayer
5820b90da0
Fix indention
...
Originally committed as revision 22484 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
2ce1c2e063
Always reset slice_table.
...
Previously, the area of a lost slice would be left at the slice number of the previous
frame which could occasionally match the number of the next slice and thus a non existing
slice could have been used for prediction leading to additional decoding errors in otherwise
undamaged slices.
Originally committed as revision 22483 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
3d9137c883
Reorder indexes in weight tables.
...
5 cpu cycles faster.
Originally committed as revision 22183 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
1a29c6a0bb
cosmetic addition of {}
...
Originally committed as revision 22178 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
70118abd68
Merge weight & offset tables, 15 cpu cycles faster.
...
Originally committed as revision 22169 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
72f86ec013
Simplify implicit_weight table init.
...
Originally committed as revision 22168 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
145061a176
Fix a bunch of bugs ive introduced recently that broke threaded decoding.
...
might also fix issue1788
Originally committed as revision 22141 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Aurelien Jacobs
bc99737689
revert r22112 which broke playback of cathedral-beta2-400extra-crop-avc.mp4
...
Originally committed as revision 22125 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Janusz Krzysztofik
7c994c366c
Process picture aspect ratio changes in H.264.
...
This fixes playback of such streams with ffplay (but does not affect
current ffmpeg).
Patch by Janusz Krzysztofik, jkrzyszt A tis D icnet D pl
Originally committed as revision 22112 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
Michael Niedermayer
36b54927fd
Dont allocate direct_table 8 times too large.
...
Originally committed as revision 22056 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
Michael Niedermayer
d43c192236
Keep mvd_table values of only 2 mb rows.
...
Originally committed as revision 22047 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
Michael Niedermayer
db8cb47d15
Try to set has_b_frames in codec init if we know everything alraedy.
...
This fixes some issues with the first few timestamps.
Originally committed as revision 21976 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
9855b2e3c8
Move extradata reading code into codec init instead of doing it
...
in read frame.
Originally committed as revision 21975 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
avcoder
0cb17649d8
Remove unused variable mb_xy.
...
Patch by avcoder, ffmpeg gmail
Originally committed as revision 21945 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
Michael Niedermayer
024bf79fe0
Simplify deblock_left/top condition for deblocking_filter=2
...
Originally committed as revision 21876 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
Michael Niedermayer
f4b8b82514
Merge decode_cabac_mb_dqp() with surronding code.
...
~20 cpu cycles faster
Originally committed as revision 21826 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
94cb599443
Drop if(0) code.
...
Originally committed as revision 21825 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alexander Strange
78998bf217
h264: Remove unused variables.
...
Originally committed as revision 21815 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
02e8c5f0a5
Dont drop B frames without last_picture.
...
Fixes issue1722
Originally committed as revision 21783 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
3566042a0d
Try to support truncated h264 frames mixed with mpeg pes headers in mkv.
...
Fixes issue1585
Originally committed as revision 21772 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
055a6aa76a
Set x264_build so that checks are simpler.
...
Originally committed as revision 21681 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
3102d180bb
Fix large timebases.
...
Fixed issue1633
Originally committed as revision 21636 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Rafaël Carré
dd0cd3d273
Export H264 profile and level in AVCodecContext.
...
Patch by Rafaël Carré, rafael D carre A gmail
Originally committed as revision 21517 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
Michael Niedermayer
aaa995d7f2
100l typo fix, mixed up +-1 forcing the loop filter skip to never skip.
...
Originally committed as revision 21455 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alexander Strange
1e4f1c56d7
100l, correct wrong H.264+adaptive MBAFF decoding
...
Fixes several FATE tests.
Originally committed as revision 21445 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Alexander Strange
0b69d6254f
H.264: Use 64-/128-bit write-combining macros for copies
...
2-3% faster decode on x86-32 core2.
Originally committed as revision 21440 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
77d40dce93
Remove is_complex from loop_filter() its useless there in its current form.
...
Originally committed as revision 21423 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Laurent Aimar
0dc343d4cb
Added a missing const to ff_h264_get_slice_type().
...
Originally committed as revision 21421 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
50eb40a799
Remove all uses of slice_type* from the loop filter, also remove its
...
initialization befre the loop filter.
Originally committed as revision 21416 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
0c32e19d58
Move +52 from the loop filter to the alpha/beta offsets in the context.
...
This should fix a segfault, also it might be faster on systems where the
+52 wasnt free.
Originally committed as revision 21406 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
7231ccf4d5
Cosmetic, get rid of &x[0]
...
Originally committed as revision 21309 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
2b3649f656
Fix compilation with -O0.
...
Originally committed as revision 21308 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
fb823b7791
Fix 10l segfault with threads.
...
Originally committed as revision 21293 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
6d7e6b2657
Perform reference remapping at fill_cache() time instead of in the
...
loop filter. This removes one obstacle of getting ff_h264_filter_mb_fast()
bitexact. code is maybe 0.1% faster
Originally committed as revision 21280 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
44a5e7b64c
Move the qp check to skip the loop filter up.
...
Originally committed as revision 21274 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
f432b43b08
Split fill_caches() between filter and decoder.
...
Originally committed as revision 21271 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
c988f97566
Rearchitecturing the stiched up goose part 1
...
Run loop filter per row instead of per MB, this also should make it
much easier to switch to per frame filtering and also doing so in a
seperate thread in the future if some volunteer wants to try.
Overall decoding speedup of 1.7% (single thread on pentium dual / cathedral sample)
This change also allows some optimizations to be tried that would not have
been possible before.
Originally committed as revision 21270 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
4c568cbcac
Consider slice_beta_offet in qp_thresh.
...
Originally committed as revision 21244 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
2e36c931f0
Avoid wasting 4 cpu cycles per MB in redundantly calculating qp_thresh.
...
Originally committed as revision 21243 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago