Michael Niedermayer
ea6f00c448
Split all the reference picture handling off h264.c.
...
Originally committed as revision 21172 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
Michael Niedermayer
9c09546352
Split SEI code off h264.c.
...
Originally committed as revision 21168 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
David Conrad
c4dffe7e36
Export fullrange flag and color information for h.264
...
Originally committed as revision 21126 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
David S. Miller
da2911d5e8
sub_mb_type[] needs to be 8-byte aligned because it is referenced
...
as a uint64_t in get_dct8x8_allowed().
Patch by David S. Miller <davem at davemloft dot net>
Originally committed as revision 17655 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Diego Biurrun
181d8a7f3a
Remove unused CONFIG_H264_ENCODER #define.
...
Originally committed as revision 16993 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Diego Biurrun
ce9ff9cc52
Move #defines that are mostly used in h264.c out of h264data.h and into h264.h.
...
Originally committed as revision 15927 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Michael Niedermayer
b735aeead8
Replace literally hardcoded max slice number by named constant.
...
Originally committed as revision 15736 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Michael Niedermayer
1fdcdf8d87
Add variable to hold the svq3 watermarking key,
...
patch by baptiste that is based on reverse engineering by chrono.
Originally committed as revision 15616 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Michael Niedermayer
2791c60883
Fix indention of NAL type enum.
...
Originally committed as revision 15538 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Michael Niedermayer
44ee6135e2
Move nal unit types enum and EXTENDED_SAR #define from h264data.h to h264.h.
...
Originally committed as revision 15534 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
17 years ago
Stefano Sabatini
987903826b
Globally rename the header inclusion guard names.
...
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.' to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".
Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
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
17 years ago
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
17 years ago
Michael Niedermayer
5a78bfbde7
qscale has a range of 0..51 we thus do not need a 256 entry table and neither need
...
to and it with 0xFF.
Originally committed as revision 14336 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Michael Niedermayer
c32867b5b6
Loop filtering with multiple slice types fix.
...
Fixes at least:
CABAST3_Sony_E.jsv
CABASTBR3_Sony_A.jsv
CABASTBR3_Sony_B.jsv
Originally committed as revision 14331 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Michael Niedermayer
e3e6f18f16
Simplify slice type checks.
...
Originally committed as revision 14323 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Michael Niedermayer
41f5c62f5c
Fix used references indexes in the loop filter.
...
Disable filter_mb_fast() as it optimized the incorrect code.
Fixes at least:
BA3_SVA_C.264
CABA3_SVA_B.264
CABACI3_Sony_B.jsv
CAFI1_SVA_C.264
camp_mot_frm0_full.26l
CAWP5_TOSHIBA_E.264
CVFI2_SVA_C.264
CVSE3_Sony_H.jsv
CVWP2_TOSHIBA_E.264
CVWP5_TOSHIBA_E.264
SL1_SVA_B.264
Originally committed as revision 14315 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Michael Niedermayer
df8a7dff29
Remove delayed_output_pic, I do not understand what this variable was good for.
...
It is simpler and might be faster now.
Originally committed as revision 14289 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Alexander Strange
64b9d48f76
Move the size of the H264Context delayed_pic array into a #define.
...
This improves readability by getting rid of some magic numbers.
Originally committed as revision 14248 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Alexander Strange
fedec603db
Don't test for H264 encoding unless an encoder exists.
...
Originally committed as revision 14048 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Alexander Strange
64514ee8de
Store mb_xy in H264Context and only calculate it once per MB.
...
Originally committed as revision 13125 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Michael Niedermayer
59eeddf063
Crop parameters are unsigned, having them negative could be bad and lead
...
to crashes or maybe exploits (not checked at all if this is possible).
Originally committed as revision 12789 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
2cab640129
typo fixes
...
Originally committed as revision 12428 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Loren Merritt
ed5d7a531c
ff_h264_idct8_add_sse2.
...
compared to mmx, 217->126 cycles on core2, 262->220 on k8.
Originally committed as revision 11826 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Diego Biurrun
5b21bdabe4
Add FFMPEG_ prefix to all multiple inclusion guards.
...
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago