Commit Graph

1100 Commits

Author SHA1 Message Date
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
Michael Niedermayer
4f10312c19 indent
Originally committed as revision 14390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:26:24 +00:00
Michael Niedermayer
3f1e179747 10000l, forgotton }
Originally committed as revision 14389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:25:28 +00:00
Michael Niedermayer
c29e05e60d Remove another of these obfuscated special cases for field pictures
that does not do anything.

Originally committed as revision 14388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:23:41 +00:00
Michael Niedermayer
c725090004 Simplify mmco setup code used in IDR pictures.
Originally committed as revision 14387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:12:25 +00:00
Michael Niedermayer
57288c4a06 Remove redundant h->mmco_index= 0.
Originally committed as revision 14386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 12:02:45 +00:00
Michael Niedermayer
5118c6c771 Assert that long_ref has been cleared for released pics.
Originally committed as revision 14385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 11:54:03 +00:00
Michael Niedermayer
849b9cef32 Clear long_ref when a frame is no longer a long_ref.
Originally committed as revision 14384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 11:52:40 +00:00
Michael Niedermayer
d9fe1749fc Make sure mmco index is 0 (instead of uninitialized) in all error returns.
Originally committed as revision 14383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 11:48:32 +00:00
Michael Niedermayer
9296f5d81a Simplify strange obfuscated code in MMCO_LONG handling.
Note, this might change behavior for invalid bitstreams.

Originally committed as revision 14381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-25 00:13:02 +00:00
Michael Niedermayer
357282c6f3 Set field_poc (it was half uninitialized before) and use it
instead of the fragile first_field check to determine if we have
2 fields at the end.

Originally committed as revision 14380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 23:43:44 +00:00
Michael Niedermayer
b78a6baaf1 Minor simplification of code in init_poc().
Originally committed as revision 14379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 22:29:38 +00:00
Michael Niedermayer
5710b37160 cosmetics (indent and 2 empty lines)
Originally committed as revision 14378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 22:05:58 +00:00
Michael Niedermayer
80f8e035ba init_poc() vs. idr() cleanup
Originally committed as revision 14377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 22:04:29 +00:00
Michael Niedermayer
ac5057c2de Fix loop filter with CAVLC 8x8dct.
Fixes at least:
FRExt/HPCV_BRCM_A.264
FRExt/HVLCFI0_Sony_B.264
FRExt/HVLCPFF0_Sony_B.264
H264_artifacts_motion.h264

Originally committed as revision 14373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 17:13:37 +00:00
Diego Biurrun
1412060e78 misc spelling/grammar fixes
Originally committed as revision 14367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 10:55:36 +00:00
Michael Niedermayer
a149c1a59f Reset prev_frame_num for idr frames as required by the spec.
Originally committed as revision 14354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-24 00:45:18 +00:00
Michael Niedermayer
b4cf222870 Better explanation for buf_size==0 code.
Originally committed as revision 14353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 17:24:11 +00:00
Michael Niedermayer
cf67f1655c 100l cross_idr simplification had a typo
Originally committed as revision 14351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 14:59:55 +00:00
Michael Niedermayer
f3ba9db42d Remove truncated support, use an AVParser if you used that, it is the same.
Originally committed as revision 14350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 14:44:07 +00:00
Michael Niedermayer
617e42e2c4 Simplify cross_idr calculation.
Originally committed as revision 14349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 14:37:15 +00:00
Michael Niedermayer
55f22dd473 Remove redundant keyframe checks.
Originally committed as revision 14347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 11:24:04 +00:00
Michael Niedermayer
26b86e47c0 Support gaps in the frame num.
Fixes at least:
MR3_TANDBERG_B.264
MR4_TANDBERG_C.264
MR5_TANDBERG_C.264

Originally committed as revision 14339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-23 02:12:54 +00:00
Michael Niedermayer
e44e48372b Reset frame_num for MMCO 5.
Fixes at least
MR2_TANDBERG_E.264

Originally committed as revision 14338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 19:30:45 +00:00
Michael Niedermayer
2e916cb392 3rd try to get the loop filter ref/mv check working correctly.
Fixes at least:
src19td.IBP.264
CVWP3_TOSHIBA_E.264
cvmp_mot_picaff0_full_B.26l
CVMP_MOT_FRM_L31_B.26l
cvmp_mot_frm0_full_B.26l
CVMP_MOT_FLD_L30_B.26l
cvmp_mot_fld0_full_B.26l

Originally committed as revision 14337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 17:44:36 +00:00
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
2008-07-22 13:01:10 +00:00
Michael Niedermayer
a82688b003 Setting chroma_qp to 0 for PCM blocks is really an interesting minor
optimization, more interresting would it have been had the author
thought about what value chroma_qp would have for the following MB.
Or failing that, had actually tested the code.
So this reverts this non-functional optimization, and makes the code work.
Fixes at least CAPM3_Sony_D.jsv

Originally committed as revision 14335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 12:31:48 +00:00
Michael Niedermayer
3a75616940 Deobfusate chroma_qp_table[1] init code.
Originally committed as revision 14334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-22 11:56:56 +00:00
Carl Eugen Hoyos
6aaff88fd9 Revert r13542: Spatial direct mode probably also works with PAFF.
Originally committed as revision 14332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 22:46:47 +00:00
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
2008-07-21 22:19:06 +00:00
Michael Niedermayer
9f5c1037b1 Use slice_type_nos instead of slice_type where it makes no difference.
This way we use slice_type_nos almost everywhere which means 1 variable less
for gcc to put in a register.

Originally committed as revision 14326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 19:11:41 +00:00
Michael Niedermayer
4b30289ec9 SI/SP slice support. (not bitexact)
SI untested as I did not find any samples.

