Ronald S. Bultje
fcb7e535dd
Reindent.
...
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-22 18:22:03 +01:00
Ronald S. Bultje
9107892624
Fix crash on resolution change (issue 2393).
...
Don't free RBSP tables (containing decoded NAL units) on resolution
change, because we actually need this data to decode the frame after
reiniting (with new resolution). Fixed issue 2393.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-22 18:21:59 +01:00
Alex Converse
ff3d43104f
Remove H.264 encoder fragments
...
It's incomplete, no one is working on it, and when someone asks about
working on it we advise them not to.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 16:15:53 +00:00
Ronald S. Bultje
772225c041
Revert 2a1f431d38
, it broke H264 lossless.
...
(cherry picked from commit 66c6b5e2a5
)
2011-01-21 20:36:01 +01:00
Ronald S. Bultje
66c6b5e2a5
Revert 2a1f431d38
, it broke H264 lossless.
2011-01-20 17:24:44 -05:00
Jason Garrett-Glaser
2a1f431d38
H.264/SVQ3: make chroma DC work the same way as luma DC
...
No speed improvement, but necessary for some future stuff.
Also opens up the possibility of asm chroma dc idct/dequant.
Originally committed as revision 26349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 01:10:46 +00:00
Jason Garrett-Glaser
290fabc684
Port SVQ3 to use the new mb_luma_dc method of storing luma DC coefficients.
...
Doesn't help speed as there isn't an asm implementation yet, but consistency
is a good thing.
Originally committed as revision 26348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 00:41:18 +00:00
Jason Garrett-Glaser
65344775b8
H.264: Remove useless arg to chroma_dc_dequant_idct_c
...
Originally committed as revision 26345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 23:46:55 +00:00
Jason Garrett-Glaser
2e18660115
Fix SVQ3
...
Regression in r26336-7.
Originally committed as revision 26341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 22:23:42 +00:00
Jason Garrett-Glaser
0d1d01cf70
Reindent after r26337.
...
Originally committed as revision 26338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 21:36:45 +00:00
Jason Garrett-Glaser
5657d14094
H.264: switch to x264-style tracking of luma/chroma DC NNZ
...
Useful so that we don't have to run the hierarchical DC iDCT if there aren't
any coefficients. Opens up some future opportunities for optimization as well.
Originally committed as revision 26337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 21:36:16 +00:00
Jason Garrett-Glaser
19fb234e4a
H.264: split luma dc idct out and implement MMX/SSE2 versions
...
About 2.5x the speed.
NOTE: the way that the asm code handles large qmuls is a bit suboptimal.
If x264-style dequant was used (separate shift and qmul values), it might
be possible to get some extra speed.
Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 21:34:25 +00:00
Jason Garrett-Glaser
ca32f7f208
H.264: eliminate non-transposed scantable support.
...
It was an ugly hack to begin with and didn't give any performance.
NOTE: this patch opens up some future simplifications to be made (such as
removing some of the scantables from H264Context) but doesn't take advantage
of them yet.
Originally committed as revision 26329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 19:04:59 +00:00
Jason Garrett-Glaser
09fffe9bd4
H.264: fix grayscale decoding with explicit wpred
...
Originally committed as revision 26306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-10 23:42:45 +00:00
Alexander Strange
0f01602362
SVQ3: Allow decoding if thread_count is > 1
...
svq3 still doesn't support multithreading, but it's simpler for clients if
they can enable threading for all codecs by default.
Originally committed as revision 26015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 00:22:47 +00:00
Baptiste Coudurier
9d252137e5
In h264 decoder, fix decoding when nal end sequence is present
...
Originally committed as revision 25809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 01:16:37 +00:00
Reimar Döffinger
00d1e96bf4
H.264 decode: support cropping up to 28 pixels in interlaced mode.
...
Contrary to progressive, just being able to crop up to 14/15 pixels
is not enough to encode all supported resolutions, and the new
behaviour is also consistent with e.g. MPEG-2 etc.
Originally committed as revision 25669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:52:28 +00:00
Carl Eugen Hoyos
5dd7f994c6
Do not assume PIX_FMT_YUV420P will remain the only supported output format for H264.
...
Originally committed as revision 25352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 17:24:18 +00:00
Michael Niedermayer
cfa5a81ea6
Move aspect ratio 0/0 avoidance code so the values in the sps struct are not missed.
...
This preempts issues with av_cmp_q(0/0, X)
Originally committed as revision 25337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 01:43:25 +00:00
Jason Garrett-Glaser
4dece8c7f8
Try to fix crashes introduced by r25218
...
r25218 made assumptions about the existence of past reference frames that
weren't necessarily true.
Originally committed as revision 25243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 09:06:22 +00:00
Jason Garrett-Glaser
e2983d6eac
Improve error concealment of lost frames
...
If a frame is lost, replace it with data from the previous valid frame.
Originally committed as revision 25218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 04:43:41 +00:00
Ronald S. Bultje
1d16a1cf99
Rename h264_idct_sse2.asm to h264_idct.asm; move inline IDCT asm from
...
h264dsp_mmx.c to h264_idct.asm (as yasm code). Because the loops are now
coded in asm instead of C, this is (depending on the function) up to 50%
faster for cases where gcc didn't do a great job at looping.
Since h264_idct_add8() is now faster than the manual loop setup in h264.c,
in-asm idct calling can now be enabled for chroma as well (see r16207). For
MMX, this is 5% faster. For SSE2 (which isn't done for chroma if h264.c does
the looping), this makes it up to 50% faster. Speed gain overall is ~0.5-1.0%.
Originally committed as revision 25119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-14 13:36:26 +00:00
Michael Niedermayer
3d5421201b
Perform sliding window operation during frame gap handling.
...
This avoids some warnings about too many reference frames.
Originally committed as revision 24057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 14:36:03 +00:00
Baptiste Coudurier
bb943bb8fc
Give context to av_log
...
Originally committed as revision 24018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 04:40:12 +00:00
Diego Biurrun
6da88bd389
Fix typo in Doxygen function parameter name.
...
Originally committed as revision 23983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 11:54:34 +00:00
Måns Rullgård
49bd8e4b84
Fix grammar errors in documentation
...
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Baptiste Coudurier
9ad7dfc110
Pass codec pixel format list to get_format, if present, fix vdpau decoding
...
Originally committed as revision 23396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-31 22:01:31 +00:00
Baptiste Coudurier
0435fb16d7
In h264 decoder, use jpeg yuv pixel format when full range is set in vui
...
Originally committed as revision 23369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 23:15:30 +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
Gwenole Beauchesne
6752a3cc6c
H.264: cosmetics (vertical align).
...
Originally committed as revision 22885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 13:16:37 +00:00
Gwenole Beauchesne
fa37cf0db3
H.264: move avctx->{profile,level} init before AVCodecContext.get_format().
...
Originally committed as revision 22884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 08:30:48 +00:00
Gwenole Beauchesne
b08e38e8c3
H.264: move avctx->refs init before AVCodecContext.get_format().
...
Originally committed as revision 22883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 08:27:06 +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
Alexander Strange
7a5c850be9
H264: Copy h264dsp when creating new slice threads
...
Fixes slice multithreading (broken in r22565)
Fixes issue1815
Originally committed as revision 22740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 03:55:42 +00:00
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +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
Stephen Warren
3bccd93ac0
Set VDPAU H264 picture parameter field_order_cnt and frame_num at the
...
start of decoding a picture instead of at the end.
Fixes mmco01.264
Patch by Stephen Warren
Originally committed as revision 22728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 08:10:29 +00:00
Diego Biurrun
6f2c72c126
Remove unused variable, fixes the warning:
...
libavcodec/h264.c:1562: warning: unused variable `s'
Originally committed as revision 22647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 17:55:08 +00:00
Janusz Krzysztofik
5388f0b479
Reinitialize the h264 decoder context on every valid aspect ratio
...
change, not only size changes.
Patch by Janusz Krzysztofik foo=zyszt <jkr$foo@tis.icnet.pl>.
Originally committed as revision 22597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:36:54 +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
Michael Niedermayer
5820b90da0
Fix indention
...
Originally committed as revision 22484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 15:23:26 +00:00
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
2010-03-12 15:21:45 +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
1a29c6a0bb
cosmetic addition of {}
...
Originally committed as revision 22178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:32:50 +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
72f86ec013
Simplify implicit_weight table init.
...
Originally committed as revision 22168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 10:57:38 +00:00
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
2010-03-02 02:24:37 +00:00
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
2010-03-01 00:22:43 +00:00
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
2010-02-28 18:33:33 +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
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
36b54927fd
Dont allocate direct_table 8 times too large.
...
Originally committed as revision 22056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 15:29:12 +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
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
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
2010-02-23 01:08:54 +00:00
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
2010-02-23 01:07:39 +00:00
avcoder
0cb17649d8
Remove unused variable mb_xy.
...
Patch by avcoder, ffmpeg gmail
Originally committed as revision 21945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 19:32:47 +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
024bf79fe0
Simplify deblock_left/top condition for deblocking_filter=2
...
Originally committed as revision 21876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 12:37:43 +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
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
2010-02-14 23:06:25 +00:00
Michael Niedermayer
94cb599443
Drop if(0) code.
...
Originally committed as revision 21825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 22:59:19 +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
Michael Niedermayer
02e8c5f0a5
Dont drop B frames without last_picture.
...
Fixes issue1722
Originally committed as revision 21783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 23:28:33 +00:00
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
2010-02-12 19:25:23 +00:00
Michael Niedermayer
055a6aa76a
Set x264_build so that checks are simpler.
...
Originally committed as revision 21681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 00:08:05 +00:00
Michael Niedermayer
3102d180bb
Fix large timebases.
...
Fixed issue1633
Originally committed as revision 21636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 15:30:37 +00:00
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
2010-01-28 20:57:29 +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
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
2010-01-26 13:30:33 +00:00
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
2010-01-25 01:56:13 +00:00
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
2010-01-25 00:30:44 +00:00
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
2010-01-24 17:02:44 +00:00
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
2010-01-24 16:37:12 +00:00
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
2010-01-24 13:20:17 +00:00
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
2010-01-23 18:05:30 +00:00
Michael Niedermayer
7231ccf4d5
Cosmetic, get rid of &x[0]
...
Originally committed as revision 21309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:55:19 +00:00
Michael Niedermayer
2b3649f656
Fix compilation with -O0.
...
Originally committed as revision 21308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:41:12 +00:00
Michael Niedermayer
fb823b7791
Fix 10l segfault with threads.
...
Originally committed as revision 21293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 20:19:19 +00:00
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
2010-01-18 05:15:31 +00:00
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
2010-01-18 00:20:44 +00:00
Michael Niedermayer
f432b43b08
Split fill_caches() between filter and decoder.
...
Originally committed as revision 21271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 21:43:08 +00:00
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
2010-01-17 20:35:55 +00:00
Michael Niedermayer
4c568cbcac
Consider slice_beta_offet in qp_thresh.
...
Originally committed as revision 21244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 13:12:11 +00:00
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
2010-01-16 11:55:35 +00:00
Michael Niedermayer
0cd73b6c30
remove unused variable
...
Originally committed as revision 21182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:44:38 +00:00
Michael Niedermayer
cc51b28299
Split cabac decoding code out of h264.c.
...
not slower according to benchmarks.
Originally committed as revision 21181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:35:36 +00:00
Michael Niedermayer
e1e949026e
Split cavlc out of h264.c.
...
Seems to speed the code up a little...
The placement of many generic functions between h264.c and h264.h is still open
Currently they are a little randomly placed between them.
Originally committed as revision 21178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 01:59:19 +00:00
Michael Niedermayer
188d3c510d
Split motion vector prediction off h264.c/h.
...
Originally committed as revision 21174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:36:26 +00:00
Michael Niedermayer
2bedc0e854
Move check_intra4x4_pred_mode() back from h264.h to h264.c, the function is just
...
called once per MB in worst case and doesnt seem to benefit from static inline.
Actually the code might be a hair faster now (0.1% according to my benchmark but
this could be random noise)
Originally committed as revision 21173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:17:26 +00:00
Michael Niedermayer
ea6f00c448
Split all the reference picture handling off h264.c.
...
Originally committed as revision 21172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:59:00 +00:00
Michael Niedermayer
889fce8e30
Split (picture|seq) parameter set decoding out of h264.c.
...
no speedloss meassured, also its really not touching anything that is speed relevant.
Originally committed as revision 21169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 19:33:45 +00:00
Michael Niedermayer
9c09546352
Split SEI code off h264.c.
...
Originally committed as revision 21168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 18:54:40 +00:00
Michael Niedermayer
943f69a6ea
Split direct mode (macro)block decoding off h264.c.
...
No speedloss meassured (its slightly faster here but that may be random fluctuations)
Originally committed as revision 21165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 14:32:58 +00:00
Michael Niedermayer
082cf97106
Split h264 loop filter off h264.c.
...
No meassureable speed difference on pentium dual & cathedral sample.
Originally committed as revision 21159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 06:01:55 +00:00
Michael Niedermayer
903d58f631
Get rid of #include "svq3.c"
...
functions called more than per mb are moved into the header, scan8 is also
as it must be known at compiletime.
The code after this patch duplicates h264data.h, this has been done to minimize
the changes in this step and allow more fine grained benchmarking.
Speedwise this is 1% faster on my pentium dual core with diegos cursed cathedral
sample.
Originally committed as revision 21157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 05:30:31 +00:00
David Conrad
c4dffe7e36
Export fullrange flag and color information for h.264
...
Originally committed as revision 21126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:39 +00:00
Laurent Aimar
75dd693840
Export get_slice_type() as ff_h264_get_slice_type().
...
Patch by Laurent Aimar <fenrir at videolan dot org>.
Originally committed as revision 21110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 16:20:41 +00:00
Laurent Aimar
b090930d43
Always initialize bit_depth_luma and bit_depth_chroma in the H264
...
decoder which allows their usage without checking profile_idc.
Patch by Laurent Aimar (fenrir (AT) videolan org)
Originally committed as revision 21107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 07:57:26 +00:00
Andreas Öman
4ad04da214
Log unknown NAL code from correct context
...
Originally committed as revision 21090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 15:50:26 +00:00
Michael Niedermayer
52255d1746
End startcode prefix search at the end of a AVC unit.
...
Fixes issue1550.
Originally committed as revision 20784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 12:49:59 +00:00
Michael Niedermayer
e262365d7c
Reduce warnings about too few consumed bytes to debug level.
...
Fixes issue1061.
Originally committed as revision 20772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 17:38:02 +00:00
Reimar Döffinger
f3bdc3da15
Call ff_find_hwaccel() after calling avcodec_set_dimensions().
...
Patch by Reimar
Originally committed as revision 20599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 15:13:47 +00:00
Michael Niedermayer
4c66e8849b
Use avcodec_set_dimensions()
...
Originally committed as revision 20591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 19:45:40 +00:00
Ronald S. Bultje
6e44ba1550
Use get_bits_left() instead of size_in_bits - get_bits_count().
...
Originally committed as revision 20543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 17:42:43 +00:00
Mike Scheutzow
eda4ea4e2e
Reset rbsp buffer size when freeing its data buffer.
...
Patch by Mike Scheutzow $(name) AT alcatel 'minus' lucent com
Originally committed as revision 20531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-13 18:33:28 +00:00
Michael Niedermayer
67e362ca45
indent
...
Originally committed as revision 20507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 21:00:46 +00:00
Carl Eugen Hoyos
de9bc64df4
Cosmetics: Fix indentation after r20505.
...
Originally committed as revision 20506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 20:55:45 +00:00
Carl Eugen Hoyos
602dd2d359
Add .pix_fmts to H264 VDPAU decoder declaration and remove obsolete test
...
for codec->capabilities.
Originally committed as revision 20505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 20:55:00 +00:00
Michael Niedermayer
44be1d6478
Try to fix has_b_frame calculation for open gop files.
...
Fixes issue1523
Originally committed as revision 20504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 20:24:41 +00:00
Reimar Döffinger
01418506a2
Remove casts that are useless since the argument is void *.
...
Originally committed as revision 20177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 06:33:18 +00:00
Carl Eugen Hoyos
14600807bb
Cosmetics: Fix typo.
...
Originally committed as revision 19980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:07:29 +00:00
Michael Niedermayer
7bf3d0c44e
Check num_units_in_tick/time_scale to be valid and within the range we support.
...
based on a patch by chrome
Originally committed as revision 19979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 09:58:44 +00:00
Ramiro Polla
d31dbec374
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
...
parameters.
Originally committed as revision 19776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 00:08:19 +00:00
Måns Rullgård
63613fe615
Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
...
Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 12:20:04 +00:00
Alexander Strange
e5f61b94a1
H.264: Check the return value of decode_vui_parameters()
...
Files with invalid VUI are now rejected like
other invalid SPS are.
Fixes issue1231.
Originally committed as revision 19335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 07:46:58 +00:00
Alexander Strange
0410ee8f86
H.264: Don't set data_partitioning for invalid NAL_DPA.
...
Before, the decoder could interpret a corrupt frame
as a NAL_DPA and NAL_DPC, and then start decoding
even if decode_slice_header() returned an error.
This frequently caused crashes.
Fixes issue1228, issue1229, and partially issue1238.
Originally committed as revision 19328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 05:52:00 +00:00
Reimar Döffinger
8d8409ca9f
Fix nalsize check to avoid an integer overflow that made the check
...
incorrect for nalsize > INT_MAX - buf_index
Originally committed as revision 19307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 12:11:29 +00:00
Haruhiko Yamagata
c173a0881f
Improve wording: s/reseted/reset
...
Patch by Haruhiko Yamagata, h D yamagata A nifty D com
Originally committed as revision 19266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 12:10:20 +00:00
Haruhiko Yamagata
2722c3a30d
Fix H.264 picture reordering, 2nd try.
...
First, reverted one was r19239.
Patch by Haruhiko Yamagata, h D yamagata A nifty D com
Originally committed as revision 19258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 21:03:35 +00:00
Carl Eugen Hoyos
df028e8c6a
Revert r19239: It broke four conformance tests.
...
Originally committed as revision 19241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 14:47:38 +00:00
Haruhiko Yamagata
6ee0eb38c0
Fix H.264 picture reordering.
...
Patch by Haruhiko Yamagata, h D yamagata A nifty D com
Originally committed as revision 19239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:16:07 +00:00
Alexander Strange
d2d5e06735
H.264: Fix memory leaks with multithreading.
...
The threads' contexts and rbsp_buffers were not freed at the end
of decoding.
Fixes issue 1581
Originally committed as revision 19207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 21:50:36 +00:00
Haruhiko Yamagata
b19d493f2b
Add field prev_interlaced_frame to H264Context to be able to flag soft telecine
...
progressive.
Patch by Haruhiko Yamagata, h D yamagata A nifty D com
Originally committed as revision 19141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 21:16:40 +00:00
Michael Niedermayer
f4ebb334be
Fix sei_ct_type check so it does not mistreat ct_type= unknown.
...
Originally committed as revision 19082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 19:24:51 +00:00
Michael Niedermayer
4d95ae1882
Print ct_type and pic_struct.
...
Originally committed as revision 19081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 19:23:34 +00:00
Baptiste Coudurier
87e302bfd8
remove unused hack which set AVCodecContext frame_number to pic timestamp
...
Originally committed as revision 18988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 00:24:20 +00:00
Haruhiko Yamagata
86b0e9948b
H264: Don't deblock if alpha or beta is 0.
...
This ensures that the MMX loop filter is always bitexact with the C version.
Patch by Haruhiko Yamagata <h.yamagata _a_ nifty com>
Originally committed as revision 18923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 03:39:20 +00:00
David Conrad
580a7465fb
Add a chroma_sample_location field to define positioning of chroma samples
...
Originally committed as revision 18795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 04:34:23 +00:00
Michael Niedermayer
74b14aacfa
Support broken avc nal encapsulation.
...
Fixes issue987.
Originally committed as revision 18533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 04:46:44 +00:00
Michael Niedermayer
d225a1e248
Fix 2 access units in a packet mp4s.
...
Fixes issue944 and possibly others.
Originally committed as revision 18474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:43:52 +00:00
Michael Niedermayer
ead793358a
Get rid of the non sensical idea of using the current picture for missing
...
reference pictures.
Originally committed as revision 18473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:40:18 +00:00
Michael Niedermayer
256299d302
Factorize field_end() out.
...
Originally committed as revision 18472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:21:23 +00:00
Michael Niedermayer
7824b129a0
Assert that the first list1 entry is a reference frame.
...
Originally committed as revision 18471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 13:58:03 +00:00
Reimar Döffinger
238ef6dadd
Add a av_fast_malloc function and replace several uses of av_fast_realloc,
...
thus avoiding potential memleaks and pointless memcpys.
Originally committed as revision 18470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 13:17:37 +00:00
Reimar Döffinger
6752dd5aee
Loop up to MAX_THREADS instead of h->s.avctx->thread_count to free the thread
...
contexts, this avoids a crash when freeing the H.264 parser context introduced in
r18406, since h->s.avctx is NULL there.
Originally committed as revision 18418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 14:30:04 +00:00
Reimar Döffinger
cbf1eae9a5
Add forgotten void return type to ff_h264_free_context
...
Originally committed as revision 18411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:31:55 +00:00
Reimar Döffinger
15861962a7
Add a ff_h264_free_context function and call it from the H.264 parser.
...
This ensures that the parser will no longer leak memory for all SPS/PPS it encounters.
Originally committed as revision 18406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 07:01:55 +00:00
Thilo Borgmann
7a00bbad21
Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
...
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.
Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.
Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Michael Niedermayer
7ed673af71
Print timing_info on -debug 1.
...
Originally committed as revision 17949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 14:10:49 +00:00
Diego Biurrun
1b0f4920b8
Mark variables "j" and "structure" in execute_ref_pic_marking() as av_uninit
...
to work around false positive 'may be used uninitialized' warnings.
Originally committed as revision 17837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:38:52 +00:00
Ivan Schreter
70e01da3bf
Add support for ct_type to correctly detect interlaced flag
...
Originally committed as revision 17811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 19:37:19 +00:00
Vitor Sessak
a66430c0d0
Add more correct bound checking in filter_mb().
...
Should fix decoding of CVMAPAQP3_Sony_E.jsv in MinGW
Originally committed as revision 17806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 16:56:55 +00:00
Panagiotis Issaris
a0f8005079
When a H.264 stream references a PPS or SPS id which doesn't exist, instead of
...
just saying that a non-existing id is referenced, show the value of the id.
Originally committed as revision 17771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 14:32:24 +00:00
Alex Converse
09a64ee614
H.264: Simplify decode_residual()
...
Originally committed as revision 17750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:26:39 +00:00
Michael Niedermayer
47cd974ae5
Do not set low_delay if has_b_frames has been set before init()
...
this will be needed once the parser can figure out has_b_frames
in av_find_stream_info().
Originally committed as revision 17673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 03:13:04 +00:00
Michael Niedermayer
efd8c1f64d
Adjust time_base exactly when changing ticks_per_frame to 2 this is safer
...
and for some raw h264 we managed to change the timebase twice before.
Originally committed as revision 17669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 20:58:07 +00:00
Ivan Schreter
03831f462e
Correctly reset SEI variables.
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 21:28:41 +00:00
Gwenole Beauchesne
6026a0968a
Add hardware acceleration hooks to H.264.
...
Patch by Gwenolé Beauchesne.
Originally committed as revision 17644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 15:45:55 +00:00
Michael Niedermayer
19df37a8a6
Fix SVQ3 regression since ticks_per_frame=2.
...
Originally committed as revision 17640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 14:01:32 +00:00
Michael Niedermayer
3797c74ba5
Add ticks_per_frame, this should hopefully fix the regressions caused
...
by the time_base change.
Originally committed as revision 17630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 23:47:32 +00:00
Michael Niedermayer
f56995b4a6
Half user provided time_base once during the first frame when there is no
...
timebase stored in the h264 stream.
This should fix fate. (ffmpeg.c used pict_repeat with its default 1/25 timebase)
Originally committed as revision 17622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 21:09:24 +00:00
Michael Niedermayer
d404b3edb3
Add hwaccel->decode_slice() call for avhwaccel by Gwenole Beauchesne.
...
Originally committed as revision 17591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-25 19:39:42 +00:00
Ivan Schreter
fc9fe42833
Correct time_base of H.264 and repeat_pict.
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 20:19:59 +00:00
Michael Niedermayer
a05aa821b6
add ff_find_hwaccel() by Gwenole Beauchesne
...
Originally committed as revision 17569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 19:04:43 +00:00
Michael Niedermayer
09a9b45e4f
Add and use ff_pixfmt_list_420.
...
Originally committed as revision 17564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 18:27:52 +00:00
Diego Biurrun
acced32d08
Mark two variables with av_uninit to avoid false positive gcc warnings.
...
Originally committed as revision 17552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 14:13:46 +00:00
Gwenole Beauchesne
40e5d31b57
More approved hunks for VAAPI & our new and cleaner hwaccel API.
...
patch by Gwenole Beauchesne gbeauchesne splitted-desktop com
Originally committed as revision 17540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 13:44:51 +00:00
Reimar Döffinger
66e6038cf1
Check return value of frame_start(), this avoids a crash if AVCodecContext::get_buffer failed.
...
Not sure if returning -1 is the best possible solution but at least avoids the crash.
Originally committed as revision 17520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 09:51:58 +00:00
Ivan Schreter
1790a5e908
Make the following H264 functions available to the parser:
...
ff_h264_decode_sei, ff_h264_decode_seq_parameter_set,
ff_h264_decode_picture_parameter_set, ff_h264_decode_nal,
ff_h264_decode_rbsp_trailing
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 19:54:14 +00:00
Ivan Schreter
ebb61f834a
Use last decoded SPS as current SPS in order to parse picture timing SEI
...
correctly. This works around an apparent H.264 standard deficiency.
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-20 16:20:01 +00:00
Ivan Schreter
3878be318b
Silence two warnings:
...
cast discards qualifiers from pointer target type
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 23:01:13 +00:00
Ivan Schreter
2ea89d9274
Parse buffering period (H.264, D.1.1).
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 23:33:30 +00:00
Ivan Schreter
24a414e0fa
Store CPB count in the context.
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 23:25:59 +00:00
Ivan Schreter
cf6065ca6b
Parse cbp_removal_delay in SEI picture structure.
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 00:38:10 +00:00
Ivan Schreter
ff594f81df
Parse dpb_output_delay in SEI picture structure.
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 00:36:07 +00:00
Ivan Schreter
82e38c2952
Parse initial_cpb_removal_delay_length.
...
Patch by Ivan Schreter, schreter gmx net
Originally committed as revision 17411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 00:33:33 +00:00
Gwenole Beauchesne
ce09f9270a
Move initialization of {luma,chroma}_weight_flag[] up,
...
to make sure they are always initialized.
Patch by Gwenole Beauchesne g${name} splitted-desktop com
Originally committed as revision 17393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-17 13:41:27 +00:00
Diego Biurrun
de86157836
cosmetics: 'void/int inline' --> 'inline void/int' to avoid warnings of the type
...
"'inline' is not at beginning of declaration" with -Wextra.
Originally committed as revision 17392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-17 12:11:46 +00:00
Carl Eugen Hoyos
c99a35768f
Silence following warning if only zeros were not consumed:
...
AVC: Consumed only m bytes instead of n
Originally committed as revision 17327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:23:02 +00:00
Alexander Strange
898189880b
H264: Change left_block_options to uint8_t from int, saving a little space.
...
Originally committed as revision 17147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-11 06:03:18 +00:00
Ivan Schreter
37a558fe51
Add SEI recovery point frame counter to H264Context and use it when
...
setting key_frame.
Patch by Ivan Schreter schreter A gmx D net
Originally committed as revision 17109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 23:04:16 +00:00
Ivan Schreter
dd02ea118b
Replace hard-coded SEI type constants with symbolic names
...
Patch by Ivan Schreter ( schreter gmx net )
Originally committed as revision 17064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 20:28:12 +00:00
Måns Rullgård
5317c95b75
Remove CONFIG_H264_ENCODER references
...
Originally committed as revision 16996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-04 21:28:58 +00:00
Gwenole Beauchesne
cb99c652eb
Add fields to H264Context and SPS for upcoming VA API support.
...
Patch by Gwenole Beauchesne gbeauchesne A splitted-desktop dotcom
Originally committed as revision 16976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-03 20:49:02 +00:00
Diego Biurrun
6bf959fee5
Add av_unused to conditionally used variable, fixes the warning:
...
h264.c:6464: warning: unused variable 'dir'
Originally committed as revision 16925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 00:35:25 +00:00
Diego Biurrun
bad5537e2c
Use full internal pathname in doxygen @file directives.
...
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Gwenole Beauchesne
2e584eea4b
cosmetics: Add empty line for consistent formatting.
...
patch by Gwenolé Beauchesne, gbeauchesne splitted-desktop com
Originally committed as revision 16852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-29 22:08:32 +00:00
Stefan Gehrer
45beb850de
remove zigzag_scan8x8, it is the same as ff_zigzag_direct
...
Originally committed as revision 16744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-24 14:30:15 +00:00
Aurelien Jacobs
199436b952
moves mid_pred() into mathops.h (with arch specific code split by directory)
...
Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 22:57:40 +00:00
Carl Eugen Hoyos
0d3d172f32
Remove CODEC_ID_H264_VDPAU.
...
Originally committed as revision 16649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 01:17:04 +00:00
Aurelien Jacobs
49fb20cb8a
replace all occurrence of ENABLE_ by the corresponding CONFIG_, HAVE_ or ARCH_
...
and remove all ENABLE_ definitions.
Originally committed as revision 16600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 17:19:17 +00:00
Aurelien Jacobs
b250f9c66d
Change semantic of CONFIG_*, HAVE_* and ARCH_*.
...
They are now always defined to either 0 or 1.
Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Carl Eugen Hoyos
1717031362
Remove H264Context from vdpau_internal.h.
...
Originally committed as revision 16524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 00:48:20 +00:00
Carl Eugen Hoyos
c639fc7213
Cosmetics: Rename ff_vdpau_h264_add_data_chunk as ff_vdpau_add_data_chunk.
...
Originally committed as revision 16521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-10 23:00:48 +00:00
Carl Eugen Hoyos
1968e438d0
Use only MpegEncContext in ff_vdpau_h264_add_data_chunk.
...
Originally committed as revision 16520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-10 22:57:51 +00:00
Carl Eugen Hoyos
7fd3c09e0f
Move vdpau_h264_set_reference_frames() call from vdpauvideo.c into h264.c.
...
Originally committed as revision 16513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-10 02:45:07 +00:00
Carl Eugen Hoyos
7eb6ed78ea
Move VDPAU check, make future VDPAU patches smaller.
...
Originally committed as revision 16508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 22:22:40 +00:00
Carl Eugen Hoyos
090846f3b9
Rename ff_VDPAU as ff_vdpau.
...
Originally committed as revision 16492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 23:48:32 +00:00
Diego Biurrun
218a6022e7
Only #include svq3.c if the SVQ3 decoder is enabled.
...
Originally committed as revision 16487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 23:03:04 +00:00
Diego Biurrun
8b6871ed4d
Disable SVQ3 checks if SVQ3 support is not compiled in.
...
Originally committed as revision 16462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 01:58:04 +00:00
Jason Garrett-Glaser
26ef65daf3
50l: Reenable error resilience for H264 (Patch by Dark Shikari).
...
Originally committed as revision 16434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-05 08:46:59 +00:00
Carl Eugen Hoyos
f2c214a1ec
Cosmetics: Fix indentation.
...
Originally committed as revision 16433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-05 00:48:44 +00:00
NVIDIA Corporation
369122dd77
Add VDPAU hardware accelerated decoding for H264 which can be used by
...
video players.
Original patch by NVIDIA corporation.
Originally committed as revision 16431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 23:55:27 +00:00
Michael Niedermayer
802e91466d
export refs
...
Originally committed as revision 16306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-24 18:39:23 +00:00
Michael Niedermayer
62ea19c061
Optimize pred_pskip_motion()
...
7 cpu cycles faster on pentium dual.
Originally committed as revision 16304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-24 03:23:38 +00:00
Michael Niedermayer
ebfb0449d3
Indent
...
Originally committed as revision 16302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 22:06:16 +00:00
Michael Niedermayer
05d3fd44d7
Integrate get_te0_golomb() calls into the code, this allows some checks
...
to be avoided and the function is pretty small.
3% speedup, though this is probably due to changed inlining and not directly
this change.
Originally committed as revision 16301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 22:04:34 +00:00
Michael Niedermayer
9963b332d1
Use get_ue_golomb_31() where possible, almost all are just in headers
...
though.
Originally committed as revision 16300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 21:12:19 +00:00
Michael Niedermayer
2f2893ce9b
indent
...
Originally committed as revision 16296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 19:12:50 +00:00
Michael Niedermayer
d42fc4a8ca
Use the new VLC table for the first non trailing coeff too.
...
Sadly only 5 cycles faster here on pentium dual. So maybe the
complexity is not worth it and this should be reverted ...
Originally committed as revision 16295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 19:10:46 +00:00
Michael Niedermayer
593af7cdda
Optimize esc removal code.
...
Originally committed as revision 16294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 18:31:44 +00:00
Michael Niedermayer
2d76bf391a
Indent
...
Originally committed as revision 16292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 17:50:36 +00:00
Michael Niedermayer
8140955d39
unified CAVLC level decoding LUT.
...
Quite a bit faster (HPCVMOLQ_BRCM_B.264 was 3% faster here)
Originally committed as revision 16291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 17:49:38 +00:00
Michael Niedermayer
abb27cfb24
100l, I broke H.264 again, forgot one hunk.
...
Thanks to FATE for finding it.
Originally committed as revision 16285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 01:11:56 +00:00
Michael Niedermayer
e08715d391
Optimize 0 0 0-3 search, 45% faster on pentium dual.
...
Originally committed as revision 16284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 00:38:45 +00:00
Michael Niedermayer
ec3686e889
Simplify decode_cabac_mb_ref() a little bit, 2 cpu cycles faster on
...
pentium dual.
Originally committed as revision 16279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 17:14:13 +00:00
Michael Niedermayer
26695973c7
Indent
...
Originally committed as revision 16278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 16:56:05 +00:00
Michael Niedermayer
b68a455313
inline decode_cabac_mb_type for I & P frames, 9 cycles faster on pentium dual.
...
Originally committed as revision 16277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 16:46:17 +00:00
Michael Niedermayer
1952ac3713
Negate 2 more variables, 1 cpu cycle faster on pentium dual.
...
Originally committed as revision 16276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 16:20:13 +00:00
Michael Niedermayer
03a035e059
Simplify if/else, no speed change
...
Originally committed as revision 16275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 16:14:06 +00:00
Michael Niedermayer
6f3c50f2f9
Negate a few variables, this simplifies the code and makes it 5 cycles faster
...
on pentium dual.
Originally committed as revision 16274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 16:10:35 +00:00
Michael Niedermayer
60c6ba7aea
Simplify ifs(), 8 cpu cycles faster on pentium dual
...
Originally committed as revision 16273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 15:54:27 +00:00
Michael Niedermayer
127a20e3b8
Simplify if(), 3 cpu cycles faster in pentium dual.
...
Originally committed as revision 16272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 15:53:00 +00:00
Diego Biurrun
a6493a8fbd
Rename libavcodec/i386/ --> libavcodec/x86/.
...
It contains optimizations that are not specific to i386 and
libavutil uses this naming scheme already.
Originally committed as revision 16270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 09:12:42 +00:00
Diego Biurrun
bef05f05e4
Remove a bunch of unused variables.
...
Originally committed as revision 16263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-22 00:10:36 +00:00
Michael Niedermayer
befc8fe086
Remove useless code.
...
Originally committed as revision 16253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-21 17:49:40 +00:00
Michael Niedermayer
c212fb0cb1
Only execute clear_blocks() when needed.
...
+0.3% speedup for both aladin & cathedral.
Originally committed as revision 16252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-21 15:58:42 +00:00
Michael Niedermayer
66c07ca96f
Optimize get_dct8x8_allowed().
...
30 cpu cycles faster on pentium dual.
Originally committed as revision 16248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-20 23:11:30 +00:00
Jason Garrett-Glaser
aac8b76983
H.264 loopfilter speed tweaks
...
Originally committed as revision 16240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 14:49:17 +00:00
Michael Niedermayer
a5805aa9d1
Fix decoding with the plain C idcts of
...
FRExt/HPCAMOLQ_BRCM_B
FRExt/HPCAQ2LQ_BRCM_B
FRExt/HPCVMOLQ_BRCM_B
Originally committed as revision 16236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 09:21:54 +00:00
Michael Niedermayer
a5b807a6c1
Replace /2 by >>1 in decode_cabac_mb_dqp()
...
3 cpu cycles speed up on pentium dual.
Originally committed as revision 16233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 02:28:51 +00:00
Michael Niedermayer
1aea5d35e5
Simplify ctx update in decode_cabac_mb_dqp().
...
no speed change
Originally committed as revision 16232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 02:00:33 +00:00
Michael Niedermayer
7cfca0dfd8
Simplify ctx calculation in decode_cabac_mb_dqp()
...
no speed change
Originally committed as revision 16231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 01:50:20 +00:00
Alexander Strange
d43696309a
Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of NALs in rbsp_buffer.
...
Fixes valgrind uninitialized value warnings at the end of decoding H.264
frames.
Originally committed as revision 16230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 01:11:52 +00:00
Jason Garrett-Glaser
712ca84c21
Move filter_luma_intra into dsputil for later addition of asm.
...
Originally committed as revision 16228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 00:44:51 +00:00
Jason Garrett-Glaser
b9fe706305
Simplify chroma AC in CABAC residual decoding.
...
Originally committed as revision 16227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 00:43:30 +00:00
Michael Niedermayer
8955b66950
Optimize ctx calculation in decode_cabac_mb_mvd(), code by dark shikari.
...
The case for 16x16 blocks becomes 10 cpu cycles faster on pentium dual,
i could not find a speed difference in the case of subblocks though.
Originally committed as revision 16226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 00:05:39 +00:00
Michael Niedermayer
17779f39b6
Remove unacceptable NULL pointer hack from mc code.
...
Originally committed as revision 16225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 23:52:32 +00:00
Michael Niedermayer
04618b98e3
Check ref values in CABAC H.264 for validity.
...
Originally committed as revision 16224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 23:31:10 +00:00
Michael Niedermayer
c25ac15a07
Move idct_(dc)add closer to where it is needed.
...
Originally committed as revision 16223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 18:25:11 +00:00
Michael Niedermayer
aebb5d6d96
indent
...
Originally committed as revision 16222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 18:14:38 +00:00
Michael Niedermayer
96465b90a1
Reorder ifs in chroma hl_decode_mb to avoid a duplicate transform_bypass
...
check.
14 cpu cycles speedup on Pentium Dual
Originally committed as revision 16221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 18:12:59 +00:00
Michael Niedermayer
6456d6d87c
s/h->cbp_table[mb_xy]/h->cbp/
...
Originally committed as revision 16220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 17:42:44 +00:00
Michael Niedermayer
04824298a9
Faster CAVLC decoding of trailing_ones. Based on a patch by dark shikari.
...
decode_residual is about 3.3% faster.
Originally committed as revision 16219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 16:11:19 +00:00
Jason Garrett-Glaser
93445d1617
Replace i by trailing_ones, part of a patch by dark shikari.
...
No speed change meassureable with START/STOP_TIMER, but this is needed
for future optimizations.
Originally committed as revision 16218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 15:51:32 +00:00
Michael Niedermayer
c375d87f6f
Remove if() surrounding decode_cabac_mb_type() that can never be true.
...
Originally committed as revision 16217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 15:32:07 +00:00
Michael Niedermayer
c325b5054f
Remove unreachable else clause, found by dark shikari.
...
Originally committed as revision 16216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 15:21:15 +00:00
Michael Niedermayer
dae006d7d7
Remove useless IS_8x8DCT check i forgot, spotted by dark shikari.
...
Originally committed as revision 16215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 11:17:12 +00:00
Michael Niedermayer
1eb960352b
Do not calculate idct_dc_add/idct_add when the variables are unused.
...
Originally committed as revision 16210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 04:13:02 +00:00
Michael Niedermayer
62bc966f8f
Remove redundant nnz variable.
...
Originally committed as revision 16209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 03:04:53 +00:00
Michael Niedermayer
0a8ca22f4e
indent
...
Originally committed as revision 16208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 02:56:44 +00:00
Michael Niedermayer
2fd1f0e026
Use the new idct functions (except chroma as it was slower in benchmarks)
...
cathedral +0.5% speed
aladin +0.6% speed [note aladin has been cat-ed 10 times to reduce the influence
of init time]
Speedup also verified via START/STOP_TIMER (difference was very significant
for the changed parts)
Originally committed as revision 16207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 02:53:18 +00:00
Michael Niedermayer
49c084a745
Skip non intra luma code when there is no coded luma.
...
0.7% speedup for the cathedral sample.
Originally committed as revision 16203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 01:10:51 +00:00
Michael Niedermayer
621561cdf3
Skip chroma handling when there is no coded chroma.
...
0.5% overall speedup for the cathedral sample.
Originally committed as revision 16201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 00:46:54 +00:00
Michael Niedermayer
4080e67c8e
Replace != 0 || check by |
...
3 cpu cycles faster
Originally committed as revision 16183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 02:53:03 +00:00
Michael Niedermayer
ad9ca7e720
Split filter_mb_dir() out of filter_mb().
...
1% overall decoding speed up for cathedral-beta2-400extra-crop-avc.mp4
no speed change for Aladin.mpg
Benchmarks done on Pentium dual
Originally committed as revision 16182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 02:35:14 +00:00
Michael Niedermayer
ac0623b23c
Fix indention, also do a little vertical alignment of changed lines.
...
Originally committed as revision 16176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-16 22:16:11 +00:00
Michael Niedermayer
6120a343aa
Factorize 3 multiplications out, code becomes 3 cpu cycles faster.
...
(not significant as thats just per MB)
Originally committed as revision 16174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-16 21:08:16 +00:00
Michael Niedermayer
1dd488e955
Move ENABLE_SMALL back to the per MB check, as otherwise gcc wont remove
...
the code.
Originally committed as revision 16173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-16 20:43:39 +00:00
Michael Niedermayer
89db0bae26
Do not recalculate constant part of is_complex for every MB.
...
Originally committed as revision 16172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-16 20:26:22 +00:00
Michael Niedermayer
41e4055b63
Support the new lossless mode.
...
Originally committed as revision 16171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-16 20:09:09 +00:00
Michael Niedermayer
40f0624121
Enable filter_mb_fast if CODEC_FLAG2_FAST is set.
...
Originally committed as revision 16141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-15 01:24:04 +00:00
Anders Grönberg
cac55c9196
Add a few const qualifiers in appropriate places.
...
patch by Anders Grönberg, galileo.m2 gmail com
Originally committed as revision 16120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 12:24:50 +00:00
Michael Niedermayer
d23b28c78b
Check that cpb_count is within the allowed range.
...
Originally committed as revision 16010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-05 21:44:18 +00:00
Michael Niedermayer
c9c16cacb5
Get rid of now unneeded pps/sps correctness code as pps/sps will not
...
be used at all when anything fails sanity checks.
Originally committed as revision 15972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 16:24:19 +00:00
Michael Niedermayer
255d4e717f
Allocate parameter sets sanely instead of using alloc_parameter_set().
...
Avoids ending up with half initialized parameter sets.
Fixes issue282.
Originally committed as revision 15971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 16:04:03 +00:00
Michael Niedermayer
ff7f75e185
Fix segfault due to deallocated entries in delayed_pic after size change.
...
Fixes issue714.
Originally committed as revision 15965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-30 23:51:02 +00:00
Diego Biurrun
f107a02d4e
Move encoder-specific quantize_c and related tables to the H.264 encoder.
...
Originally committed as revision 15937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-26 10:22:55 +00:00
Diego Biurrun
ee2a957fbd
Use golomb_to_pict_type instead of its duplicate, slice_type_map.
...
Originally committed as revision 15926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-24 15:53:16 +00:00
Carl Eugen Hoyos
74e8b78b20
Fix H.264 decoding.
...
(Problem analyzed by Uoti Urpala)
Originally committed as revision 15816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-13 11:33:26 +00:00
Roman Shaposhnik
3a84713aaa
Making it easier to send arbitrary structures as work orders to MT workers
...
Originally committed as revision 15804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-12 17:47:23 +00:00
Andreas Öman
b09a7c05f6
h264: Implement decoding of picture timing SEI message.
...
Now correct values are propagated to interlaced_frame, top_field_first
and repeat_pict in AVFrame structure.
patch by ffdshow tryouts
Originally committed as revision 15773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-04 18:31:48 +00:00
Michael Niedermayer
b735aeead8
Replace literally hardcoded max slice number by named constant.
...
Originally committed as revision 15736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-28 22:50:16 +00:00
Aurelien Jacobs
37d3e0667a
uses FF_ARRAY_ELEMS() where appropriate
...
Originally committed as revision 15662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 21:40:24 +00:00
Diego Pettenò
d9ec210baa
Mark ff_div6 and ff_rem6 static in h264.c. Patch by Diego Pettenò
...
Originally committed as revision 15549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 09:36:35 +00:00
Carl Eugen Hoyos
8d2fc163ce
Rename copy_picture to ff_copy_picture.
...
Originally committed as revision 15508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 00:27:09 +00:00
Diego Biurrun
bbc78fb4b4
Remove unused variable.
...
Originally committed as revision 15427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-26 18:11:41 +00:00
Michael Niedermayer
6c8050078e
Avoid out of picture accesses when CODEC_FLAG_EMU_EDGE is set.
...
Fixes issue427.
Originally committed as revision 15418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-25 21:44:07 +00:00
Michael Niedermayer
5f129a05bf
Do not free sps & pps on width/height changes.
...
Fixes issue557.
Originally committed as revision 15414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-25 19:01:39 +00:00
Michael Niedermayer
07dff5c7a4
Initialize next/last_picture* as the generic code does not always
...
set them to sane values.
Originally committed as revision 15412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-25 14:29:35 +00:00
Michael Niedermayer
49573a87c9
Print which slices are IDR not just the slice type.
...
Originally committed as revision 15411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-25 12:04:25 +00:00
Michael Niedermayer
cf8bb33428
Fix CAVLC+8x8+MBAFF loop filter.
...
Fixes FREXT02_JVC_C.
Originally committed as revision 15410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-25 00:41:49 +00:00
Michael Niedermayer
60c9b24df0
Field -> MBAFF direct mode can use data from fields that are not
...
in the reference list. Follow the spec and no comment on the sanity of this
design ...
Fixes HPCAMAPALQ_BRCM_B
Originally committed as revision 15407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-24 23:24:24 +00:00
Michael Niedermayer
aa617518b9
A few empty lines for readability.
...
Originally committed as revision 15385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-22 20:46:52 +00:00
Michael Niedermayer
f4d3382da2
Another try to fix temporal direct mode references.
...
Fixes at least
CAPAMA3_Sand_F.264
CVMAPAQP3_Sony_E.jsv
Originally committed as revision 15384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-22 20:43:35 +00:00
Michael Niedermayer
48e025e5b6
Fix ref_shift so that it is correct for more/all? MBAFF/PAFF mixes.
...
Fixes at least MR9_BT_B.
Originally committed as revision 15380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-22 02:32:22 +00:00
Michael Niedermayer
471341a7f3
indent
...
Originally committed as revision 15379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-21 23:51:36 +00:00
Michael Niedermayer
53c193a9b0
Correct comment in the direct mode code.
...
(note, yes this is unrelated to the previous simplification, the
code always behaved like it is documented now.)
Originally committed as revision 15378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-21 23:49:53 +00:00
Michael Niedermayer
a0ad40832f
Simplify initialization of a few direct mode related variables.
...
Originally committed as revision 15377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-21 23:46:59 +00:00
Michael Niedermayer
8b1fd554e1
Make MBAFF temporal direct mode closer to the spec.
...
Fixes at least:
CAMANL2_TOSHIBA_B
CVMANL2_TOSHIBA_B
camp_mot_mbaff0_full
Originally committed as revision 15375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-21 02:39:09 +00:00
Michael Niedermayer
8f56e219b2
Move direct_dist_scale_factor() and direct_ref_list_init() after fill_mbaff_ref_list()
...
as future changes will need the mbaff lists inited.
Originally committed as revision 15374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-21 02:23:51 +00:00
Michael Niedermayer
078f42ddae
Set poc for field references in MBAFF.
...
Originally committed as revision 15373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-21 02:19:45 +00:00
Michael Niedermayer
a85d0c84a4
Remove fixme that is based on the assumption of !direct_8x8_inference && MBAFF.
...
Originally committed as revision 15370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-19 18:53:31 +00:00
Michael Niedermayer
6a855aae94
Remove check and error message for "MBAFF + !direct_8x8_inference is not implemented"
...
because this mode does not exist, H.264-2007 says "When frame_mbs_only_flag is
equal to 0, direct_8x8_inference_flag shall be equal to 1."
Originally committed as revision 15369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-19 18:49:17 +00:00
Michael Niedermayer
96b52f9e04
Make pps/sps scaling_matrix initialization closer to the spec.
...
This does not affect any of the conformance streams.
Originally committed as revision 15365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 16:36:19 +00:00
Michael Niedermayer
d464bceff2
Ensure that extradata is not parsed twice.
...
Fixes FRExt1_Panasonic.
Originally committed as revision 15361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-18 15:13:15 +00:00
Jason Garrett-Glaser
67ce33162a
Fix incorrect printing of brainfart cropping error in some cases in progressive mode.
...
Originally committed as revision 15293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-11 00:34:39 +00:00
Michael Niedermayer
047599a4ba
Rename error_resilience to error_recognition.
...
Originally committed as revision 15270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 18:18:49 +00:00
Michael Niedermayer
e4b8f1fa77
Fix artifacts of MPEG4-720I-DN-SV8K.trp caused by lack of IDR pictures and
...
subsequent zero POC value.
Originally committed as revision 15194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 12:21:06 +00:00
Michael Niedermayer
d0b41d8931
Try to support invalid h264 that does not mark IDR with POC=0.
...
Fixes issue576.
Originally committed as revision 15153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-02 16:31:18 +00:00
Diego Biurrun
e7327dbba7
Remove unused variable.
...
Originally committed as revision 14732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 18:33:25 +00:00
Michael Niedermayer
2967101173
The deblock filter does not need all the intra availability stuff so do
...
not recalculate it.
Originally committed as revision 14689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-11 03:08:02 +00:00
Michael Niedermayer
faa7e39466
Simplify constrained_intra_pred code in fill_caches().
...
Originally committed as revision 14688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-11 02:52:14 +00:00
Michael Niedermayer
d1d10e9125
Support MBAFF + constrained intra prediction.
...
(no i would not have tried to implement this had i known what mess it is)
fixes at least:
CAMACI3_Sony_C
Originally committed as revision 14687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-11 02:21:33 +00:00
Michael Niedermayer
beca9a286c
Mask bits of reference indexes properly to avoid negative numbers entangling
...
each other.
Fixes at least:
CAMA1_TOSHIBA_B
cama1_vtc_c
CAMA3_Sand_E
cama3_vtc_b
CAMASL3_Sony_B
CVMA1_TOSHIBA_B
CVMAQP3_Sony_D
cvmp_mot_mbaff0_full_B
FRExt/HCAMFF1_HHI
FRExt/HCHP3_HHI_A
FRExt/HVLCMFF0_Sony_B
Originally committed as revision 14683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-10 16:10:39 +00:00
Michael Niedermayer
e248cb601e
Remove a few more lines of unneeded code in fill_caches() for MBAFF.
...
Also document why the remaining related part is apparently needed.
Originally committed as revision 14682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-10 15:39:46 +00:00
Michael Niedermayer
d50cdd82de
Use the correct reference tables for interlaced MBAFF MBs in the loop filter.
...
Fixes at least
CAMP_MOT_MBAFF_L30
CAMP_MOT_MBAFF_L31
FRExt/FREXT01_JVC_D
Originally committed as revision 14680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-10 02:38:51 +00:00
Michael Niedermayer
0281d32550
Do not execute the part of fill_caches() for the loopfilter that overwrites
...
reference indexes and motion vectors.
Fixes at least:
CVMAQP2_Sony_G
Originally committed as revision 14678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-10 00:38:41 +00:00
Michael Niedermayer
3d11b8ce13
Remove more code that has become useless after the pairless MBAFF loop
...
filter cleanup.
Originally committed as revision 14676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-09 18:11:25 +00:00
Michael Niedermayer
5f7f9719ac
Remove odd pairwise deblock filtering applied to MBAFF MBs.
...
Originally committed as revision 14673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-09 01:17:34 +00:00
Michael Niedermayer
2ccd25d02b
Use local variabes for *stride, where local variables exist.
...
Originally committed as revision 14623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 12:06:30 +00:00
Michael Niedermayer
7d54ecc9cb
indent
...
Originally committed as revision 14622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 11:34:46 +00:00
Michael Niedermayer
9b5fab918b
Simplify l1mv/l1ref calculation.
...
Originally committed as revision 14621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 11:33:40 +00:00
Michael Niedermayer
c210fa61cf
simplify y_shift/ref_shift code
...
Originally committed as revision 14620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 11:17:23 +00:00
Michael Niedermayer
cc615d2ce8
indent
...
Originally committed as revision 14619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 11:04:49 +00:00
Michael Niedermayer
d00eac6c96
Factorize some code between temporal and spatial direct mode.
...
Originally committed as revision 14618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 11:00:17 +00:00
Michael Niedermayer
8354477edc
Port b4/b8_stride code from spatial direct mode to temporal.
...
Fixes at least:
CAMANL3_Sand_E.264
camp_mot_picaff0_full.26l
CAPA1_TOSHIBA_B.264
CVPA1_TOSHIBA_B.264
Originally committed as revision 14546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:15:15 +00:00
Michael Niedermayer
42de393dcb
Use frame_num and reference instead of poc for matching frames for direct
...
mode MBs, this seems to work better with field/frame mixes. POC of both
can be the same and can be different that makes its use tricky.
Originally committed as revision 14545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:08:32 +00:00
Michael Niedermayer
6c86c44b83
*2 /2 is wrong for PAFF references, so do not do it.
...
Originally committed as revision 14544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 23:29:34 +00:00
Michael Niedermayer
f0538030da
Port col_parity code from spatial mode to temporal mode,
...
I also love it if people duplicate code and fix one but not the other.
Originally committed as revision 14543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 23:06:45 +00:00
Michael Niedermayer
301e1057b8
The code under FRAME_MBAFF for temporal direct mode MBs is needed for PAFF as well.
...
Originally committed as revision 14542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 22:59:53 +00:00
Michael Niedermayer
fa6a6c59e0
Remove redundant code.
...
Originally committed as revision 14541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 22:52:54 +00:00
Michael Niedermayer
7762cc3dd4
Fill ref_count/ref_poc for both fields of frames.
...
Originally committed as revision 14540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 22:32:41 +00:00
Art Clarke
910e366817
Fix static leaks in h264.c.
...
Patch by Art Clarke aclarke A vlideshow D com
Originally committed as revision 14538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 21:45:05 +00:00
Michael Niedermayer
45260d4faa
Use ref_poc and ref_count from the correct field.
...
Fixes at least
MR8_BT_B.h264
Originally committed as revision 14537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 11:19:54 +00:00
Michael Niedermayer
4c0d57bdef
Fix dist_scale_factor for long term reference pictures.
...
Originally committed as revision 14536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 11:17:22 +00:00
Michael Niedermayer
71041842ec
Use the correct collocated field in pred_direct_motion() when it differs in parity.
...
Fixes at least:
FRExt/HPCAFL_BRCM_C.264
FRExt/HPCAFLNL_BRCM_C.264
FRExt/HPCVFL_BRCM_A.264
FRExt/HPCVFLNL_BRCM_A.264
Originally committed as revision 14529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-04 02:41:19 +00:00
Michael Niedermayer
aa6de49e95
Remove useless mb_field_decoding_flag setting code that was at the wrong spot.
...
Originally committed as revision 14519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 13:11:14 +00:00
Michael Niedermayer
44e9dcf13a
mb_field_decoding_flag was not initialized
...
Fixes at least:
MR7_BT_B.h264
Sharp_MP_PAFF_1r2.jvt
Sharp_MP_PAFF_2.jvt
Originally committed as revision 14518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 13:00:39 +00:00
Michael Niedermayer
2879c75ff3
Picture.ref_count/ref_poc have to be stored per field (actually also per
...
slice but thats a seperate bug)
Fixes at least:
CABREF3_Sand_D.264
camp_mot_fld0_full.26l
CVFI2_Sony_H.jsv
CVNLFI2_Sony_H.jsv
Originally committed as revision 14511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-02 23:13:27 +00:00
Michael Niedermayer
c1708e8dc8
Simplify intra PCM MB handling.
...
Originally committed as revision 14476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-30 18:21:51 +00:00
Paul Kendall
9bec77fe8d
Use #define instead of a constant. Patch by Paul Kendall.
...
Originally committed as revision 14463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-29 05:39:33 +00:00
Jason Garrett-Glaser
aa6a89aa79
Small h264 decoding speed optimization: while->do/while
...
Originally committed as revision 14459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-28 15:42:49 +00:00
Jeff Downs
18c7be6501
Initialize outputed_poc to INT_MIN at decoder initialization.
...
Fixes issue 560
Originally committed as revision 14428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 13:49:04 +00:00
Paul Kendall
143d7f1443
left_block intialisation optimisation.
...
This patch changes the left_block initialisation code in the fill_caches
function from individual array element setters to a simple pointer to a
pre-initialised array.
Patch by (Paul Kendall ! paul X kcbbs knodel gen knodel nz)
Date: Sun, 27 Jul 2008 11:40:18 +1200
Subject: [FFmpeg-devel] [PATCH] h264 fill_caches left_block intialisation optimisation
Originally committed as revision 14427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 13:01:17 +00:00
Jeff Downs
e791eb1ed4
And.... Fix another spec reference to be more specific and correct.
...
Originally committed as revision 14423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 18:38:30 +00:00
Jeff Downs
25f8bceb1c
Fix reference to spec to be more specific and correct.
...
Originally committed as revision 14422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 18:34:34 +00:00
Paul Kendall
4a1aa38bda
Simple refactoring to resolve a FIXME. Patch by Paul Kendall.
...
Originally committed as revision 14419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 15:07:04 +00:00
Michael Niedermayer
fef744d404
indent
...
Originally committed as revision 14408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 02:31:19 +00:00
Michael Niedermayer
0af6967ee7
chroma_format_idc=0 aka grayscale support.
...
Can be disabled by removing #define ALLOW_NOCHROMA in case the extra if()
slow the code down measurably.
Fixes at least
FRExt/HPCAMOLQ_BRCM_B.264
FRExt/HPCVMOLQ_BRCM_B.264
Originally committed as revision 14407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-26 02:27:14 +00:00
Michael Niedermayer
af8c5e08d7
Revert r14404
...
Remove another 2 incorrect checks.
These would ignore fields of different parity.
I was wrong, i thought pic_stricture is the current pic structure.
But it does not make a difference either way on the reference bitstreams.
Originally committed as revision 14405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 23:55:31 +00:00
Michael Niedermayer
d9022d38fb
Remove another 2 incorrect checks.
...
These would ignore fields of different parity.
Originally committed as revision 14404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 23:49:01 +00:00
Michael Niedermayer
79b5c77692
Print an error if a reference picture is missing.
...
Originally committed as revision 14403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 23:39:43 +00:00
Michael Niedermayer
6edac8e104
Remove mysterious ref->data[0] check.
...
What the standard calls non-existent is not related to the
value of the data[0] pointer.
Originally committed as revision 14402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 23:36:48 +00:00
Michael Niedermayer
99157e499c
10l typo, fix compilation
...
Originally committed as revision 14401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 22:42:49 +00:00
Michael Niedermayer
91ea868eeb
Remove another stupidity, long_ref==0 check 4 lines after assert(long_ref==0).
...
Originally committed as revision 14400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 22:39:43 +00:00
Michael Niedermayer
b3e93fd408
indent
...
Originally committed as revision 14399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 21:51:50 +00:00
Michael Niedermayer
d4f7d83866
Rewrite fill_default_ref_list(), the old code was obfuscated beyond
...
repair with hacks.
new code is ~60lines old was ~200
Fixes at least:
FRExt/HCHP2_HHI_A.264
one sample also get decoded much better:
FRExt/FRExt1_Panasonic.avc (PSNR 11 -> 80)
(no i do not know why, the old code was too a big mess to figure out
what it did)
Originally committed as revision 14398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 21:46:15 +00:00
Michael Niedermayer
37dcf83077
Do not scare the user with error messages when everything is ok.
...
Originally committed as revision 14396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 14:52:58 +00:00
Michael Niedermayer
d9e3242213
Make remove_short() match remove_long() in that it calls unreference_pic().
...
Originally committed as revision 14395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 14:00:01 +00:00
Michael Niedermayer
472c9a58a8
Removing yet another weird field pic special case,
...
now related to SHORT2LONG MMCOs.
Originally committed as revision 14394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 13:40:13 +00:00
Michael Niedermayer
9c0e46242f
Make remove_long() call unreference_pic() internally.
...
Originally committed as revision 14393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 13:09:06 +00:00
Michael Niedermayer
1cea5d0d03
Merge oddly duplicated remove_long/remove_long_at_index() function.
...
Originally committed as revision 14392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:56:58 +00:00
Michael Niedermayer
6f45060851
Remove strange long_ref=0.
...
Originally committed as revision 14391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:34:39 +00:00