Commit Graph

717 Commits

Author SHA1 Message Date
Måns Rullgård 63613fe615 Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 12:20:04 +00:00
Alexander Strange e5f61b94a1 H.264: Check the return value of decode_vui_parameters()
Files with invalid VUI are now rejected like
other invalid SPS are.

Fixes issue1231.

Originally committed as revision 19335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 07:46:58 +00:00
Alexander Strange 0410ee8f86 H.264: Don't set data_partitioning for invalid NAL_DPA.
Before, the decoder could interpret a corrupt frame
as a NAL_DPA and NAL_DPC, and then start decoding
even if decode_slice_header() returned an error.
This frequently caused crashes.

Fixes issue1228, issue1229, and partially issue1238.

Originally committed as revision 19328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 05:52:00 +00:00
Reimar Döffinger 8d8409ca9f Fix nalsize check to avoid an integer overflow that made the check
incorrect for nalsize > INT_MAX - buf_index

Originally committed as revision 19307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 12:11:29 +00:00
Haruhiko Yamagata c173a0881f Improve wording: s/reseted/reset
Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 12:10:20 +00:00
Haruhiko Yamagata 2722c3a30d Fix H.264 picture reordering, 2nd try.
First, reverted one was r19239.

Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 21:03:35 +00:00
Carl Eugen Hoyos df028e8c6a Revert r19239: It broke four conformance tests.
Originally committed as revision 19241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 14:47:38 +00:00
Haruhiko Yamagata 6ee0eb38c0 Fix H.264 picture reordering.
Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:16:07 +00:00
Alexander Strange d2d5e06735 H.264: Fix memory leaks with multithreading.
The threads' contexts and rbsp_buffers were not freed at the end
of decoding.

Fixes issue 1581

Originally committed as revision 19207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 21:50:36 +00:00
Haruhiko Yamagata b19d493f2b Add field prev_interlaced_frame to H264Context to be able to flag soft telecine
progressive.

Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 21:16:40 +00:00
Michael Niedermayer f4ebb334be Fix sei_ct_type check so it does not mistreat ct_type= unknown.
Originally committed as revision 19082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 19:24:51 +00:00
Michael Niedermayer 4d95ae1882 Print ct_type and pic_struct.
Originally committed as revision 19081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 19:23:34 +00:00
Baptiste Coudurier 87e302bfd8 remove unused hack which set AVCodecContext frame_number to pic timestamp
Originally committed as revision 18988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 00:24:20 +00:00
Haruhiko Yamagata 86b0e9948b H264: Don't deblock if alpha or beta is 0.
This ensures that the MMX loop filter is always bitexact with the C version.
Patch by Haruhiko Yamagata <h.yamagata _a_ nifty com>

Originally committed as revision 18923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 03:39:20 +00:00
David Conrad 580a7465fb Add a chroma_sample_location field to define positioning of chroma samples
Originally committed as revision 18795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 04:34:23 +00:00
Michael Niedermayer 74b14aacfa Support broken avc nal encapsulation.
Fixes issue987.

Originally committed as revision 18533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 04:46:44 +00:00
Michael Niedermayer d225a1e248 Fix 2 access units in a packet mp4s.
Fixes issue944 and possibly others.

Originally committed as revision 18474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:43:52 +00:00
Michael Niedermayer ead793358a Get rid of the non sensical idea of using the current picture for missing
reference pictures.

Originally committed as revision 18473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:40:18 +00:00
Michael Niedermayer 256299d302 Factorize field_end() out.
Originally committed as revision 18472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:21:23 +00:00
Michael Niedermayer 7824b129a0 Assert that the first list1 entry is a reference frame.
Originally committed as revision 18471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 13:58:03 +00:00
Reimar Döffinger 238ef6dadd Add a av_fast_malloc function and replace several uses of av_fast_realloc,
thus avoiding potential memleaks and pointless memcpys.

Originally committed as revision 18470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 13:17:37 +00:00
Reimar Döffinger 6752dd5aee Loop up to MAX_THREADS instead of h->s.avctx->thread_count to free the thread
contexts, this avoids a crash when freeing the H.264 parser context introduced in
r18406, since h->s.avctx is NULL there.

Originally committed as revision 18418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 14:30:04 +00:00
Reimar Döffinger cbf1eae9a5 Add forgotten void return type to ff_h264_free_context
Originally committed as revision 18411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:31:55 +00:00
Reimar Döffinger 15861962a7 Add a ff_h264_free_context function and call it from the H.264 parser.
This ensures that the parser will no longer leak memory for all SPS/PPS it encounters.