Originally committed as revision 14325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:44:57 +00:00
Michael Niedermayer
932f396f50 Remove superfluous ().
Originally committed as revision 14324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:26:11 +00:00
Michael Niedermayer
e3e6f18f16 Simplify slice type checks.
Originally committed as revision 14323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:24:45 +00:00
Michael Niedermayer
72caa912f2 More correct ref comparison in the loop filter.
Originally committed as revision 14322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 18:06:23 +00:00
Michael Niedermayer
29d05ebc7a Simplify spatial direct ref selection with FFMIN3()
Originally committed as revision 14319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-21 01:41:56 +00:00
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
2008-07-20 18:06:41 +00:00
Michael Niedermayer
4f20b45fbe Fix h264_loop_filter_strength_mmx2() so it works with PAFF.
fixed at least:
CVFI1_Sony_D.jsv
CVFI1_SVA_C.264
MR6_BT_B.h264

Originally committed as revision 14310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 21:53:54 +00:00
Michael Niedermayer
fb19e1443b Take the brain amputated spec literally if the user asks for it (-strict 1).
That is, add 16 frames delay, cache trashing and av desync.
fixes at least the following reference bitstreams:
CABA3_Sony_C.jsv
CACQP3_Sony_D.jsv
CAMANL1_TOSHIBA_B.264
CANL3_Sony_C.jsv
CVBS3_Sony_C.jsv
CVMANL1_TOSHIBA_B.264

Originally committed as revision 14308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 16:16:00 +00:00
Michael Niedermayer
2a811db238 Make the automatic has_b_frames increasing code increase it up to the
same maximum that can be achieved by specifying the value in the bitstream.

Originally committed as revision 14302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 15:37:52 +00:00
Michael Niedermayer
28bb9eb24b Try to fix my latest 100l fate SVQ3 breakage.
Originally committed as revision 14300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 12:21:09 +00:00
Michael Niedermayer
801b27fa7c Remove apparently unneeded out!=NULL check.
Originally committed as revision 14299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 11:57:29 +00:00
Michael Niedermayer
3eaa6d0e56 Simplify picture output code.
Originally committed as revision 14298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 11:11:48 +00:00
Michael Niedermayer
6b476f05e3 Remove useless #if 0 code.
Originally committed as revision 14297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 10:47:25 +00:00
Michael Niedermayer
7c0efeccfa Do not forget marking disposed delayed pics as unused.
Fixes issue335

Originally committed as revision 14296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:33:42 +00:00
Michael Niedermayer
79f4494a04 indent
Originally committed as revision 14292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:17:44 +00:00
Michael Niedermayer
0ab515e935 simplify
Originally committed as revision 14291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:13:11 +00:00
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
2008-07-19 02:53:57 +00:00
Michael Niedermayer
1b547abaa3 Drop out of order pics even if bitstream_restriction_flag is set.
Originally committed as revision 14288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 02:44:17 +00:00
Michael Niedermayer
197ea52443 Make frames non reference by default, so they are disposed of automatically
in MPV_frame_start() if we break out due to an error at a random place.
Fixes issue334

Originally committed as revision 14283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-18 20:59:17 +00:00
Michael Niedermayer
1d42f41091 indent
Originally committed as revision 14258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 17:51:24 +00:00
Michael Niedermayer
7a9dba3cd6 SVQ3 uses the JPEG variant of YUV 4:2:0.
Fixes issue256

Originally committed as revision 14257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 17:48:47 +00:00
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
2008-07-15 21:30:04 +00:00
Måns Rullgård
e1f15d3836 H264: fix index range assert() in remove_short_at_index()
Originally committed as revision 14233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-14 19:17:13 +00:00
Jason Garrett-Glaser
3a8322b133 H264: Fix decoding with CABAC/delta_qp/PCM macroblocks.
Patch by Jason Garrett-Glaser (darkshikari gmail com)

Originally committed as revision 14160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 02:07:57 +00:00
Michael Niedermayer
7445f9cc67 fix IPCM_decode_error.h264
Originally committed as revision 14135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-09 06:03:59 +00:00
Alexander Strange
58cc7dd9fc Cosmetics: split a long line.
Originally committed as revision 14055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:28:47 +00:00
Alexander Strange
92ed1ec957 Use get_cabac_bypass_sign instead of an if/else.
Originally committed as revision 14054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:25:17 +00:00
Alexander Strange
142ee5d73d Reorder the if/else for residual cats to match gcc's branch prediction.
Originally committed as revision 14053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:20:06 +00:00
Alexander Strange
47775cb8de Simplify loop condition for readability.
Originally committed as revision 14052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:15:05 +00:00
Alexander Strange
9f734c3b57 Reindent.
Originally committed as revision 14051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:12:01 +00:00
Alexander Strange
9588ec340c Clone decode_cabac_residual() for DC residuals, to get rid of a bunch of branches in the main loop.
Originally committed as revision 14050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:08:12 +00:00
Alexander Strange
2e254bc583 Don't generate two copies of hl_decode_mb() under ENABLE_SMALL.
(assuming your compiler removes unused static functions)

Originally committed as revision 14049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-02 22:03:53 +00:00
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
2008-07-02 21:46:18 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Carl Eugen Hoyos
7e14f14584 Warn about unimplemented H264 feature.
Originally committed as revision 13542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-29 23:16:12 +00:00
Pascal Massimino
ae899d12ae in TRUNCATED mode, use residual fragments in ParseContext
for decoding the very last frame.

Originally committed as revision 13538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-29 20:09:45 +00:00
Diego Biurrun
9c852bcf58 cosmetics: spelling typo fixes
Originally committed as revision 13489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-28 09:20:59 +00:00
Diego Biurrun
f4433de9ef consistency cosmetics: indices --> indexes
Originally committed as revision 13444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 23:14:25 +00:00
Michael Niedermayer
4806b9226c print direct_spatial_mv_pred
Originally committed as revision 13409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 01:06:15 +00:00
Alexander Strange
bff2266a7f Remove newly unused variables.
Originally committed as revision 13127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 19:22:28 +00:00
Alexander Strange
d2b54ec801 Use h->mb_xy directly in decode_cabac_residual().
Originally committed as revision 13126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 19:18:39 +00:00
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
2008-05-11 19:16:21 +00:00
Carl Eugen Hoyos
e0a0c85dbd One const per declaration is enough.
Originally committed as revision 13079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-08 14:01:44 +00:00
Jason Garrett-Glaser
144783887c Use a state machine to reduce branching logic in decode_cabac_residual.
Patch by Jason Garrett-Glaser (darkshikari gmail com)

