Commit Graph
100 Commits
Author SHA1 Message Date
Reimar Döffinger 701d0eb185 Fix input buffer size check in adpcm_ea decoder.
Unfortunately the output buffer size check assumes that the
input buffer is never over-consumed, thus this actually
also allowed to write outside the output buffer if "lucky".
2011-04-10 11:40:47 +02:00
Reimar Döffinger d459d8e28d Abort Ogg header parsing when we encounter a data packet.
Fixes ticket #15.
2011-04-10 01:35:48 +02:00
Reimar DöffingerandRonald S. Bultje f82163cf1c Use consistent condition for whether to run slice-threading execute function.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-09 08:23:22 -04:00
Reimar Döffinger 1265395b5b Add PlayStation Portable PMP format demuxer
Not yet complete, for demuxing AAC the AAC header must be generated
manually.
Possibly the decoder could accept the header as extradata to simplify
this.
2011-04-06 19:30:42 +02:00
Reimar Döffinger da53f05fd0 Do not offer unsupported HWAccel PIX_FMT.
Only fixes MPEG-1/MPEG-2 as a first step.
2011-04-05 18:23:15 +02:00
Reimar Döffinger 735c4f0b84 Use CONFIG_VDPAU as condition for using ff_vdpau_mpeg_picture_complete.
CONFIG_VDPAU is the condition on which ff_vdpau_mpeg_picture_complete
is compiled in, so it is more appropriate, particularly since the
separate VDPAU decoder should be removed in the longer term.
2011-04-05 18:23:10 +02:00
Reimar Döffinger 6e075dcaf8 ac3dec: avoid pointless alloc and indirection for input_buffer
Since we now always allocate it, it can simply be made part of the context
instead.
2011-04-05 18:21:51 +02:00
Reimar Döffinger 7b9750ed9b Fix doxy-style for comment ("///>" should be "///<" instead). 2011-04-01 19:42:31 +02:00
Reimar Döffinger 9b7a0c5d88 Allow selecting VDPAU, XvMC via get_format for MPEG-2
To avoid further special-casing, dummy AVHWAccels are added
for VDPAU.
It should be possible to move VDPAU completely to AVHWAccel later.
2011-04-01 19:13:24 +02:00
Reimar Döffinger 65daa942eb Fix buffer overflow checks to avoid integer overflows. 2011-03-30 09:15:52 +02:00
Reimar Döffinger 1862778732 sndio: allow any endianness when recording
Since the code already supports both little- and big-endian
audio for recording, do not fail just because the endianness is not
what we expect.
It is possible that 8-bit recording would not have worked at all on
some systems without that change.
2011-03-29 20:21:47 +02:00
Reimar Döffinger e76c0c6a00 Simplify: Use FFMIN. 2011-03-29 20:18:45 +02:00
Reimar Döffinger e9ccdae09b Use consistent condition for whether to run slice-threading execute function. 2011-03-28 23:08:07 +02:00
Reimar Döffinger 46027c7286 Unbreak avcodec_thread_init
avcodec_thread_init currently doesn't do anything at all with pthreads enabled.
2011-03-28 23:07:52 +02:00
Reimar Döffinger 8361315469 DPX decode: add buffer size checks. 2011-03-26 13:46:20 +01:00
Reimar Döffinger 0bfe349d4a Update to latest MPlayer version.
Avoids warnings due to pointlessly casting away const.
2011-03-25 19:05:02 +01:00
Reimar DöffingerandJustin Ruggles 4c886d613d Detect byte-swapped AC-3 and support decoding it directly.
This allows the AC-3 decoder to be used directly with RealMedia
decoders that unlike the libavformat one do not byte-swap automatically.
Since the new code is only used in case we would fail directly otherwise
there should be no risk for regressions.
2011-03-22 15:36:47 -04:00
Reimar Döffinger 6820008a5c Fix compiler warnings due to missing casts. 2011-03-19 12:29:27 +01:00
Reimar Döffinger c9f6eab184 Detect byte-swapped AC-3 (aka DNET) and support decoding it directly.
This allows the AC-3 decoder to be used directly with RealMedia
decoders that unlike the libavformat one do not byte-swap automatically.
Since the new code is only used in case we would fail directly otherwise
there should be no risk for regressions.
The "buf" pointer needs to be overwritten since otherwise the CRC check fails.
2011-03-19 12:07:14 +01:00
Reimar Döffinger b09e506820 Make matroska demuxer also set timestamps for RealAudio packets.
Improves seeking in ffplay with
http://samples.mplayerhq.hu/Matroska/RA_missing_timestamps.mkv
2011-03-05 12:48:39 +01:00
Reimar DöffingerandMichael Niedermayer 3e1a8e1ec1 avio: add avio_get_str()
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 41d8555f72)
2011-03-05 02:29:28 +01:00
Reimar DöffingerandRonald S. Bultje 41d8555f72 avio: add avio_get_str()
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:24:58 -05:00
Reimar DöffingerandMichael Niedermayer bbd289aa18 configure: document FATE_SAMPLES env var in --help text
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 52b3cc6047)
2011-02-28 00:34:38 +01:00
Reimar DöffingerandMans Rullgard 52b3cc6047 configure: document FATE_SAMPLES env var in --help text
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-26 12:52:13 +00:00
Reimar DöffingerandMichael Niedermayer c614d32e22 Fix invalid reads in VC1 decoder
Patch discussed and taken from https://roundup.ffmpeg.org/issue2584
(cherry picked from commit 2bbec1eda4)
2011-02-20 19:05:46 +01:00
Reimar DöffingerandReinhard Tartler 2bbec1eda4 Fix invalid reads in VC1 decoder
Patch discussed and taken from https://roundup.ffmpeg.org/issue2584
2011-02-19 11:33:01 +01:00
Reimar DöffingerandMichael Niedermayer 438198e795 Document that av_write_header sets stream time_base to a value of it chosing.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-16 23:00:49 +01:00
Reimar DöffingerandJanne Grunau 5d820db2f9 Document that av_write_header sets stream time_base to a value of it chosing.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-16 10:33:40 +01:00
Reimar DöffingerandMichael Niedermayer 20708223db Do not fail DVB sub decoding because of a few padding bytes
Instead of returning an error when bytes are left over, just return
the number of actually used bytes as other decoders do.
Instead add a special case so an error will be returned when none
of the data looks valid to avoid making debugging a pain.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 4a72765a1c)
2011-02-11 02:54:09 +01:00
Reimar DöffingerandMichael Niedermayer 7ade06cc2e check sample_fmt in avcodec_open
check AVCodecContext->sample_fmt against AVCodec->sample_fmts[] to ensure
that the encoder supports the specified sample format. Error out if it doesn't.
Previously, it would continue and output garbage. Fixes issue 2587.
(cherry picked from commit 2cfa2d9258)
2011-02-11 02:54:08 +01:00
Reimar DöffingerandJanne Grunau 4a72765a1c Do not fail DVB sub decoding because of a few padding bytes
Instead of returning an error when bytes are left over, just return
the number of actually used bytes as other decoders do.
Instead add a special case so an error will be returned when none
of the data looks valid to avoid making debugging a pain.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-10 21:37:31 +01:00
Reimar DöffingerandRonald S. Bultje 2cfa2d9258 check sample_fmt in avcodec_open
check AVCodecContext->sample_fmt against AVCodec->sample_fmts[] to ensure
that the encoder supports the specified sample format. Error out if it doesn't.
Previously, it would continue and output garbage. Fixes issue 2587.
2011-02-09 15:30:53 -05:00
Reimar DöffingerandMichael Niedermayer 94dfea71ed oggdec: Fix incorrect assumption about header/data interleaving
Currently (since the data_offset fix) the ogg demuxer assumes that
after the first non-header packets in any stream no more header packets
will follow.
This is not guaranteed, so change the code back again to wait until it
has finished the headers for all streams before returning from ogg_get_headers.