Originally committed as revision 18406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 07:01:55 +00:00
Thilo Borgmann 7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Michael Niedermayer 7ed673af71 Print timing_info on -debug 1.
Originally committed as revision 17949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 14:10:49 +00:00
Diego Biurrun 1b0f4920b8 Mark variables "j" and "structure" in execute_ref_pic_marking() as av_uninit
to work around false positive 'may be used uninitialized' warnings.

Originally committed as revision 17837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:38:52 +00:00
Ivan Schreter 70e01da3bf Add support for ct_type to correctly detect interlaced flag
Originally committed as revision 17811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 19:37:19 +00:00
Vitor Sessak a66430c0d0 Add more correct bound checking in filter_mb().
Should fix decoding of CVMAPAQP3_Sony_E.jsv in MinGW

Originally committed as revision 17806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 16:56:55 +00:00
Panagiotis Issaris a0f8005079 When a H.264 stream references a PPS or SPS id which doesn't exist, instead of
just saying that a non-existing id is referenced, show the value of the id.

Originally committed as revision 17771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 14:32:24 +00:00
Alex Converse 09a64ee614 H.264: Simplify decode_residual()
Originally committed as revision 17750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:26:39 +00:00
Michael Niedermayer 47cd974ae5 Do not set low_delay if has_b_frames has been set before init()
this will be needed once the parser can figure out has_b_frames
in av_find_stream_info().

Originally committed as revision 17673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 03:13:04 +00:00
Michael Niedermayer efd8c1f64d Adjust time_base exactly when changing ticks_per_frame to 2 this is safer
and for some raw h264 we managed to change the timebase twice before.

Originally committed as revision 17669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 20:58:07 +00:00
Ivan Schreter 03831f462e Correctly reset SEI variables.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 21:28:41 +00:00
Gwenole Beauchesne 6026a0968a Add hardware acceleration hooks to H.264.
Patch by Gwenolé Beauchesne.

Originally committed as revision 17644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 15:45:55 +00:00
Michael Niedermayer 19df37a8a6 Fix SVQ3 regression since ticks_per_frame=2.
Originally committed as revision 17640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 14:01:32 +00:00
Michael Niedermayer 3797c74ba5 Add ticks_per_frame, this should hopefully fix the regressions caused
by the time_base change.

Originally committed as revision 17630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 23:47:32 +00:00
Michael Niedermayer f56995b4a6 Half user provided time_base once during the first frame when there is no
timebase stored in the h264 stream.
This should fix fate. (ffmpeg.c used pict_repeat with its default 1/25 timebase)

Originally committed as revision 17622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 21:09:24 +00:00
Michael Niedermayer d404b3edb3 Add hwaccel->decode_slice() call for avhwaccel by Gwenole Beauchesne.
Originally committed as revision 17591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-25 19:39:42 +00:00
Ivan Schreter fc9fe42833 Correct time_base of H.264 and repeat_pict.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 20:19:59 +00:00
Michael Niedermayer a05aa821b6 add ff_find_hwaccel() by Gwenole Beauchesne
Originally committed as revision 17569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 19:04:43 +00:00
Michael Niedermayer 09a9b45e4f Add and use ff_pixfmt_list_420.
Originally committed as revision 17564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 18:27:52 +00:00
Diego Biurrun acced32d08 Mark two variables with av_uninit to avoid false positive gcc warnings.
Originally committed as revision 17552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 14:13:46 +00:00
Gwenole Beauchesne 40e5d31b57 More approved hunks for VAAPI & our new and cleaner hwaccel API.
patch by Gwenole Beauchesne gbeauchesne splitted-desktop com

Originally committed as revision 17540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 13:44:51 +00:00
Reimar Döffinger 66e6038cf1 Check return value of frame_start(), this avoids a crash if AVCodecContext::get_buffer failed.
Not sure if returning -1 is the best possible solution but at least avoids the crash.

Originally committed as revision 17520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 09:51:58 +00:00
Ivan Schreter 1790a5e908 Make the following H264 functions available to the parser:
ff_h264_decode_sei, ff_h264_decode_seq_parameter_set,
ff_h264_decode_picture_parameter_set, ff_h264_decode_nal,
ff_h264_decode_rbsp_trailing

Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 19:54:14 +00:00
Ivan Schreter ebb61f834a Use last decoded SPS as current SPS in order to parse picture timing SEI
correctly. This works around an apparent H.264 standard deficiency.

Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-20 16:20:01 +00:00
Ivan Schreter 3878be318b Silence two warnings:
cast discards qualifiers from pointer target type

Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 23:01:13 +00:00
Ivan Schreter 2ea89d9274 Parse buffering period (H.264, D.1.1).
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 23:33:30 +00:00
Ivan Schreter 24a414e0fa Store CPB count in the context.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 23:25:59 +00:00