Originally committed as revision 13060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-04 22:39:12 +00:00
Stefano Sabatini
6140271f54 Add some long names to AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-29 07:24:44 +00:00
Vladimir Voroshilov
159ef4b02a Implement FFMAX3(a,b,c) - maximum over three arguments.
Originally committed as revision 12910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-19 17:07:58 +00:00
Jeff Downs
52cb7981e2 Redo r12838, this time using svn copy to create h264_i386.h from cabac.h.
Move decode_significance_x86() and decode_significance_8x8_x86() to
i386-specific file from cabac.h.
New file is h264-oriented and only included from h264.c
Resolves compilation when configured with --disable-optimizations due to
decode_significance_8x8_x86 using last_coeff_flag_offset_8x8, which is
only defined in h264.c

Originally committed as revision 12846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 04:40:21 +00:00
Jeff Downs
3aa9ede400 Revert 12838 to redo it the right way (use svn copy to create new
file based on old).

Originally committed as revision 12845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 04:26:52 +00:00
Jeff Downs
e6cfd8fffb Move decode_significance_x86() and decode_significance_8x8_x86() to
i386-specific file from cabac.h.
New file is h264-oriented and only included from h264.c
Resolves compilation when configured with --disable-optimizations due to
decode_significance_8x8_x86 using last_coeff_flag_offset_8x8, which is
only defined in h264.c

Originally committed as revision 12838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 13:51:41 +00:00
Michael Niedermayer
faf3dfb94b Avoid crash with idiotic cropping. Fixes crash with CVFC1_Sony_C.jsv
and closes issue333.

Originally committed as revision 12788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-11 12:55:21 +00:00
Diego Biurrun
d952638699 typo: occured --> occurred
Originally committed as revision 12549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-22 01:06:57 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer
9d2cc8c1ee If consumed does not match nalsize, favor nalsize.
Fixes issue385.

Originally committed as revision 12430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-13 01:49:19 +00:00
Diego Biurrun
2cab640129 typo fixes
Originally committed as revision 12428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-12 23:58:46 +00:00
Aurelien Jacobs
9701840bb5 add FF_ prefix to all (frame)_TYPE usage
Originally committed as revision 12399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-09 23:31:02 +00:00
Loren Merritt
be0995b166 more aspect ratios added in one of the ammendments
Originally committed as revision 12282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 01:58:25 +00:00
Michael Niedermayer
cea9642014 Fix ;;
Originally committed as revision 12153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-19 22:09:08 +00:00
Loren Merritt
ffbc5e04ce "swap first two elements of L1 if L0 and L1 are identical" applies after splitting the lists into fields
Originally committed as revision 11808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 10:54:20 +00:00
Loren Merritt
02f7695b0b fix mbaff diagonal neighbor mv
Originally committed as revision 11807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 10:53:15 +00:00
Loren Merritt
50b3ab0fa5 mbaff spatial direct
Originally committed as revision 11806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 10:51:56 +00:00
Michael Niedermayer
30317501a0 consts
Originally committed as revision 11705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 02:35:11 +00:00
Michael Niedermayer
7526ade238 Indention, it seems i have forgotton to commit this.
Originally committed as revision 11702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 01:35:31 +00:00
Andreas Öman
1710856cb1 Fix the following warnings:
h264.c:2093: warning: unused variable 's'
h264.c:2406: warning: suggest parentheses around arithmetic in operand of ^
h264.c:2412: warning: suggest parentheses around arithmetic in operand of ^

Originally committed as revision 11680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-31 00:15:24 +00:00
Jeff Downs
79db7ac6ef Fix memory leak in h264 decoder. allocated_edge_emu_buffer was being allocated
in both mpegvideo and h264 decoder. Fixed by allowing all (master and duplicate)
contexts to fully initialize in MPV_frame_start and copying these into
H264Contexts.

Mailing list discussion:
[FFmpeg-devel] Memory leak in h264
Tue, 22 Jan 2008 15:22:55

Originally committed as revision 11657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-28 21:12:38 +00:00
Reimar Döffinger
766324fc49 Add and use DECLARE_ASM_CONST for constants used in assembler code.
Should make it easier to work around compilation problems with e.g. ICC.

Originally committed as revision 11641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-27 20:50:16 +00:00
Michael Niedermayer
cb077b7aa3 Fix crash for CAVLC->CABAC switch caused by writing into NULL tables.
(iam not sure if this might have been exploitable)
fixes issue332 / CVCANLMA2_Sony_C.jsv
Other solutions which waste a few bytes less are welcome ...

Originally committed as revision 11605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-24 19:31:59 +00:00
Diego Biurrun
6bf398a030 Add #undef printf and disable non-functional code to make test program compile.
Originally committed as revision 11604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-23 21:27:07 +00:00
Diego Biurrun
07e4e3ea8b Consistently use TEST as the preprocessor condition to enable test code.
Originally committed as revision 11581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-20 23:53:51 +00:00
Reinhard Nissl
8293fea57e Fix problem with multithreaded decoding, introduced by r11214.
Patch by Reinhard Nissl: rnissl gmx de

Originally committed as revision 11275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-19 23:03:52 +00:00
Diego Biurrun
5d81d64175 cosmetics: comment typo fixes
Originally committed as revision 11232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-16 17:22:09 +00:00
Kostya Shishkov
626464fb53 Make fill_rectangle() available for other decoders
Originally committed as revision 11219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-15 06:06:16 +00:00
Jeff Downs
9a1feb8608 Fix brain-dead parts of r11216, specifically:
Actually unreference removed pics
And check for too many reference frames as originally intended, not equal
to max reference frames.

Originally committed as revision 11218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 22:49:30 +00:00
Jeff Downs
aeb59e839f Ensure that our total reference frame count does not exceed the SPS
max frame count, which is limited to less than the size of the
reference buffers, thereby preventing overflow.
Part of fix for issue 281.

Originally committed as revision 11216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 06:25:23 +00:00
Jeff Downs
41f7e2d11d Actually return with an error condition if we're being asked to deal with too
many reference frames. Also check max num ref frames against our internal
ref buffer sizes.
Part of fix for roundup issue 281

