Commit Graph

394 Commits

Author SHA1 Message Date
Michael Niedermayer
483aad717e slif aka "SoftLab MPEG-2 I-frames Codec" support.
Flipping one bit still is popular it seems as a means to create a new codec.
fixes issue1469.

Originally committed as revision 20679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 02:07:46 +00:00
Michael Niedermayer
52069c4d3c Move "slice below image" check from mpeg_decode_slice to its caller.
Should fix issue1277.

Originally committed as revision 20676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 23:08:25 +00:00
Michael Niedermayer
d52b4abe8b Move dummy picture allocation code from mpeg1/2 to mpegvideo.
This fixes a infinite loop on a b frame.

Originally committed as revision 20672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 21:22:01 +00:00
Michael Niedermayer
078cdecf9e Set mb_y in mpeg2 field pictures like h264 does.
This fixes -vismv & -debug 16384 with field pictures.

Originally committed as revision 20670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 19:14:00 +00:00
Michael Niedermayer
ab8c48de8c Start decoding from seq/gop too, not just I frames.
Possibly fixes issue1124.

Originally committed as revision 20667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 03:32:43 +00:00
Michael Niedermayer
f0ec239438 Fix dual prime motion compensation in field pictures.
Fixes issue1125.

Originally committed as revision 20666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 02:37:03 +00:00
Michael Niedermayer
aeaef4ed63 Print errors instead of just ignoring contradictionary values in mpeg2 silently.
Originally committed as revision 20656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 14:31:40 +00:00
Michael Niedermayer
87f6806069 Override a few values read so as to ensure that things are not inconsistent.
Originally committed as revision 20654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 03:32:30 +00:00
Michael Niedermayer
d9b99556bf Restructure dummy frame allocation.
New code also allocates a dummy frame for an p field after an i field,
previously that could segfault due to reading from NULL+x.

Originally committed as revision 20653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 03:05:11 +00:00
Michael Niedermayer
9d13016690 Make sure field_select is not set to nonsensical values even if unused.
Fixed an assert failure.

Originally committed as revision 20646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 01:50:43 +00:00
Michael Niedermayer
1c3260939d Factorize "s->first_slice = 1" out.
Originally committed as revision 20645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 23:17:46 +00:00
Michael Niedermayer
88eba670fb Also check the location of the picture start code and picture coding
extension a little.

Originally committed as revision 20644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 23:05:06 +00:00
Michael Niedermayer
fc23d843e1 Check order of startcodes, ignore some obviously wrong ones.
Fixes issue487.

Originally committed as revision 20643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 22:51:53 +00:00
Michael Niedermayer
bbf266fdb5 Move mpeg_decode_postinit() out of bitstream decoding functions, it does not
belong in there.

Originally committed as revision 20642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 21:32:33 +00:00
Michael Niedermayer
1206f1d630 Inline mpeg_decode_extension, will simplify future changes.
Originally committed as revision 20641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 18:57:12 +00:00
Michael Niedermayer
191ad11e91 Simplify mpeg_decode_user_data()
Originally committed as revision 20640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 14:17:28 +00:00
Ronald S. Bultje
6e44ba1550 Use get_bits_left() instead of size_in_bits - get_bits_count().
Originally committed as revision 20543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 17:42:43 +00:00
Reimar Döffinger
01418506a2 Remove casts that are useless since the argument is void *.
Originally committed as revision 20177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 06:33:18 +00:00
Gwenole Beauchesne
25450bb252 Move down HWAccel code path so that to fill in s->mb_x first.
Originally committed as revision 19875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 07:49:08 +00:00
Baptiste Coudurier
6be8b20466 Revert r19317, "simplify slice_end, return size of output frame".
It returns non decodable B-frames.

Originally committed as revision 19324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:35:28 +00:00
Baptiste Coudurier
f7f1eb6cc9 simplify slice_end, return size of output frame
Originally committed as revision 19317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 17:29:52 +00:00
Baptiste Coudurier
a4a750d3b2 Rename alloc_picture to ff_alloc_picture and move its definition
in mpegvideo.h to avoid including mpegvideo_common.h in mpeg12.c,
because it contains motion code.

Originally committed as revision 18968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 19:55:35 +00:00
Wolfram Gloger
ed1dc74e18 Fix off by one offset with fetch_timestamps, pts_parser_problem.mpg.
Patch by Wolfram Gloger, wmglo at dentm dot med dot uni-muenchen dot de.

Originally committed as revision 18959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 00:14:32 +00:00
Reimar Döffinger
936bb4a9bc Add a forward declaration of mpeg1_decode_block_intra to fix compilation
broken by r18859 for e.g. all gcc 4 compilers.