This fixes issue 2428.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 6bd69e6ada)
2011-02-09 03:33:55 +01:00
Reimar DöffingerandMichael Niedermayer 14d735bd4f matroskadec: add generic element length validation.
This validate the length of a mkv element directly after reading
it.
This has the advantage that it is easy to add new limits and makes
it less likely to forget to add checks and also avoids issues like
bits of the length value above the first 32 being ignored because
the parsing functions only takes an int.
Previously discussed in the "mkv 0-byte integer parsing" thread.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 95ec3d4cac)
2011-02-09 03:31:17 +01:00
Reimar DöffingerandMichael Niedermayer 2f35beae4d Make av_set_pts_info keep previous time base if new one is invalid.
Fixes issue 2475.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b3190529df)
2011-02-09 03:31:17 +01:00
Reimar DöffingerandMans Rullgard 6bd69e6ada oggdec: Fix incorrect assumption about header/data interleaving
Currently (since the data_offset fix) the ogg demuxer assumes that
after the first non-header packets in any stream no more header packets
will follow.
This is not guaranteed, so change the code back again to wait until it
has finished the headers for all streams before returning from ogg_get_headers.

This fixes issue 2428.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-08 21:40:03 +00:00
Reimar DöffingerandRonald S. Bultje 95ec3d4cac matroskadec: add generic element length validation.
This validate the length of a mkv element directly after reading
it.
This has the advantage that it is easy to add new limits and makes
it less likely to forget to add checks and also avoids issues like
bits of the length value above the first 32 being ignored because
the parsing functions only takes an int.
Previously discussed in the "mkv 0-byte integer parsing" thread.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 21:36:53 -05:00
Reimar DöffingerandRonald S. Bultje b3190529df Make av_set_pts_info keep previous time base if new one is invalid.
Fixes issue 2475.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 16:12:15 -05:00
Reimar Döffinger 5603df39df Always use av_set_pts_info to set the stream time base. 2011-02-05 09:55:53 +01:00
Reimar DöffingerandMichael Niedermayer 403fa3cf07 Ogg: discard non-essential metadata from Vorbis header when creating extradata
The first part of the metadata, the "vendor" string, is required by
libvorbis, it will refuse to play when it is not available.
Also we do not currently parse that part into metadata so it would also
be lost if we removed it as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 8cb3c557a9)
2011-02-02 03:40:48 +01:00
Reimar DöffingerandMans Rullgard 8cb3c557a9 Ogg: discard non-essential metadata from Vorbis header when creating extradata
The first part of the metadata, the "vendor" string, is required by
libvorbis, it will refuse to play when it is not available.
Also we do not currently parse that part into metadata so it would also
be lost if we removed it as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:21:26 +00:00
Reimar Döffinger b482c00121 Remove pts rescaling code that is useless after 2ff4a2764e 2011-01-31 19:31:04 +01:00
Reimar Döffinger 12763671e2 Document that av_write_header sets stream time_base to a value of it chosing. 2011-01-31 19:30:49 +01:00
Reimar DöffingerandMichael Niedermayer 2ff4a2764e VC1testenc: convert pts values to correct time-base.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 22e9277aa5)
2011-01-31 18:25:47 +01:00
Reimar DöffingerandRonald S. Bultje 22e9277aa5 VC1testenc: convert pts values to correct time-base.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-01-31 09:25:18 -05:00
Reimar DöffingerandMans Rullgard ce20edb7bd Vorbis-in-Ogg: Do not set timebase to invalid values
Avoids an assert when the sample rate is invalid and the timebase
is thus set to e.g. 1/0.
Sample file is http://samples.mplayerhq.hu/ogg/fuzzed-srate-crash.ogg