Originally committed as revision 11215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 05:48:27 +00:00
Jeff Downs
33e0073129 Make h264 decoder conform to requirements of mpegvideo's MPV_frame_start.
Namely, that it should not be called if you are starting to decode a B
frame without any reference pictures.
Prevents an endless allocation cycle in MPV_frame_start that will end in
picture buffer overflow and abort.
Fixes roundup issue 216.

Originally committed as revision 11214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-14 05:37:23 +00:00
Jeff Downs
36e097bce4 Fix non_zero_count_cache for deblocking in field pictures.
Based on original patch by Martin Zlomek martin.zlomek a email D cz
ffmpeg-devel thread: H264: Fix non_zero_count_cache for deblocking in fields
Fri, 30 Nov 2007 9:58:23

Originally committed as revision 11212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-13 00:50:47 +00:00
Panagiotis Issaris
b17270878e Verify long_ref_count!=0. Fix issue 281.
Originally committed as revision 11171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-05 18:02:48 +00:00
Jeff Downs
cf653d0811 Initialize function pointers used by error resilience code before any
potential error return from decode_slice_header.

Fixes issue 284.

Originally committed as revision 11168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-05 05:24:54 +00:00
Vitor Sessak
52b541ad79 spelling
Originally committed as revision 11122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 22:21:04 +00:00
Diego Biurrun
f8a80fd69d main() --> main(void)
Originally committed as revision 11079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-23 00:52:56 +00:00
Jeff Downs
e240f898ff Call mpegvideo flush routine on h264 flush. Needed in particular
to clear last_picture_ptr, next_picture_ptr for proper picture
management. Prevents crashes in error concealer following seeks.
Fixes Roundup issue 189.

Originally committed as revision 11049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-17 03:04:21 +00:00
Reinhard Nissl
ce5d17f590 Provide top_field_first logic for h264
patch by: Reinhard Nissl rnissl a gmx d de

Originally committed as revision 10989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-10 06:10:46 +00:00
Jeff Downs
ad426590d8 Fix deblocking filter for field pictures by properly looking for first
row in bottom fields and preventing the use of "fast" deblocking for such.

Originally committed as revision 10950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-07 23:35:48 +00:00
Jeff Downs
c0a8500015 Fix poc for field pictures. Prior to this, the poc of the second field
in decoding order would always be assigned to a field pair's poc.

Original thread: H.264: Fix poc for field pairs, 6 Nov 2007 17:41:02

Originally committed as revision 10937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-06 18:48:18 +00:00
Jeff Downs
84a8596d23 Correct assignment of interlaced_frame; was being set on output frames,
in display order, based on decoding information in decoding order. Now
set properly, immediately upon completion of decode.

Based on original patch from Reinhard Nissl,  rnisssl % gmx , de
Original Thread: [FFmpeg-devel] H.264 + PAFF: BBC HD recording shows
extreme interlacing artefacts, Thu, 01 Nov 2007 22:43:09

Originally committed as revision 10931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-05 18:16:42 +00:00
Jeff Downs
2143b11853 Fix chroma mv offsets for PAFF in a way that is compatible with MBAFF by
setting Picture.reference to indicate parity for all Pictures in
reference list.

Patch by Jeff Downs, heydowns T borg O com

Originally committed as revision 10744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-15 22:17:39 +00:00
Martin Zlomek
44a7e65a51 Fix mix-up of values in r10690 (deblocking for PAFF).
Patch by Martin Zlomek, martin d zlomek a email d cz

Originally committed as revision 10738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-15 06:23:02 +00:00
Jeff Downs
0d43dd8c2d Simplify tests for field macroblocks
patch by Jeff Downs, heydowns a borg d com

Originally committed as revision 10721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-13 05:50:11 +00:00
Jeff Downs
5e832bc28f Interlaced pictures (not just MBAFF) + spatial direct mode is not
implemented.

Patch by Jeff Downs, heydowns . borg @ com
Original thread: Enable PAFF decoding, 2007-10-09 11:04

Originally committed as revision 10714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-12 09:10:07 +00:00
Carl Eugen Hoyos
2fe279f9f9 Set pict->interlaced_frame if returned frame is MBAFF or PAFF.
Originally committed as revision 10703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-10 20:31:42 +00:00
Jeff Downs
03d3cab876 fix incorrect check for abs_diff_pic_num overflow
patch by Jeff Downs, heydowns a borg d com

Originally committed as revision 10700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-09 17:45:34 +00:00
Andreas Öman
f6e3c4603d reindent
Originally committed as revision 10698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-09 15:09:51 +00:00
Carl Eugen Hoyos
d6c52130f7 Enable PAFF decoding
Originally committed as revision 10696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-09 12:28:17 +00:00
Jeff Downs
12d96de3ac Manage Picture buffers for fields as well as frames. Pair complementary fields into one MPV Picture.
Part of PAFF implementation.

patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-08 17:44:38 +00:00
Martin Zlomek
ac6b423b0c Fix deblocking for PAFF content
Patch by Martin Zlomek, martin d zlomek a email d cz

Originally committed as revision 10690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-08 17:39:34 +00:00
Jeff Downs
5a421d538e Re-indent after PAFF MMCO implementation patch.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-07 23:46:51 +00:00
Jeff Downs
0ae969faed Augment MMCO execution to work with both fields and frames. Part of PAFF
implementation.

patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-07 23:32:42 +00:00
Jeff Downs
d3d8c02b78 Cosmetic renaming variable so that it makes more sense for forthcoming PAFF mmco patches.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:50:55 +00:00
Jeff Downs
12a09bfa39 Augment mmcodecoding process to work properly with fields. Part of PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:49:13 +00:00
Jeff Downs
8a11a96987 Edge emulation for fields. Part of PAFF implementation
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:47:02 +00:00
Jeff Downs
fa178ed2a4 Set Picture.poc for fields and field pairs. Part of PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 15:44:58 +00:00
Jeff Downs
f3e53d9fcd Modifies macroblock addressing and current macroblock y-position for field decoding.
Adds convenience definition for pictures that are field or mbaff based. Part of PAFF implementation.

patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-06 05:59:14 +00:00
Jeff Downs
949da388de Support function and changes to reference picture reordering for PAFF.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-05 13:54:11 +00:00
Jeff Downs
086acdd54b Reindent fill_default_ref_list after changes for PAFF
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-05 13:47:46 +00:00
Jeff Downs
11cc1d8c12 Support functions and changes to default reference list creation for PAFF.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-05 13:41:27 +00:00
Jeff Downs
24231e4cf6 Reorganize long reference management to minimize code duplication in upcoming PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:53:12 +00:00
Jeff Downs
3a22d7fa1f Fix Picture.key_frame setting to be compatible with frame and field contexts. Part of PAFF implementation.
Contributed in part by Neil Brown.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:50:44 +00:00
Jeff Downs
f57e2af68b Fix h->curr_pic_num for field pictures. Necessary for proper PAFF support.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:43:58 +00:00
Jeff Downs
c58b747153 Rename variable to make sense in both field and frame contexts (support of PAFF implementation).
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:41:49 +00:00
Jeff Downs
47e112f872 Further modularize short reference list management for upcoming PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:38:58 +00:00
Jeff Downs
5a7b254c75 Re-indent unreference_pic.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:37:04 +00:00
Jeff Downs
8fd57a667b Modify unreference_pic implementation with PAFF in mind.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:35:46 +00:00
Jeff Downs
bbb3edb827 Partial PAFF implementation at macroblock level.
PAFF support disabled until implementation complete.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-04 06:33:26 +00:00
Andreas Öman
9dceaa923e remove unused code, spotted by Jeff Downs, heydowns a borg d com
Originally committed as revision 10650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 20:04:39 +00:00
Jeff Downs
0d0447eae0 Rename MMCO stuff to prepare for h264/PAFF implementation.
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-02 14:35:20 +00:00
Panagiotis Issaris
93f0c0a4ca Remove redundant test.
Originally committed as revision 10601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 10:45:16 +00:00
Jeff Downs
2ddcf84bb7 h264/PAFF preparation: use DELAYED_PIC_REF to mark non-refs frames as held for delayed output
patch by Jeff Downs, heydowns a borg d com
original thread:
Subject: [FFmpeg-devel] [PATCH] Implement PAFF in H.264
Date: 18/09/07 20:30

Originally committed as revision 10592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-26 13:28:13 +00:00
Andreas Öman
58f66029b6 reindent
Originally committed as revision 10573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-25 08:43:49 +00:00
Andreas Öman
1136d34a44 factor out dequant table lookup outside loops, gives a 1-2% speed-up
patch by Andreas Öman %andreas A olebyn P nu%
original thread:
Date: Sep 24, 2007 12:59 PM
Subject: [FFmpeg-devel] [PATCH] h264: factor out dequant table lookup outside loops

Originally committed as revision 10564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-24 13:01:15 +00:00
Reimar Döffinger
61858a76f2 Apply skip_loop_filter before checking if we can parallelize with the selected
loop filter

Originally committed as revision 10549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-22 10:28:22 +00:00
Andreas Öman
a27d6e714f Simplify H.264 decode_cabac_mb_cbp_luma(), giving a ~0.5% speedup.
patch by Andreas Öman, andreas olebyn nu
Date: Thu, 20 Sep 2007 12:59:19 +0200
Subject: [FFmpeg-devel] [PATCH] simplify h264's decode_cabac_mb_cbp_luma()

Originally committed as revision 10537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-21 00:26:31 +00:00
Andreas Öman
50c21814b9 fix image corruption when with multi-threaded decoding.
dequant-tables were not correctly reinitialized in the slave
contexts when a PPS came with updated matrices.
Patch by Andreas Öman %andreas A olebyn P nu%
Original thread:
date: Sep 16, 2007 6:14 AM
subject: [FFmpeg-devel] Parallelized h264 image corruption bug

Originally committed as revision 10505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-16 10:37:07 +00:00
Andreas Öman
7ae94d525c Indentation
patch by Andreas Öman

Originally committed as revision 10432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-07 19:19:49 +00:00
Andreas Öman
ec970c2187 Let H.264 decoder skip deblocking across slices
if running with multiple threads and CODEC_FLAGS2_FAST is set.
Thus, it may decode the slices in parallel to gain speed.

Patch by Andreas Öman: [andreas olebyn nu]

Originally committed as revision 10431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-07 18:27:13 +00:00
Jeff Downs
088ed4d636 Avoid a crash when H264 MMC operation causes the short term reference
list to be emptied.
Patch by Jeff Downs: [heydowns borg com]

Originally committed as revision 10416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 20:04:09 +00:00
Andreas Öman
afebe2f7ca Add slice-based parallel H.264 decoding
Patch by Andreas Öman % andreas A olebyn P nu %
NB: depends on having a thread library activated at config time, and on
having a source encoded with multiple slices
Original threads:
date: May 18, 2007 11:00 PM
subject: [FFmpeg-devel] Parallelized h264 proof-of-concept
date: Jun 15, 2007 10:10 PM
subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)
date: Jun 25, 2007 7:02 PM
subject: Re: [FFmpeg-devel] [PATCH] h264 parallelized

Originally committed as revision 10407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 16:18:15 +00:00
Kostya Shishkov
c92a30bb06 Move H.264 intra prediction functions into their own context
Originally committed as revision 10397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 05:30:08 +00:00
Carl Eugen Hoyos
5d3de5ad22 Silence warnings about NAL_SVC_NON_IDR in H.264.
patch by Carl Eugen Hoyos, cehoyos ag.or at

Originally committed as revision 10289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-04 14:48:39 +00:00
Carl Eugen Hoyos
1c746a490d Remove error raising when explicitely skipping frame
patch by Carl Eugen Hoyos: [cehoyos ag or at]
original thread:
[FFmpeg-devel] [PATCH] Don't let ctx->skip_frame>0 produce errors
date: 08/30/2007 01:30 PM

