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