This is a quick fix for a crash, not a final solution.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-29 13:48:13 +00:00
Reimar Döffinger 76c802e989 VC1testenc: convert pts values to correct time-base.
VC1 test container always uses time-base 1 ms, so we must convert
from whatever time-base the application gave us to that, otherwise
the video will play at ridiculous speeds.
It would be possible to signal that a container supports only one
time-base and have code in a layer above do the conversion, but
for a single format this seems over-engineered.
2011-01-29 11:56:25 +01:00
Reimar Döffinger 609bdf813d Vorbis-in-Ogg: Do not set timebase to invalid values
Avoids an assert when the sample rate is invalid and the timebase
is thus set to e.g. 1/0.
Sample file is http://samples.mplayerhq.hu/ogg/fuzzed-srate-crash.ogg
2011-01-28 20:58:57 +01:00
Reimar DöffingerandJanne Grunau 4be170c937 Use av_fast_malloc instead of av_realloc.
This should be faster, is less code and fixes issue 2524
(allocation error would lead to crash).
(cherry picked from commit e7b95918fc)
2011-01-24 21:25:43 +01:00
Reimar DöffingerandJanne Grunau 032f406864 Handle input or output len of 0 properly in lzo decoder.
(cherry picked from commit 7d5082600e)
2011-01-24 21:25:43 +01:00
Reimar Döffinger e7b95918fc Use av_fast_malloc instead of av_realloc.
This should be faster, is less code and fixes issue 2524
(allocation error would lead to crash).
2011-01-24 19:35:20 +01:00
Reimar Döffinger 7d5082600e Handle input or output len of 0 properly in lzo decoder. 2011-01-24 18:52:08 +01:00
Reimar Döffinger 54bc640362 Missing parts of IVF muxer support. 2011-01-18 08:00:23 +01:00
Reimar Döffinger 4aaeabcb6a Explain how to set up user name/email correctly for git. 2011-01-17 21:16:41 +01:00
Reimar Döffinger 326851b9bc Add muxer for IVF format. 2011-01-17 21:11:51 +01:00
Reimar Döffinger b0c8b8a69d Lagarith: fix decoding of one-coloured frames by reading the per-plane
color value instead of always taking 0 (resulting in green frames).
Fixes issue issue2531.