Originally committed as revision 10286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-03 08:46:24 +00:00
Ramiro Polla
c8f9ef613e CONFIG_7REGS -> HAVE_7REGS
Originally committed as revision 10121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-15 21:19:13 +00:00
Alexander Strange
6d324c813f Statements like a = b = c = d = e; store from right-to-left, so if
you write them in the right order it comes out backwards.
This removes them from fill_rectangle().
patch by Alexander Strange %astrange A ithinksw P com%
Original thread:
Date: Aug 14, 2007 5:36 AM
Subject: [FFmpeg-devel] [PATCH] two small h264 optimizations

Originally committed as revision 10118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-14 22:28:09 +00:00
Alexander Strange
880003bbb9 Don't check the return value of decode_cabac_residual since it always
returns 0. This leads to a 0.4% speed-up.
Patch by Alexander Strange  astrange at_ ithinksw dot com
Original thread:
Date: Aug 11, 2007 11:44 PM
Subject: [FFmpeg-devel] [PATCH] h264: don't check decode_cabac_residual return

Originally committed as revision 10084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-12 00:07:29 +00:00
Alex Beregszaszi
ec5dc2c1af debug: tell how much bits are skipped with unknown nal code
Originally committed as revision 9993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-08 20:27:18 +00:00
Michael Niedermayer
873525491e use ENABLE_GRAY
Originally committed as revision 9847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-01 01:01:03 +00:00
Andreas Öman
d4a688d029 fix cabac decoding with some Blue-Ray sources
Patch by Andreas Öman %andreas A olebyn P nu%
Original thread:
Date: Jul 7, 2007 1:23 AM
Subject: [FFmpeg-devel] Corrupted blocks and seeking issues in H264 disc sources

Originally committed as revision 9836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-30 21:19:36 +00:00
Panagiotis Issaris
d04d5bcd0e Fix the self tests which are contained in some codecs and are using random().
Originally committed as revision 9755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 08:47:07 +00:00
Andreas Öman
9a5a05d0b3 fix visual painting of MVs from h264: they are painted twice too long
since the MVs are in qpel res.
Patch by Andreas Öman % andreas A olebyn P nu %
Date: Jul 14, 2007 12:40 PM
Subject: [FFmpeg-devel] [PATCH] h264 mv visualization

Originally committed as revision 9688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-15 19:03:12 +00:00
Benoit Fouet
93f4823935 bring back h264 build
Originally committed as revision 9555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-09 07:51:54 +00:00
Måns Rullgård
bad700e346 trivial warning fixes
Originally committed as revision 9547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-08 23:14:54 +00:00
Andreas Öman
4691a77db4 Add support for streams with different chroma_qp_index_offset
for Cr and Cb
Patch by Andreas Öman % andreas A olebyn P nu %
Original thread:
Date: Jun 26, 2007 8:48 PM
subject: [FFmpeg-devel] Color corruption and seeking errors with H264 disc sources

Originally committed as revision 9505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 14:21:37 +00:00
Andreas Öman
042ef4b720 Precompute a chroma_qp table with index offset for each pps,
this saves speed for the upcoming secondqp fix.
Patch by Andreas Öman % andreas A olebyn P nu %
Original thread:
Date: Jun 26, 2007 8:48 PM
subject: [FFmpeg-devel] Color corruption and seeking errors with H264 disc sources

Originally committed as revision 9498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 07:58:08 +00:00
Andreas Öman
4bbdf13f9e Compute the dequant coefficient table ptr outside the loop,
this saves speed for the upcoming secondqp fix.
Patch by Andreas Öman % andreas A olebyn P nu %
Original thread:
Date: Jun 26, 2007 8:48 PM
subject: [FFmpeg-devel] Color corruption and seeking errors with H264 disc sources

Originally committed as revision 9497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-06 07:55:37 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Andreas Öman
b69378e295 Don't swap back un-deblocked lines for intra prediction when
at slice boundaries for deblocking-type 2 content.

This is needed for slice based threading only and doesn't do much
good or bad otherwise.
Patch by Andreas Oman %andreas A olebyn P nu%
Original thread:
date: Jun 18, 2007 1:21 PM
subject: Re: [FFmpeg-devel] [PATCH] h264 parallelized,

Originally committed as revision 9380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-21 07:52:06 +00:00
Andreas Öman
24456882f3 Do not reuse the rbsp de-escape buffer if both
the intra and inter -nal units are escaped
patch by Andreas Öman: \andreas olebyn nu/
original thread:
[FFmpeg-devel] [PATCH] h264: rbsp de-escape and data partitioning..
date: 06/20/2007 09:32 AM

Originally committed as revision 9374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-20 08:53:53 +00:00
Andreas Öman
995a30c06b Decouple bit context from h264 context in decode_ref_pic_marking()
(done in order to implement slice-level parallel decoding)
Patch by Andreas Öman % andreas olebyn nu %
Original thread:
Date: Jun 15, 2007 10:10 PM
Subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)

Originally committed as revision 9371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-19 21:34:04 +00:00
Andreas Öman
1c48415bb9 indentation
patch by Andreas Öman: [andreas olebyn nu]

Originally committed as revision 9360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-18 08:48:26 +00:00
Andreas Öman
b41c1db38d Factor out init_scan_tables(), patch by Andreas Öman %andreas A olebyn.nu%
original thread:
Date: Jun 15, 2007 10:10 PM
Subject: [FFmpeg-devel] [PATCH] h264 parallelized, (was: Parallelized h264 proof-of-concept)

Originally committed as revision 9341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 19:54:04 +00:00
Måns Rullgård
706da4af32 fix some printf format specifiers
Originally committed as revision 9334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 14:52:05 +00:00
Diego Biurrun
90b5b51eab misc typo fixes
Originally committed as revision 9291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 18:50:50 +00:00
Diego Biurrun
755bfeabcc misc spelling fixes
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Andreas Öman
93cc10fa9c h264: use 'simple' in border backup / xchg
patch by Andreas Öman: [andreas olebyn nu]
original thread:
subject: [FFmpeg-devel] [patch] h264: use 'simple' in border backup / xchg
date: 06/07/2007 03:24 PM