Originally committed as revision 18861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 09:09:07 +00:00
Måns Rullgård
db2f209352 mpeg12: fix non-standard use of "extern inline"
Rename ff_mpeg1_decode_block_intra to mpeg1_decode_block_intra and
make it static.  Add ff_mpeg1_decode_block_intra as plain extern
function calling mpeg1_decode_block_intra.

Originally committed as revision 18859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 00:54:29 +00:00
Baptiste Coudurier
9d9a623925 decode mpeg-2 closed gop first b frames, fix issue #824
Originally committed as revision 18837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 05:39:44 +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
9c24cd7236 Extract colorspace fields from MPEG1/2.
Originally committed as revision 18747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 19:53:49 +00:00
Michael Niedermayer
714127812c Ignore first entry of intra matrixes if it is invalid.
Fixes pink.mpg / issue1046.

Originally committed as revision 18724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 12:31:19 +00:00
Michael Niedermayer
45ccc61a06 Factorize quantization matrix loading code out.
Originally committed as revision 18723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 12:17:25 +00:00
Michael Niedermayer
0127b86108 Fix mb_height for interlaced mpeg2.
This correctly fixes issue961, thanks to steven warren for spotting my mistake.

Originally committed as revision 18381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:48:44 +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
a4c7a5ea27 Call ff_fetch_timestamp() for mpeg1/2 when a picture start code is found instead
of calling it at the end of a frame with a large negative offset.
This significantly reduces the maximal distance in container packets between
the point where the first byte of the "access unit" was stored and where
we call ff_fetch_timestamp() thus reducing the constraints on our parser.
Also change the parser from next_frame_offset to cur, this is needed
because now the reference is from container packet start instead of
frame start. (i previously misinterpreted this as bug)

Originally committed as revision 17731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 14:53:18 +00:00
Diego Biurrun
326b554ccf xvmc works with MPEG-2 as well as MPEG-1, note this in the codec long_name.
Originally committed as revision 17717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 05:20:00 +00:00
Reimar Döffinger
d819b41ba1 Remove unused variable in mpeg_mc_decode_init
Originally committed as revision 17676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 09:14:20 +00:00
Gwenole Beauchesne
6aca2c6785 Remove superfluous call to mpeg_decode_slice() for hwaccel, this
function already contains the needed code.
Patch by Gwenole Beauchesne.

Originally committed as revision 17636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 08:20:45 +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
765e94ef9e More AVhwaccel hunks from Gwenole Beauchesne.
Originally committed as revision 17590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-25 19:16:27 +00:00
Ivan Schreter
edbd72acea Correct time_base and repeat_pict for MPEG2 video.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 20:23:19 +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
c269cf68a0 Approved hunks for VAAPI / our new shiny hwaccel API
by Gwenole Beauchesne gbeauchesne splitted desktop com

Originally committed as revision 17539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 13:35:52 +00:00
Ivan Kalvachev
21effaa4b2 Change the type of pblocks from pointers to short array into
pointers to array of 64 DCTELEM, similarly to other block fields.
This also get rid of some casts and fixes a warning.

Originally committed as revision 17517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 09:02:06 +00:00
Ivan Kalvachev
4acfdcab26 Cosmetics
Originally committed as revision 17294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 23:01:19 +00:00
Ivan Kalvachev
ce0e60a108 Merge preprocessor if CONFIG_MPEG_XVMC_DECODER and code if( &&)
where possible

Originally committed as revision 17293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 22:59:19 +00:00
Ivan Kalvachev
9e494ab77c Check ff_xvmc_field_start() result in all cases.
Originally committed as revision 17290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 22:46:20 +00:00
Diego Biurrun
4440bd0da4 Add xvmc_internal.h that contains all internal xvmc function declarations.
This allows getting rid of a bunch of ugly forward declarations.

Originally committed as revision 17280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 20:37:14 +00:00
Ivan Kalvachev
78f9a87830 use ff_xvmc for function names instead of XVMC_
Originally committed as revision 17254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 18:25:41 +00:00
Diego Biurrun
fc2dd7e3de Remove redundant CONFIG_XVMC option, CONFIG_MPEG_XVMC_DECODER suffices.
Originally committed as revision 17229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 15:37:40 +00:00
Peter Ross
44ba8b650f don't assume quant_matrix[0]==8 in ff_mpeg1_decode_block_intra(). this is required for the Electronic Arts TQI decoder.
Originally committed as revision 17001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-05 07:59:11 +00:00
Peter Ross
50240e5646 convert mpeg1_decode_block_intra() to inline global
Originally committed as revision 17000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-05 07:57:11 +00:00