Originally committed as revision 26363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 12:44:48 +00:00
Reimar Döffinger 0a3028b9b0 Use AVSampleFormat instead of the deprecated SampleFormat.
Originally committed as revision 26185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-01 19:45:08 +00:00
Reimar Döffinger eb066a4ce9 Discard partial packet of last frame for fate-wmv8-drm to avoid test fails
due to VC-1 decoder overreads resulting in different output.

Originally committed as revision 26055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-18 23:11:31 +00:00
Reimar Döffinger 853395b913 Add test for ASF -cryptokey that tests only demuxing, but both audio and video
to complement the existing video-only decode test.

Originally committed as revision 26054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-18 16:06:56 +00:00
Reimar Döffinger bf09a01981 Change ASF demuxer to return incomplete last packets.
Whether the behaviour for streams using scrambling makes sense
is unclear.

Originally committed as revision 26053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-18 13:18:52 +00:00
Reimar Döffinger 0c1758f018 Return the amount of input data actually used in the qdm2 decoder,
allows playback of files where multiple qdm2 packets have been merged.

Originally committed as revision 25943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-13 17:54:00 +00:00
Reimar Döffinger 4172951ba7 Return an error when get_buffer reads none or only partial data instead
of returning packets with uninitialized data.
Returning partial packets as for other demuxers is problematice due to
packet scrambling and thus is not done.

Originally committed as revision 25931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-11 21:41:47 +00:00
Reimar Döffinger 3c3ef81b9b Ensure that packets returned from ASF demuxer are properly 0-padded.
Originally committed as revision 25930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-11 21:39:08 +00:00
Reimar Döffinger b72daad062 Remove hack in MP3 probe that was meant as a work-around for large
ID3v2 tags which no longer works since ID3v2 handling was moved to
generic code.
In addition, in caused false-positives for all files starting with
one or more 0-bytes.

Originally committed as revision 25929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-11 21:34:50 +00:00
Reimar Döffinger fe9d2edbdb DV: use data_offset to fix seeking in badly cut files where the first
complete frame does not start at position 0.

Originally committed as revision 25833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-27 14:40:12 +00:00
Reimar Döffinger 782f69e8a5 Fix memleak: free palette data on close.
Originally committed as revision 25816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 20:42:03 +00:00
Reimar Döffinger 097ea6db27 100l, fix missing decrement on split PGS packets.
Originally committed as revision 25810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 07:01:49 +00:00
Reimar Döffinger 6b133d7e9c Fail RLE decoding if insufficient data for a complete bitmap was decoded.
Originally committed as revision 25797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-22 20:39:18 +00:00
Reimar Döffinger e58d0392c5 Document added functions.
Originally committed as revision 25783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 11:38:08 +00:00
Reimar Döffinger fa8cc12650 Improve documentation wording.
Originally committed as revision 25782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 11:33:26 +00:00
Reimar Döffinger 0f46d68522 Fix indentation.
Originally committed as revision 25781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 11:07:04 +00:00
Reimar Döffinger 18d761a1b1 Fix indentation.
Originally committed as revision 25780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 10:38:08 +00:00
Reimar Döffinger 3354b05187 Add explanation and alternative implementation for strange xan
gamma correction.

Originally committed as revision 25779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 10:37:26 +00:00
Reimar Döffinger 24ae353dfb WC3/xan: move palette handling to decoder, avoiding need for
PaletteControl.
This also fixes playback of some files with ffplay (images were
corrupted for a short time after a palette change).

Originally committed as revision 25778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 10:32:23 +00:00
Reimar Döffinger 6bfc268305 Add av_append_packet function, to be used in code that merges packets
to allow palette handling without using PaletteControl.

Originally committed as revision 25777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 10:24:48 +00:00
Reimar Döffinger a08d918e68 Add a av_grow_packet function, to be used by code that merges
palette and video data packets to get rid of PaletteControl.

Originally committed as revision 25776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 10:21:06 +00:00
Reimar Döffinger d9640a55ea Merge rotation into lookup table.
Originally committed as revision 25774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-20 09:36:46 +00:00
Reimar Döffinger c4d5ee233a Fix indentation.
Originally committed as revision 25683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-06 16:48:41 +00:00
Reimar Döffinger 931856a267 Improve PGS parsing: the "state" field is not relevant to us,
the object number is, it determines whether we should continue
parsing the presentation description and whether we should
clear the subtitles on the next display command.
Based on patch by Mark Goodman [mark goodman gmail com]