Originally committed as revision 9237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-07 13:51:06 +00:00
Andreas Öman
83b3401731 filter_mb_fast() doesn't handle h->deblocking_filter==2 (skip slice edges), so delegate that case to filter_mb().
Patch by Andreas Öman [andreas at olebyn dot nu].

Originally committed as revision 9180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-03 11:44:43 +00:00
Carl Eugen Hoyos
154e30f6c2 rename attribute_unused to av_unused and moves its declaration to common.h
patch by Carl Eugen Hoyos cehoyos chez ag or at
original thread: [FFmpeg-devel] [PATCH] attribute_unused -> av_unused
date: 05/29/2007 01:23 PM

Originally committed as revision 9155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 09:32:25 +00:00
Andreas Öman
7978debdc2 allocate PPS and SPS dynamically
patch by Andreas Öman andreas ta olebyn tod nu
reference thread:
subject: [FFmpeg-devel] [PATCH] h264: allocate PPS and SPS dynamically
date: 05/28/2007 03:00 PM

Originally committed as revision 9148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-29 14:35:29 +00:00
Panagiotis Issaris
cb1a74cf8c Export the four remaining H.264 decoder intra prediction functions for reuse in
the H.264 encoder. These functions are: pred8x8_left_dc_c, pred8x8_top_dc_c,
pred16x16_left_dc_c and pred16x16_top_dc_c.

Originally committed as revision 9107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-23 13:46:11 +00:00
Reimar Döffinger
2c32b173d9 Move attribute_unused to variable declarations in macros instead of
introducing a useless extra variable.

Originally committed as revision 9052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-17 20:18:46 +00:00
Reimar Döffinger
e36d79c837 Change some leftover __attribute__((unused)) and __attribute__((used)) to
attribute_unused and attribute_used respectively to ease compiling on non-gcc.

Originally committed as revision 9024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-14 14:07:50 +00:00
Diego Biurrun
a2e4c0ddae Remove duplicate #includes, avcodec.h #includes common.h.
Originally committed as revision 8995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-11 07:21:14 +00:00
Aurelien Jacobs
26b4fe821c split h264.c to move parser in its own file
Originally committed as revision 8985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 22:26:44 +00:00
Aurelien Jacobs
c53d2d9042 make some parser parameters const to avoid casting const to non-const
Originally committed as revision 8921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-07 00:47:03 +00:00
Diego Biurrun
5a6a6cc7dc Fix multiple "‘inline/static’ is not at beginning of declaration" warnings.
Originally committed as revision 8894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-05 12:18:14 +00:00
Diego Biurrun
e24465962d Remove unused variable.
Originally committed as revision 8878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 23:11:23 +00:00
Mean
dcc3a30b58 prevent going out of the buffer if the nal size does not fit in the buffer.
Patch by Mean % fixounet A free P fr %
Original thread:
Date: Apr 29, 2007 2:00 PM
Subject: Re: [Ffmpeg-devel] [patch] h264.c, dont go beyond buffer in h264_decode_nal_unit

Originally committed as revision 8858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-29 23:18:39 +00:00
Diego Biurrun
e69364b700 Mark code parts that cannot work on AMD64 due to broken relocations as such.
This allows building shared libraries on AMD64 again.
based on a patch by Diego 'Flameeyes' Pettenò and suggestions by Michael
original thread:
Date: Wed, 18 Apr 2007 11:26:12 +0200
Subject: [Ffmpeg-devel] [PATCH] (try 2) Build shared libraries on AMD64 again

Originally committed as revision 8849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-27 09:32:31 +00:00
Diego Biurrun
784b7f77c8 10l: Rename missed occurrences of CONFIG_EBX_AVAILABLE to HAVE_EBX_AVAILABLE.
Originally committed as revision 8821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 00:32:31 +00:00
Limin Wang
3b77e48f0a add a check before find_frame_end call
Patch by Limin Wang % lance P lmwang A gmail P com %
Original thread:
date: 04/09/2007 03:54 PM
subject: [Ffmpeg-devel] [PATCH] fix segment fault in h264_parse if buf_size is zero

Originally committed as revision 8714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-11 14:04:47 +00:00
Reinhard Nissl
ad1ea1f155 When dst_length == 0 bit_length has to be 0, too, but the current code still
calls decode_rbsp_trailing() and therefore bit_length might get negative.
Although the remaining code is able to handle a negative bit_length, avoid
the calculation at all by setting bit_length to 0 for dst_length == 0.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-09 14:10:07 +00:00
Reinhard Nissl
6ac9696e77 Remove a NAL unit's trailing zero bytes even when dst_length is 1.
Consider the following byte sequence

    00 00 01 0a 00 00 00 01 09 ...
               ^  ^
               A  B

decode_nal() determines dst_length to be 1 (i. e. the byte between label
A and B above). However, this byte is a trailing zero byte as the spec
says the the current NAL unit is terminated by a byte sequence 00 00 00.

The current code used a loop to decrement dst_length accordingly. But the
loop doesn't start as the loop condition checks for dst_length > 1, which
should read dst_length > 0.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-09 13:39:35 +00:00
Reinhard Nissl
ff82e429cb scenario: A properly coded frame is followed by an end of sequence NAL unit,
i.e. the four bytes 00 00 01 0a.
When decode_nal() decodes the end of sequence NAL unit, it returns with
dst_length == 0. The original code leads to a return -1 which discards
the current properly decoded frame.
patch by Reinhard Nissl, rnissl gmx de

Originally committed as revision 8688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-09 12:55:07 +00:00
Diego Biurrun
e42dba481f typos/grammar
Originally committed as revision 8641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 14:09:20 +00:00
Stefan Huehner
2b100ab2bf changes some function declarations from () to (void) as per ansi c.
Patch by Stefan Huehner % stefan A huehner P org %

Originally committed as revision 8625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-04 11:51:08 +00:00
Panagiotis Issaris
449659919c Fix compilation when using the --disable-opts parameter. This to help those
interested in using a debugger to debug FFmpeg.

Original thread:
Subject: [PATCH] Fix compilation when using --disable-opts
Date: 2007-03-15 16:58:35 GMT

Originally committed as revision 8549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-29 14:20:30 +00:00
Baptiste Coudurier
b21c9af936 reindent after last commit
Originally committed as revision 8399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-14 11:13:17 +00:00
Baptiste Coudurier
1153be3be1 h264 complete frames parsing support
Originally committed as revision 8398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-14 11:12:02 +00:00
Michael Niedermayer
56c70e1d3a check for no frame and prevent segfault
Originally committed as revision 8211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-03 21:33:33 +00:00
Michael Niedermayer
66a4b2c179 support feeding individual NAL units to the decoder instead of just complete frames
Originally committed as revision 8197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-02 23:35:26 +00:00
Michel Bardiaux
a9c9a2400b Supply context to tprintf
Originally committed as revision 8142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-27 09:39:04 +00:00
Reimar Döffinger
f66e4f5f9e Add av_ prefix to clip functions
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 10:27:12 +00:00
Michael Niedermayer
0268a54a65 rewrite find_frame_end()
new code correctly splits long start codes, also its about twice as fast

Originally committed as revision 8120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 02:38:08 +00:00
Alexander Strange
bd91fee3d7 h264 optimization: common case hl_decode_mb patch by (Alexander Strange astrange ithinksw com)
144095->142319 dezicycles for hl_decode_mb() on duron
trailing whitespace removed by me

Originally committed as revision 8106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-24 00:58:28 +00:00
Michael Niedermayer
97bbb8851b output delayed frames
fixes:
CANL4_SVA_B.264
NL3_SVA_C.264
NL3_SVA_E.264

Originally committed as revision 8055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-21 21:16:07 +00:00
Diego Biurrun
0afd2a92bd cosmetics: Fix a common typo, sepErate --> sepArate.
Originally committed as revision 8047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-21 10:15:08 +00:00
Loren Merritt
4672503d8c simplify in fill_caches
Originally committed as revision 8026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-19 04:44:17 +00:00
Michael Niedermayer
fda51641b1 factorize more calls to fill_rectangle()
Originally committed as revision 8017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-18 01:37:50 +00:00
Michael Niedermayer
d19f5acb36 factorize fill_rectangle() calls
Originally committed as revision 8016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-18 01:24:57 +00:00
Michael Niedermayer
8d6947bc7d factorize fill_rectangle()
remove more silly ref_count checks
use list_count where appropriate

Originally committed as revision 8000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:50:37 +00:00
Michael Niedermayer
3425501d3b replace list<2 checks by list<list_count
remove silly ref_count<0 and ref_count==0 checks its impossible for this variable to have such a value

Originally committed as revision 7999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:42:01 +00:00
Michael Niedermayer
187696fa72 fix 2nd ref_count check
add list_count

Originally committed as revision 7998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:34:21 +00:00
Michael Niedermayer
0565c64834 fix ref_count check
Originally committed as revision 7997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:29:15 +00:00
Michael Niedermayer
65a0f3fd47 factorize mv_cache and mvd_cache init
Originally committed as revision 7996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:27:59 +00:00
Michael Niedermayer
43ff071456 simplify
Originally committed as revision 7995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-16 21:25:22 +00:00
Francois Oligny-Lemieux
6ff9b4226b always decode extradata when of non-avc stream (like RTSP)
Patch by Francois Oligny-Lemieux % eucloid A gmail P com %
Original thread:
Date: Feb 9, 2007 12:00 AM
Subject: [Ffmpeg-devel] h264.c patch, always decoding extradata when on non avc stream

Originally committed as revision 7904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-09 22:25:29 +00:00
Michael Niedermayer
08eb8fcdbf fix segfault with darkkben.free.fr/corrupted_h264.mp4
Originally committed as revision 7671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 19:32:26 +00:00
Michael Niedermayer
2f29af3952 flame
Originally committed as revision 7664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 13:42:09 +00:00
Michael Niedermayer
6f9ca74bec check num_reorder_frames for validity
increase delayed_pic buffer size (one temporary is used and a terminating NULL is assumed by most code so it has to be 18 large)

Originally committed as revision 7663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 13:36:56 +00:00
Michael Niedermayer
9170e34537 adding assert to protect delayed_pic
Originally committed as revision 7661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-23 12:45:57 +00:00
Michael Niedermayer
88e7a4d18c checking bitstream values and other related changes
some of these might have been exploitable

Originally committed as revision 7591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-20 13:50:00 +00:00
Alex Beregszaszi
fead30d444 rename BE/LE_8/16/32 to AV_RL/B_8/16/32
Originally committed as revision 7587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 22:12:59 +00:00
Guillaume Poirier
50eaa857c0 remove useless cast that makes code unreadable
Originally committed as revision 7586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 12:41:56 +00:00
Francois Oligny-Lemieux
ac658be5db harden h264 decoding to prevent some crashes when input data is corrupted.
Patch by Frank %eucloid A gmail P com%
date: Jan 18, 2007 6:48 PM
subject: Re: [Ffmpeg-devel] h264, protection against corrupted data (second try patch)
AND
date: Jan 17, 2007 8:22 PM
subject: [Ffmpeg-devel] h264, protection against corrupted data

this also fixes a possible security issue (the sps and pps ids where not checked,
then used as index into an array of sps/pps structs which was then filled with data from the bitstream)

Originally committed as revision 7585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 09:37:04 +00:00
Reimar Döffinger
b18e5c031c Avoid calling decode_slice when context_initialized is not set.
Avoids a crash due to dsp.clear_blocks being NULL when called.

Originally committed as revision 7547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-16 17:46:26 +00:00
Michael Niedermayer
6de062957b fix 16 CABAC_BIT * 10l bug introduced in r6578
Originally committed as revision 7440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-13 00:56:43 +00:00
Måns Rullgård
849f10351d rename always_inline to av_always_inline and move to common.h
Originally committed as revision 7256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-08 00:35:08 +00:00
Panagiotis Issaris
acd8d10ffb Making rem6 and div6 globally visible and thus adding prefixes.
Originally committed as revision 7245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-07 09:59:05 +00:00
Panagiotis Issaris
14e95e2c92 Removing unused code
Originally committed as revision 7244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-07 09:47:29 +00:00