Originally committed as revision 25682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-06 16:46:03 +00:00
Reimar Döffinger e61bb0852f Add test for cropping of interlaced H.264.
Originally committed as revision 25677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 21:48:54 +00:00
Reimar Döffinger 00d1e96bf4 H.264 decode: support cropping up to 28 pixels in interlaced mode.
Contrary to progressive, just being able to crop up to 14/15 pixels
is not enough to encode all supported resolutions, and the new
behaviour is also consistent with e.g. MPEG-2 etc.

Originally committed as revision 25669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:52:28 +00:00
Reimar Döffinger 9fc2b70826 Update 24 bpp TM1 reference for decoder fixes.
Originally committed as revision 25664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 18:13:09 +00:00
Reimar Döffinger e75f418cf2 Fix aspect for 24bpp TM1 samples.
Originally committed as revision 25663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 17:22:19 +00:00
Reimar Döffinger a940dc6912 Fix decoding of 24 bpp TM1 (except for aspect).
Originally committed as revision 25662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 17:01:30 +00:00
Reimar Döffinger f1c5301413 100l, calculate mb_change_bits_row_size from the update width.
Originally committed as revision 25661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 16:57:05 +00:00
Reimar Döffinger 97113c2178 Support mid-stream resolution/format changes for TM1.
This makes it easier to fix playback of 24 bit formats.

Originally committed as revision 25660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 16:45:55 +00:00
Reimar Döffinger 6c2142809c Add d modifier to asm argument to fix nasm compilation.
Originally committed as revision 25397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 19:18:18 +00:00
Reimar Döffinger 6612d8cf31 Move handling of ID3v2 to common utils.c code, reducing code duplication
and supporting it for more formats, fixing issue 2258.

Originally committed as revision 25378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 20:21:07 +00:00
Reimar Döffinger 12eef0d1ba 100l, fix sws_getCachedContext. It did not set the colorspace details,
but worse it did not set up destination dimensions, thus every user
of it would necessarily fail.

Originally committed as revision 32424 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-10-03 07:53:40 +00:00
Reimar Döffinger f71abdbbd7 Remove pointless -vn option, the file has no video stream.
Originally committed as revision 25314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 10:00:48 +00:00
Reimar Döffinger 01e4b67598 Rename fate-gsm test to the more accurate fate-gsm-ms
and add a test for regular GSM as fate-gsm.

Fixes a 8kHz sample from issue 113.

Originally committed as revision 25313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 09:56:21 +00:00
Reimar Döffinger 645e75992d Fix GSM decoding: regular GSM and MSGSM do not use the same
bitstream endianness, so they cannot reuse the same code
without a lot of function call overhead.
Thus use templating to compile two different binaries.

Originally committed as revision 25312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 09:51:26 +00:00
Reimar Döffinger a5c33faacc Add init and uninit functions to cmdutils, reduces code duplication
between ffmpeg and ffplay and avoids a valgrind error by freeing
avformat_opts->key.

Originally committed as revision 25309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 08:44:33 +00:00
Reimar Döffinger 27af8902c4 Fix indentation of ff_id3v2_read
Originally committed as revision 25292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 17:45:18 +00:00
Reimar Döffinger 02b424d9c8 Add d suffix to movd target register to make it work with nasm.
Originally committed as revision 25206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 09:15:18 +00:00
Reimar Döffinger dc77e985b7 Split and then simplify address generation macro.
Allows nasm to work for this code.

Originally committed as revision 25205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 09:08:11 +00:00
Reimar Döffinger b641982b23 rawdec: ensure that there is always a valid palette for formats that
should have one like gray8 etc.

Originally committed as revision 25190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 08:44:35 +00:00
Reimar Döffinger 2efcde73fc rawdec: only allocate a full-frame size buffer if it actually will
be used, place palette buffer in the context to simplify this.

Originally committed as revision 25163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 20:23:15 +00:00
Reimar Döffinger 82eac2f321 Check avctx width/height more thoroughly (e.g. all values 0 except width would
have been accepted before).
Also do not fail if they are invalid but instead override them to 0.
This allows decoding e.g. MPEG video when only the container values are corrupted.
For encoding a value of 0,0 of course makes no sense, but was allowed
through before and will be caught by an extra check in the encode function.

Originally committed as revision 25124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-15 04:46:55 +00:00
Reimar Döffinger 936cfbc589 Fix 24 bpp CSCD decoding, as for Windows bitmaps in this (and only this)
case the stride must be aligned to a multiple of 4.
The original CSCD encoder just compresses bitmaps it gets via Windows
API functions as-is, thus it uses exactly those alignment rules.

Originally committed as revision 25096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 17:33:31 +00:00