Justin Ruggles
164fca39bd
atrac1: use correct context for av_log()
2011-11-10 10:25:47 -05:00
Justin Ruggles
c298b2b8db
apedec: consume the whole packet when copying to the decoder buffer.
...
This avoids artifically consuming a partial packet but ignoring remaining data
in subsequent calls.
2011-11-10 10:25:47 -05:00
Justin Ruggles
de157f2118
apedec: do not needlessly copy s->samples to nblocks.
...
also move nblocks to the local scope where it is used.
2011-11-10 10:25:47 -05:00
Justin Ruggles
4315c7d35a
apedec: check output buffer size after calculating actual output size
2011-11-10 10:25:47 -05:00
Justin Ruggles
ad17207b51
apedec: remove unneeded entropy decoder normalization.
...
The decoder already skips data at the end of the packet without this.
Also remove 2 APEContext fields that were only used for the end-of-frame
normalization.
2011-11-10 10:25:47 -05:00
Justin Ruggles
59f4d1b8bb
truespeech: use memmove() in truespeech_update_filters()
2011-11-10 10:25:46 -05:00
Justin Ruggles
41899b9acb
vorbisdec: remove AVCODEC_MAX_AUDIO_FRAME_SIZE check
...
The user could provide a larger buffer, which is already checked separately
before writing output.
2011-11-10 10:25:46 -05:00
Justin Ruggles
e551a6f49a
vorbisdec: remove unneeded buf_size==0 check
2011-11-10 10:25:46 -05:00
Justin Ruggles
f666276fa6
vorbisdec: return proper error codes instead of made-up ones
2011-11-10 10:25:46 -05:00
Laurent Aimar
2305742b2a
sunrast: Check for invalid/corrupted bitstream
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-10 12:32:26 +01:00
Justin Ruggles
f1f6d3615f
avcodec: add support for planar signed 8-bit PCM.
...
It is found in some 8svx files (e.g. ones created by SoX).
Currently the decoder reuses the 8svx functions because we already have
handling of a single large planar packet for the compressed 8svx codecs.
2011-11-09 17:48:54 -05:00
Justin Ruggles
fed5ca255f
ra144enc: add sample_fmts list to ff_ra_144_encoder
...
This enables the user (i.e. avconv) to automatically convert to the supported
sample format if needed.
2011-11-09 16:53:23 -05:00
Justin Ruggles
818a3bdedf
smackaud: use uint8_t* for 8-bit output buffer type
...
This matches the output sample format and the range of the output values.
2011-11-09 16:21:08 -05:00
Justin Ruggles
375ca0aca8
smackaud: clip output samples
2011-11-09 16:20:45 -05:00
Justin Ruggles
c86c3c8017
smackaud: use sign_extend() for difference value instead of casting
2011-11-09 16:19:52 -05:00
Justin Ruggles
979c8de549
sipr: use a function pointer to select the decode_frame function
2011-11-09 14:59:52 -05:00
Justin Ruggles
3468ff1060
sipr: set mode based on block_align instead of bit_rate
...
the user is not required to set bit_rate
2011-11-09 14:59:51 -05:00
Justin Ruggles
0005f9a35b
sipr: do not needlessly set *data_size to 0 when returning an error
2011-11-09 14:59:51 -05:00
Justin Ruggles
9cb70ce34b
ra288: fix formatting of LOCAL_ALIGNED_16
2011-11-09 13:45:50 -05:00
shahriman AMS
c33d4916fb
VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 11:00:49 +01:00
shahriman AMS
62622d04eb
vc1dec: move an if() block.
...
There are no reason for "if (c_valid) { ... }" to appear before
"if (b_valid) { ... }".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 11:00:20 +01:00
shahriman AMS
4bceeaf0c1
vc1dec: use correct hybrid prediction threshold.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:53:24 +01:00
shahriman AMS
4344ce08f1
vc1dec: Partial rewrite of vc1_pred_mv()
...
The current code is a generalization of the earlier progressive MV
prediction code. This was supposed to predict MVs for both interlaced
and progressive pictures. But the interlaced MV prediction is buggy
and works mostly by luck.
This partially fixes interlaced MV prediction.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:51:58 +01:00
shahriman AMS
6475a6e1ca
vc1dec: take ME precision into account while scaling MV predictors.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:51:22 +01:00
Alex Converse
1149fbc763
indeo3: Fix a fencepost error.
...
Found with asan and the venerable 1-dog.avi sample.
2011-11-08 10:59:52 -08:00
Justin Ruggles
2467d8d9ea
ra288: return error if input buffer is too small
2011-11-08 12:36:56 -05:00
Justin Ruggles
0131e70af5
ra288: utilize DSPContext.vector_fmul()
2011-11-08 12:36:48 -05:00
Justin Ruggles
03e5d6118c
ra288: use memcpy() to copy decoded samples to output
2011-11-08 12:36:41 -05:00
Justin Ruggles
f50b6be57d
mace: only calculate output buffer size once
2011-11-08 12:36:14 -05:00
Diego Biurrun
ce33320b30
Remove redundant filename self-references inside files.
...
Filenames are brittle across renames and add no useful information.
2011-11-08 17:52:56 +01:00
Diego Biurrun
9412f81138
indeo3data: add missing config.h #include for HAVE_BIGENDIAN
2011-11-08 17:52:56 +01:00
Diego Biurrun
276b995d85
x86: drop pointless ARCH_X86 #ifdef from files in x86 subdirectory
2011-11-08 17:52:55 +01:00
Kostya Shishkov
f545e00677
BMV demuxer and decoder
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 00:36:45 +02:00
Alex Converse
090aaaf752
mpeg12enc: Remove write-only variables.
2011-11-07 10:53:55 -08:00
Alex Converse
7c5dfc174b
mpeg12enc: Don't set up run-level info for level 0.
...
run: The number of zero coefficients preceding a non-zero coefficient,
in the scan order. The absolute value of the non-zero coefficient is
called "level".
The run-level code makes illegal reads when trying to set up tables for
nonsense level 0.
2011-11-07 10:50:48 -08:00
Alex Converse
a1684cf82d
msmpeg4: Don't set up run-level info for level 0.
...
run: The number of zero coefficients preceding a non-zero coefficient,
in the scan order. The absolute value of the non-zero coefficient is
called "level".
The run-level code makes illegal reads when trying to set up tables for
nonsense level 0.
2011-11-07 10:48:53 -08:00
Justin Ruggles
b8f02f5b4e
dsputil: use cpuflags in x86 versions of vector_clip_int32()
2011-11-06 20:50:06 -05:00
Kostya Shishkov
66760b30a3
cosmetics: insert some spaces in explicit enum value assignments
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 08:13:11 +01:00
Kostya Shishkov
19900d60fd
move 8SVX audio codecs to the audio codec list part on the next bump
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 08:12:42 +01:00
Kostya Shishkov
0e288b8c52
deprecate codec IDs that won't ever be used
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 07:41:58 +01:00
Ronald S. Bultje
717401aff2
h264_weight: remove duplication functions.
2011-11-05 07:16:30 -07:00
Ronald S. Bultje
ea2bb12e3e
h264: improve calculation of codec delay.
...
Fixes the following conformance suite samples:
HCBP1_HHI_A.264, HCBP2_HHI_A.264, HCMP1_HHI_A.264 (main)
HCHP1_HHI_B.264, HCHP2_HHI_A.264, HCHP3_HHI_A.264 (frext)
2011-11-05 06:58:52 -07:00
Martin Storsjö
8148631269
w32threads: Wrap the mutex functions in inline functions returning int
...
This allows using these wrappers in the gcrypt mutex callbacks.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:24 +02:00
Martin Storsjö
2d1b6fb72b
avcodec: Allow locking and unlocking an avformat specific mutex
...
This extends the lock manager in avcodec to manage two separate
mutexes via the user-specified lock functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:53 +02:00
Justin Ruggles
add7b1140f
binkaudio: expand quant_table to accommodate all possible values
2011-11-04 10:23:53 -04:00
Martin Storsjö
c38404ee1a
libx264: Set the default of the rc_lookahead option to -1
...
This allows it to use the defaults specified by preset/tune,
without overwriting it with the default value from the
AVCodecContext field.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-04 12:46:35 +02:00
Martin Storsjö
adc85ce20b
avcodec: Set flags2 default value depending on availability
...
This makes the code compile when FF_API_X264_GLOBAL_OPTS or
FF_API_LAME_GLOBAL_OPTS is 0.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-04 12:46:33 +02:00
Alex Converse
2a6eb06254
vp6: Fix illegal read.
2011-11-03 16:40:34 -07:00
Martin Storsjö
cae4f4b77e
avcodec: Make sure codec_type is set by avcodec_get_context_defaults2
...
This function used to set codec_type. With the current fallback
implementation based on avcodec_get_context_defaults3, codec_type
won't be set to the value passed in, but will be set to
AVMEDIA_TYPE_UNKNOWN. Legacy callers of this function might expect
this field to be set to the value passed in.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-03 13:29:48 +02:00
Martin Storsjö
1b6da627d4
avcodec: Remove a misplaced and useless attribute_deprecated
...
If attribute_deprecated is used in an enum declaration, it
should follow the 'enum' keyword, otherwise it's ignored
silently. This is the only case of attribute_deprecated for
enum declarations currently.
Currently, this attribute_deprecated doesn't have any effect.
If moved to the right place, it emits a warning every single
time avcodec.h is included, like this:
avcodec.h:2827: warning: ‘AVLPCType’ is deprecated (declared at avcodec.h:543)
There is already a working attribute_deprecated for the
corresponding field in AVCodecContext, so therefore this
one shouldn't be needed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-03 09:47:57 +02:00
Justin Ruggles
5463e83dbc
fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64
...
The calling convention only allows 4 non-stack parameter, with each
float or int register being skipped if not used.
fixes Bug 64
2011-11-02 21:44:58 -04:00
Maxim Poliakovski
594b54b51e
replacement Indeo 3 decoder
...
The new decoder is much smaller and has better code quality.
Cleanup and fixes courtesy of Kostya Shishkov.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-11-03 00:59:12 +01:00
Justin Ruggles
c2d9a65bc0
ac3enc: doxygen update.
...
Add some parameters to existing function documentation.
Remove some unneeded documentation.
Convert some static function documentation to non-doxygen style.
2011-11-02 17:21:45 -04:00
Justin Ruggles
a4998e448f
imc: return error codes instead of 0 for error conditions.
...
This fixes a bug where the whole buffer was returned as decoded audio due to
*data_size not being set to zero and the return value being >= 0.
2011-11-02 17:02:22 -04:00
Justin Ruggles
08e5cd3810
imc: return meaningful error codes instead of -1
2011-11-02 17:02:22 -04:00
Justin Ruggles
0473f29b60
imc: do not set channel layout for stereo
...
we only support decoding of mono imc
2011-11-02 17:02:22 -04:00
Justin Ruggles
7b7f47e733
imc: validate channel count
...
ask for a sample if not mono
2011-11-02 17:02:22 -04:00
Justin Ruggles
95fee70d67
imc: check for ff_fft_init() failure
2011-11-02 17:02:22 -04:00
Justin Ruggles
86962b13f6
imc: check output buffer size before decoding
2011-11-02 17:02:22 -04:00
Justin Ruggles
e9362aaedf
imc: use DSPContext.bswap16_buf() to byte-swap packet data
2011-11-02 17:02:22 -04:00
Justin Ruggles
20e081dddc
libgsm: add flush function to reset the decoder state when seeking
2011-11-02 14:41:17 -04:00
Justin Ruggles
480324e7ca
libgsm: simplify decoding by using a loop
2011-11-02 14:41:17 -04:00
Justin Ruggles
9d52f0a711
gsm: log error message when packet is too small
2011-11-02 14:41:17 -04:00
Justin Ruggles
9671db8245
libgsmdec: do not needlessly set *data_size to 0
2011-11-02 14:41:16 -04:00
Justin Ruggles
a2e255783e
gsmdec: do not needlessly set *data_size to 0
2011-11-02 14:41:16 -04:00
Justin Ruggles
fc43fc9faa
gsmdec: add flush function to reset the decoder state when seeking
2011-11-02 14:41:16 -04:00
Justin Ruggles
b03761b130
libgsmdec: check output buffer size before decoding
2011-11-02 14:41:16 -04:00
Justin Ruggles
bac2597a32
gsmdec: log error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1
2011-11-02 14:41:16 -04:00
Justin Ruggles
d9c6eece21
gsm: use av_get_bytes_per_sample() in frame_bytes calculation
2011-11-02 14:41:16 -04:00
Diego Biurrun
f36b390275
Replace some forgotten FFmpeg references by Libav.
2011-11-02 10:42:55 +01:00
Diego Biurrun
2f5df0b12c
Replace ffmpeg references with more accurate libav* references.
2011-11-02 10:42:55 +01:00
Diego Biurrun
20566eb0f0
Replace outdated references to ffmpeg tool with avconv.
2011-11-02 10:42:54 +01:00
Diego Biurrun
124e28847b
Remove some stray unnecessary ffmpeg references.
2011-11-02 10:42:54 +01:00
Diego Biurrun
d1dfcb0829
vp3: remove some pointless comments
2011-11-02 10:42:54 +01:00
Anton Khirnov
5511ad14fe
lavc: use designated initialisers for parsers.
2011-11-02 10:03:43 +01:00
Justin Ruggles
da24963725
g726dec: add flush() function to reset state when seeking
2011-11-01 21:23:04 -04:00
Justin Ruggles
97f5dd1d84
g726: don't pass index to g726_reset()
...
calculate it from c->code_size instead.
2011-11-01 21:23:04 -04:00
Justin Ruggles
615b2a2cf5
g726enc: add private option for setting code size directly.
...
This is an easy alternative to setting bit_rate. This patch also selects the
closest bit_rate to the requested one rather than requiring an exact value.
2011-11-01 21:23:04 -04:00
Justin Ruggles
7abb73d4ba
g726: wrap the decoder functions with a CONFIG_ADPCM_G726_DECODER check
2011-11-01 21:23:04 -04:00
Justin Ruggles
437c11ca16
g726: group the g726_encoder AVCodec with the other encoding functions
2011-11-01 21:23:04 -04:00
Justin Ruggles
50969c0f46
g726: return AVERROR(EINVAL) instead of -1 for invalid channel count
2011-11-01 21:23:03 -04:00
Justin Ruggles
50c466d609
g726enc: use av_assert0() for sample_rate validation
...
This should never happen, but the check avoids a divide-by-zero.
2011-11-01 21:23:03 -04:00
Justin Ruggles
9e78d8cfdf
g726: treat sample rates other than 8kHz as unofficial.
2011-11-01 21:23:03 -04:00
Justin Ruggles
6e8d4a7afb
g726dec: remove the sample_rate validation
2011-11-01 21:23:03 -04:00
Justin Ruggles
6ac34eed54
g726: use bits_per_coded_sample instead of bitrate to determine mode
...
This requires some workarounds in the WAV muxer and demuxer. We need to write
the correct bits_per_coded_sample and block_align in the muxer. In the
demuxer, we cannot rely on the bits_per_coded_sample value, so we use the bit
rate and sample rate to determine the value.
This avoids having the decoder rely on AVCodecContext.bit_rate, which is not
required to be set by the user for decoding according to our API.
2011-11-01 21:23:03 -04:00
Justin Ruggles
d405237bae
g726: split the init function for the encoder and decoder
...
This also allows for not having a decoder close function.
2011-11-01 21:23:03 -04:00
Justin Ruggles
c8d36d254e
g726: pre-calculate the number of output samples.
...
Allows for checking output buffer size and simplification of decoding loop.
2011-11-01 21:23:03 -04:00
Justin Ruggles
e61a670b53
g726: use int16_t instead of short
2011-11-01 21:23:02 -04:00
Diego Biurrun
45235d69c2
libdirac/libschroedinger: Drop unnecessary symbol prefixes.
...
The names used in the libdirac/libschroedinger wrappers are long enough as-is.
Bloating them with unnecessary prefixes makes them even more unwieldy.
2011-10-30 21:40:52 +01:00
Justin Ruggles
7d1b17b833
cin audio: use sign_extend() instead of casting to int16_t
2011-10-29 16:43:40 -04:00
Justin Ruggles
405af43104
cin audio: restructure decoding loop to avoid a separate counter variable
...
Also check output buffer size instead of truncating output.
2011-10-29 16:43:40 -04:00
Justin Ruggles
859bdc33e4
cin audio: use local variable for delta value
2011-10-29 16:43:40 -04:00
Justin Ruggles
64e19ba48b
cin audio: remove unneeded cast from void*
2011-10-29 16:43:40 -04:00
Justin Ruggles
03381c12b3
cin audio: validate the channel count
2011-10-29 16:43:40 -04:00
Justin Ruggles
664eb77dc3
cin audio: remove unneeded AVCodecContext pointer from CinAudioContext
2011-10-29 16:43:40 -04:00
Justin Ruggles
5bd0343bee
flacdec: use av_get_bytes_per_sample() to get sample size
2011-10-29 16:05:25 -04:00
Justin Ruggles
272fcc32bb
dca: handle errors from dca_decode_block()
...
Return error if core block decoding fails.
Do not enable XCh if XCh extension block decoding fails.
2011-10-29 16:04:07 -04:00
Justin Ruggles
aae6eead6a
dca: return error if the frame header is invalid
2011-10-29 16:04:07 -04:00
Justin Ruggles
f44059d260
dca: return proper error codes instead of -1
2011-10-29 16:04:06 -04:00
Kostya Shishkov
46e1af3b0f
utvideo: handle empty Huffman trees
...
If the frame is filled with the same colour, encoder may produce no data
and the fill value is indicated by zero code length (the rest of symbols
will have 0xFF for code length, meaning invalid). So such Huffman trees
should be treated specially.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-29 12:54:08 -07:00
Justin Ruggles
425a843505
binkaudio: change short to int16_t
2011-10-29 15:16:54 -04:00
Justin Ruggles
4f4e19480a
binkaudio: only decode one block at a time.
...
This prevents truncating output due to an output buffer that is too small for
all blocks. There is no limit on the number of blocks in a packet.
2011-10-29 15:16:54 -04:00
Justin Ruggles
eaddd29e00
binkaudio: store interleaved overlap samples in BinkAudioContext.
...
This fixes the requirement for the buffer size to be larger than the number of
samples actually decoded.
2011-10-29 15:16:54 -04:00
Justin Ruggles
9f48039a37
binkaudio: pre-calculate quantization factors
2011-10-29 15:16:53 -04:00
Justin Ruggles
101ef19ef4
binkaudio: add some buffer overread checks.
...
This stops decoding before overreads instead of after.
2011-10-29 15:16:53 -04:00
Justin Ruggles
2073224697
atrac3: support float or int16 output using request_sample_fmt
2011-10-29 15:06:32 -04:00
Justin Ruggles
a047851329
atrac3: add CODEC_CAP_SUBFRAMES capability
...
the decoder can handle multiple frames in a packet
2011-10-29 15:06:32 -04:00
Justin Ruggles
8f98577d4d
atrac3: return appropriate error codes instead of -1
2011-10-29 15:06:32 -04:00
Justin Ruggles
47b617021d
atrac3: make sure all memory is freed on init failure
2011-10-29 15:06:32 -04:00
Justin Ruggles
c91613857d
atrac3: add a couple macro constants
2011-10-29 15:06:31 -04:00
Justin Ruggles
1fead73d7b
atrac3: return error if packet is too small
2011-10-29 15:06:31 -04:00
Justin Ruggles
7e4881a2d0
atrac3: check output buffer size before decoding
2011-10-29 15:06:31 -04:00
Justin Ruggles
6ba7f78bbb
atrac3: use separate pointers for each channel in decodeFrame()
2011-10-29 15:06:31 -04:00
Justin Ruggles
5e76b8bb76
atrac3: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
8af33cb38a
atrac3: decode mono directly to the output buffer
2011-10-29 15:06:31 -04:00
Justin Ruggles
c4a6fde33f
atrac3: decode output to float samples instead of converting to s16
2011-10-29 15:06:31 -04:00
Justin Ruggles
f20dd574f1
atrac1: return appropriate error codes instead of -1
2011-10-29 15:06:31 -04:00
Justin Ruggles
6dc7dd7af4
atrac1: check for ff_mdct_init() failure
2011-10-29 15:06:31 -04:00
Justin Ruggles
21dcecc310
atrac1: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
96b5702efe
atrac1: fix a typo
2011-10-29 15:06:31 -04:00
Justin Ruggles
bff5b2c1ca
atrac1: validate number of channels
2011-10-29 15:06:31 -04:00
Justin Ruggles
9a35ff3841
atrac1: decode mono audio directly to output buffer
...
For stereo we need to use intermediate planar buffers, but mono does not need
to be deinterleaved so the output buffer can be used directly.
2011-10-29 15:06:31 -04:00
Justin Ruggles
33684b9c12
atrac1: check output buffer size before decoding
2011-10-29 15:06:30 -04:00
Justin Ruggles
5c353eb8e3
cook: return AVERROR_PATCHWELCOME instead of ENOTSUP
...
ENOTSUP is not defined on some systems
2011-10-29 14:32:55 -04:00
Justin Ruggles
e34c6c9708
cook: check output buffer size before decoding
2011-10-29 13:43:28 -04:00
Justin Ruggles
6631294c26
cook: do not needlessly set *data_size to 0
2011-10-29 13:43:28 -04:00
Justin Ruggles
b277ebd508
cook: remove pointless return statements
2011-10-29 13:43:28 -04:00
Justin Ruggles
c9c841e231
cook: simplify decouple_info()
2011-10-29 13:43:28 -04:00
Justin Ruggles
f193c96f49
cook: return appropriate error codes instead of -1
2011-10-29 13:43:28 -04:00
Justin Ruggles
e694831f9d
cook: avoid hardcoded sizes in sizeof()
2011-10-29 13:43:28 -04:00
Justin Ruggles
776e9815a5
cook: remove unneeded #includes
2011-10-29 13:43:28 -04:00
Justin Ruggles
c25df22365
cook: output float samples instead of converting to int16
2011-10-29 13:43:28 -04:00
Kostya Shishkov
9a173575fd
utvideo: account for coupled lines in YUV420 format
...
Luma slices in YUV420 colourspace should have height in multiple of two since
they have the same line of chrominance data corresponding to pair of them.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:51:58 -07:00
Ronald S. Bultje
8370e426e4
vp3: fix oob read for negative tokens and memleaks on error.
2011-10-28 23:50:04 -07:00
Ronald S. Bultje
bfa0f96586
vp8: fix overflow in segmentation map caching.
2011-10-28 23:48:43 -07:00
Anton Mitrofanov
640d5f1c80
Fix decoding of lossless 4:2:2 H.264
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:37:30 -07:00
Anton Mitrofanov
fdb5314ea7
Fix decoding of lossless 10-bit 4:4:4 H.264
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:37:30 -07:00
Alex Converse
77b5c82b49
isom: Add MPEG4SYSTEMS dummy object type indication.
2011-10-28 14:54:13 -07:00
Michael Niedermayer
bc2dd36740
aacdec: allow output reconfiguration on channel changes
...
Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.
The sample in http://roundup.libav.org/issue999 still works.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-28 22:44:59 +02:00
Justin Ruggles
f3db0f7403
nellymoserenc: take float input samples instead of int16
...
This avoids having to convert all input data from int16 to float, which is used
internally for encoding.
2011-10-28 14:40:52 -04:00
Justin Ruggles
77c8ef9a36
nellymoserdec: use dsp functions for overlap and windowing
2011-10-28 14:40:52 -04:00
Justin Ruggles
8c9581f052
nellymoserdec: do not fail if there is extra data in the packet
...
instead just print a warning
2011-10-28 14:40:52 -04:00
Justin Ruggles
0aaa85dbed
nellymoserdec: fail if output buffer is too small
...
avoids silently truncating the output
2011-10-28 14:40:52 -04:00
Justin Ruggles
f19305fe93
nellymoserdec: remove pointless buffer size check.
2011-10-28 14:40:51 -04:00
Michael Niedermayer
8fa97302e0
snow: do not draw_edge if emu_edge is set
...
Fix segfault on emu edge, to reproduce
make fate-vsynth1-snow
avplay -flags emu_edge tests/data/vsynth1/snow.avi
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-28 10:14:11 -07:00
Justin Ruggles
813907d424
wmavoice: move output buffer size check to synth_superframe().
...
this allows for checking against the actual output size instead of max size.
2011-10-28 12:02:24 -04:00
Justin Ruggles
d064076570
wmavoice: only set data_size to 0 when necessary
2011-10-28 12:02:24 -04:00
Justin Ruggles
1db6437f6c
wmapro: fix strict-aliasing violations by using av_alias32
...
Also fix some undefined unsigned/signed conversions.
2011-10-28 12:02:24 -04:00
Justin Ruggles
b8b4c9c328
wmapro: use FmtConvertContext.float_interleave() to interleave output samples
2011-10-28 12:02:24 -04:00
Justin Ruggles
d0b1b1c5c7
wmadec: consolidate 2 output buffer size checks into 1 check
2011-10-28 12:02:23 -04:00
Justin Ruggles
9a33264478
apedec: assert that s->samples is not negative before trying to decode
2011-10-28 11:47:29 -04:00
Justin Ruggles
0927154d37
apedec: use FFALIGN macro for internal data buffer size
2011-10-28 11:47:28 -04:00
Justin Ruggles
5b8009f4c8
apedec: do not keep incrementing the input data pointer past the end of the
...
buffer during entropy decoding.
The pointer address could overflow, which would likely segfault. Instead set
the context error flag to indicate that the decoder tried to read past the
end of the packet data.
2011-10-28 11:47:28 -04:00
Justin Ruggles
a4c32c9a63
apedec: check for input buffer overflow while reading frame header
2011-10-28 11:47:28 -04:00
Justin Ruggles
fd244ae3a0
apedec: use unsigned int for offset
...
avoids implementation-defined unsigned-to-signed conversion and simplifies
the bounds checking.
2011-10-28 11:47:28 -04:00
Justin Ruggles
89ec474a43
apedec: remove pointless increment of 'buf'
...
The variable is not used anymore at that point.
2011-10-28 11:47:28 -04:00
Justin Ruggles
52d4fb2a3d
apedec: set s->currentframeblocks after validating nblocks
2011-10-28 11:47:28 -04:00
Justin Ruggles
2cab578489
apedec: use unsigned int for 'nblocks' and make sure that it's within int range
2011-10-28 11:47:27 -04:00
Justin Ruggles
b7e5145759
apedec: do not set s->samples until after validation.
...
This prevents errors and/or invalid writes in the next decode call due to
s->samples still being negative.
2011-10-28 11:47:27 -04:00
Justin Ruggles
11ca8b2d74
apedec: check for data buffer realloc failure
2011-10-28 11:47:27 -04:00
Justin Ruggles
91b71460b5
apedec: return meaningful error values in ape_decode_frame()
2011-10-28 11:47:27 -04:00
Justin Ruggles
c6defb41ef
apedec: correct an error message
2011-10-28 11:47:27 -04:00
Justin Ruggles
da55e0980e
apedec: cosmetics
...
break some excessively long lines and remove space after '*'
2011-10-28 11:46:41 -04:00
Justin Ruggles
f64e0a2f37
apedec: return meaningful error codes from ape_decode_init()
2011-10-28 11:41:39 -04:00
Justin Ruggles
7500781313
apedec: check for filter buffer allocation failure
2011-10-28 11:41:39 -04:00
Justin Ruggles
b9d6b02713
apedec: use memcpy for pseudo-stereo mode
2011-10-28 11:41:39 -04:00
Justin Ruggles
3c25209bd9
apedec: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3().
2011-10-28 11:41:39 -04:00
Justin Ruggles
ec6d743118
mp3on4: do not needlessly set data_size to 0
2011-10-27 22:06:32 -04:00
Justin Ruggles
99975966c3
mp3adu: return error instead of just consuming bad packets
2011-10-27 22:06:32 -04:00
Justin Ruggles
e2e6c8799b
mpegaudiodec: check output data size based on avctx->frame_size
2011-10-27 22:06:32 -04:00
Justin Ruggles
512557b291
avcodec: remove avcodec_parse_frame and deprecate associated elements.
...
The documentation for CODEC_CAP_PARSE_ONLY and AVCodecContext.parse_only
indicates that they are utilized through avcodec_parse_frame(), which was
never actually implemented.
2011-10-27 22:06:32 -04:00
Justin Ruggles
cd816d9bbb
mpegaudiodec: cosmetics: basic pretty-printing
2011-10-27 22:06:32 -04:00
Justin Ruggles
c17e534f2e
mpegaudiodec: remove frame_count field from MPADecodeContext.
...
Its functionality was removed several years ago, so it doesn't do anything.
AVCodecContext.frame_number could serve the same purpose if someone
wants to debug the frame count.
2011-10-27 22:06:32 -04:00
Justin Ruggles
dac15a03af
mpegaudiodec: return AVERROR return codes instead of -1
2011-10-27 22:06:32 -04:00
Justin Ruggles
4be1e1dfa7
mpegaudiodec: Skip only bad frames instead of the whole packet.
...
On frame decoding failure, return an error if the frame is the same size as
the whole packet, otherwise just log an error message and return the number
of bytes consumed.
2011-10-27 22:06:31 -04:00
Anton Khirnov
15946eb8a9
lavc: remove "legacy" mpegvideo decoder.
2011-10-27 23:06:26 +02:00
Justin Ruggles
4a6a29a7fb
libopencore-amr: check output buffer size before decoding
2011-10-26 16:00:37 -04:00
Justin Ruggles
345d15d2f9
libopencore-amr: remove unneeded buf_size==0 check.
...
avcodec_decode_audio3() already checks it before sending the packet to the
decoder.
2011-10-26 16:00:37 -04:00
Justin Ruggles
402c98783d
libopencore-amr: remove unneeded frame_count field.
...
Use AVCodecContext.frame_number instead.
2011-10-26 16:00:36 -04:00
Justin Ruggles
71ccfb3f14
aac_latm: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3()
2011-10-26 12:21:18 -04:00
Justin Ruggles
f1901180e0
pcmdec: fix output buffer size check by calculating the actual output size
...
prior to decoding.
2011-10-26 12:01:07 -04:00
Justin Ruggles
154cd253e5
pcmdec: move codec-specific variable declarations to the corresponding codec
...
blocks.
2011-10-26 12:01:07 -04:00
Justin Ruggles
0093f96d34
pcmdec: return buf_size instead of src-buf.
...
The values will always be the same, so this change eliminates an unneeded
variable. It also gets rid of the need to reset src when memcpy() is used.
2011-10-26 12:01:07 -04:00
Justin Ruggles
85579b6381
avcodec: remove the Zork PCM encoder.
...
The Zork PCM decoder does not decode the 1 sample we have correctly, therefore
the encoder based on the decoder is also incorrect. There is no good reason to
keep the encoder.
2011-10-26 12:01:07 -04:00
Justin Ruggles
67a3b67c71
pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
2011-10-26 12:01:07 -04:00
Justin Ruggles
06af335a33
pcmenc: remove unneeded sample_fmt check.
...
It is already checked by avcodec_open2().
2011-10-26 12:01:07 -04:00
Justin Ruggles
d94e29cac9
pcmdec: move number of channels check to pcm_decode_init()
2011-10-26 12:01:06 -04:00
Justin Ruggles
83efd7652e
pcmdec: remove unnecessary check for sample_fmt change
2011-10-26 12:01:06 -04:00
Justin Ruggles
381e195b46
pcmdec: move DVD PCM bits_per_coded_sample check near to the code that sets
...
the sample size.
2011-10-26 12:01:06 -04:00
Justin Ruggles
6b94711f15
pcmdec: do not needlessly set *data_size to 0
2011-10-26 12:01:06 -04:00
Justin Ruggles
30f3e7b524
alacdec: remove unneeded NULL or zero-size packet checks.
...
This is already done in avcodec_decode_audio3()
2011-10-26 11:50:17 -04:00
Justin Ruggles
68f7e9cd8e
alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
2011-10-26 11:50:17 -04:00
Justin Ruggles
b316af7a7c
alacdec: ask for a sample for unsupported sample depths.
...
Also return AVERROR_PATCHWELCOME.
2011-10-26 11:50:17 -04:00
Justin Ruggles
63cf54df7a
alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
2011-10-26 11:50:17 -04:00
Justin Ruggles
01200f1283
alacdec: move some declarations to the top of the function
2011-10-26 11:50:17 -04:00
Justin Ruggles
c3a92412c0
alacdec: always use get_sbits_long() for uncompressed samples
2011-10-26 11:50:17 -04:00
Justin Ruggles
b46e58f741
alacdec: remove unneeded local variable
2011-10-26 11:50:17 -04:00
Justin Ruggles
7080533cda
alacdec: remove the numchannels parameter from several functions.
...
They only operate on stereo content, so the extra param is not necessary and
also allows for simplifying the code.
2011-10-26 11:50:17 -04:00
Justin Ruggles
cb50329fc5
alacdec: rename 2 functions.
...
Now they only do stereo interleaving.
2011-10-26 11:50:16 -04:00
Justin Ruggles
c39bddd392
alacdec: move appending of extra_bits to a separate function.
...
This should also fix decoding of mono 24-bit.
2011-10-26 11:50:16 -04:00
Justin Ruggles
e739d35156
alacdec: split stereo decorrelation into a separate function.
...
It is identical for 16-bit and 24-bit, so there is no need to have duplicate
code.
2011-10-26 11:50:16 -04:00
Justin Ruggles
d251c85dce
alacdec: cosmetics: rename 'wasted_bits' to 'extra_bits'.
...
The bits are not wasted, they are additional low bits that are added to the
16-bit decompressed samples to increase the output sample depth.
2011-10-26 11:50:16 -04:00
Justin Ruggles
dbbb9262ca
alacdec: remove unneeded numsamples checks
2011-10-26 11:50:16 -04:00
Justin Ruggles
53df079a73
alacdec: check for buffer allocation failure.
...
Also rearranges some functions for easier cleanup on failure.
2011-10-26 11:50:16 -04:00
Justin Ruggles
e5e4f92b5c
alacdec: allocate per-channel buffers based on channel count.
...
reduces memory usage when the stream has fewer than MAX_CHANNELS
2011-10-26 11:50:16 -04:00
Justin Ruggles
dcaa83a0fc
alacdec: read/validate number of channels from the extradata.
...
check frame header channel count against header/container channel count.
2011-10-26 11:50:16 -04:00
Justin Ruggles
47e9c75b36
alacdec: remove unneeded validation of setinfo_sample_size.
...
It is already done when using it to set sample_fmt.
2011-10-26 11:50:16 -04:00
Justin Ruggles
0f26f3d5c4
alacdec: set sample_fmt in alac_decode_init()
2011-10-26 11:50:16 -04:00
Justin Ruggles
aec8383348
alacdec: set bytespersample using av_get_bytes_per_sample()
2011-10-26 11:50:15 -04:00
Janne Grunau
d6174bfe5f
threads: restore has_b_frames in frame_thread_free
...
Otherwise the delay expressed in has_b_frames increases with every
avcodec_close/avcodec_open.
Fixes fate-ea-dct with more than 1 thread.
2011-10-26 16:55:54 +02:00
Daniel Kang
ded3e9f054
H.264: Cometics to dsputil_mmx.c
...
Add whitespace.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-26 06:41:32 -07:00
Justin Ruggles
a3a8572165
g722dec: check output buffer size before decoding
2011-10-25 11:30:50 -04:00
Justin Ruggles
4e41973794
g722dec: cosmetics: reindent/linewrap
2011-10-25 11:30:50 -04:00
Justin Ruggles
d0a196962a
g722dec: remove the use of lowres for half-rate decoding.
...
It is broken because an AVCodecContext can be opened/closed multiple
times, and sample_rate is getting divided by 2 each time that happens.
This removes the only use of lowres for audio.
2011-10-25 11:30:50 -04:00
Justin Ruggles
2f1d212fd0
tta: check for allocation failure of decode_buffer
2011-10-25 11:22:02 -04:00
Justin Ruggles
b5050539c9
tta: use correct frame_length calculation.
...
using a floating-point calculation is not necessary.
2011-10-25 11:22:02 -04:00
Justin Ruggles
c6056d4004
tta: add support for decoding 24-bit sample format
...
Note that this will not work in most cases with avconv and avplay due to the
AVCODEC_MAX_AUDIO_FRAME_SIZE limit, but it will decode correctly if given a
large enough output buffer.
2011-10-25 11:22:02 -04:00
Justin Ruggles
8664682d0e
cosmetics: indentation
2011-10-25 11:22:02 -04:00
Justin Ruggles
7b7a74a150
tta: remove pointless braces
2011-10-25 11:22:02 -04:00
Justin Ruggles
e6923f683c
tta: check output buffer size after adjusting frame length for last frame
2011-10-25 11:22:01 -04:00
Justin Ruggles
b16960a8a5
tta: fix reading of format in TTA header.
...
TTA does not support float at all, and format 2 is encrypted TTA.
2011-10-25 11:22:01 -04:00
Justin Ruggles
4d3e7a7516
tta: remove useless commented-out lines
2011-10-25 11:22:01 -04:00
Justin Ruggles
35f9d8c20a
tta: check remaining bitstream size while reading unary value
2011-10-25 11:22:01 -04:00
Janne Grunau
28287045ca
cosmetics: simplify latm_decode_init
2011-10-25 12:08:21 +02:00
Janne Grunau
785f876cee
latm: avoid unnecessary reinit of the aac decoder
2011-10-25 12:08:21 +02:00
Janne Grunau
80e36425fb
aacdec: initialize sbr context only in new channel elements
2011-10-25 12:07:58 +02:00
Janne Grunau
b2e56e08c9
resample: reject unhandled conversions
...
audio_resample can not reduce the number of channels
2011-10-25 12:06:48 +02:00
Janne Grunau
ec1ce86e7f
resample: remove unused #define
2011-10-25 12:06:48 +02:00
Mans Rullgard
c8477df019
adpcm: use sign_extend()
...
This avoids warnings from the overflow checker and simplifies the code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-24 15:26:24 +01:00
Janne Grunau
d99fe3a478
mpeg12: fix mpeg_decode_slice context parameter type
...
During slice threading only MpegEncContext is passed to
mpeg_decode_slice, remove a wrong cast and change the function
definition to take MpegEncContext pointer.
2011-10-24 01:05:00 +02:00
Janne Grunau
cd8c64e197
Revert "mpeg12: move full_pel from MpegEncContext to Mpeg1Context"
...
This reverts commit da22ba7df4
since it
broke slice threading. Slice threading just duplicates MpegEncContext
so every value used during mpeg_decode_slice has to be in it.
A second patch will fix the illusion that Mpeg1Context is available
in mpeg_decode_slice.
2011-10-24 00:59:41 +02:00
Justin Ruggles
704721bc9c
g722: split decoder and encoder into separate files
2011-10-23 11:42:34 -04:00
Justin Ruggles
b95fbba705
cosmetics: remove extra spaces before end-of-statement semi-colons
2011-10-23 11:36:56 -04:00
Justin Ruggles
60aa1a358d
vorbisdec: check output buffer size before writing output
2011-10-23 11:36:56 -04:00
Justin Ruggles
d2604f9260
wavpack: calculate bpp using av_get_bytes_per_sample()
2011-10-23 11:35:46 -04:00
John Stebbins
ddfb8e1adb
ac3enc: Set max value for mode options correctly
...
for example:
Attempting to set ac3 dsur_mode to "on" results in:
[AC-3 Encoder @ 0x7f508f0a3280] Value 2.000000 for parameter 'dsur_mode' out of range
[AC-3 Encoder @ 0x7f508f0a3280] Error setting option dsur_mode to value on.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-23 11:30:54 -04:00
Anton Khirnov
1deb66c50c
lavc: move get_b_cbp() from h263.h to mpeg4videoenc.c
...
It's not used anywhere else.
2011-10-23 14:16:16 +02:00
Anton Khirnov
3fc0830432
mpeg12: move closed_gop from MpegEncContext to Mpeg1Context
...
It's MPEG-1/2 specific.
2011-10-23 14:15:56 +02:00
Anton Khirnov
da22ba7df4
mpeg12: move full_pel from MpegEncContext to Mpeg1Context
...
It's MPEG-1 specific.
2011-10-23 14:14:39 +02:00
Anton Khirnov
cc05a45d33
mpeg12: move Mpeg1Context from mpeg12.c to mpeg12.h
...
It will be used in vdpau code.
2011-10-23 14:14:34 +02:00
Anton Khirnov
acffe45732
mpegvideo: remove some unused variables from MpegEncContext.
2011-10-23 14:13:40 +02:00
Mashiat Sarker Shakkhar
f18746528d
VC1: restore mistakenly removed code
...
The code was mistakenly removed in cad16562c8
.
It stored some motion vector data for future use in B-pictures.
This fixes Bugzilla bug #57 .
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-22 22:51:00 +02:00
Justin Ruggles
e53eecd0e7
twinvq: check output buffer size before decoding
2011-10-22 15:38:05 -04:00
Justin Ruggles
5ed6817822
twinvq: return an error when the packet size is too small
2011-10-22 15:38:05 -04:00
Dustin Brody
9abc98737f
lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:55 +02:00
Dustin Brody
5ea0001f9e
lavc: translate non-flag-based er options into flag-based ef options at codec open
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:22 +02:00
Dustin Brody
c8dad9a694
add -err_filter AVOptions to access flag-based error recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:14 +02:00
Ronald S. Bultje
b0b3231074
h264_weight: initialize "height" function argument properly.
...
Right now it's not actually initialized on 32-bit, leading to crashes
on win32.
2011-10-22 00:23:24 -07:00
Justin Ruggles
b19e0c2b4e
libspeexdec: include system headers before local headers
2011-10-21 17:07:05 -04:00
Justin Ruggles
a470fe80ba
libspeexdec: return meaningful error codes
2011-10-21 17:07:04 -04:00
Justin Ruggles
14bc60dbae
libspeexdec: cosmetics: reindent
2011-10-21 17:07:04 -04:00
Justin Ruggles
7eeaa6796b
libspeexdec: decode one frame at a time.
...
This allows for knowing the output size before decoding even when there is no
header (e.g. FLV). Otherwise we would have to do a preliminary full frame
decode to determine the number of frames-per-packet.
2011-10-21 17:07:04 -04:00
Justin Ruggles
95891804bf
mp3on4: check for allocation failures in decode_init_mp3on4()
2011-10-21 12:34:43 -04:00
Justin Ruggles
180bf988bc
mp3on4: create a separate flush function for MP3onMP4.
...
The correct decoder private context needs to be used.
This fixes mp3on4 playback and seeking in avplay.
2011-10-21 12:33:15 -04:00
Justin Ruggles
53c8443ad2
mp3on4: ensure that the frame channel count does not exceed the codec channel
...
count.
This also allows for checking output data size based on the actual
number of channel instead of the maximum number of channels.
2011-10-21 12:32:35 -04:00
Justin Ruggles
1183d6cd98
mp3on4: set channel layout
2011-10-21 12:29:51 -04:00
Justin Ruggles
fff0f831e0
mp3on4: fix the output channel order
2011-10-21 12:29:51 -04:00
Justin Ruggles
f507dd067a
mp3on4: allocate temp buffer with av_malloc() instead of on the stack.
...
Avoids allocating unnecessary memory and ensures proper alignment.
2011-10-21 12:29:51 -04:00
Justin Ruggles
cb72230dfa
mp3on4: copy MPADSPContext from first context to all contexts.
...
Fixes segfault when decoding multi-channel MP3onMP4 files.
2011-10-21 12:29:51 -04:00
Justin Ruggles
aad3429d4e
fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
4e8e262476
fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
185142a5ea
fmtconvert: check compile-time x86 instruction set flags
2011-10-21 10:13:05 -04:00
Justin Ruggles
708ab7dd69
fmtconvert: port float_to_int16() x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
45add995de
fmtconvert: fix and extend documentation for float_interleave()
2011-10-21 10:13:05 -04:00
Mans Rullgard
b034c95cc1
h264: fix ppc/altivec build
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-21 12:49:01 +01:00
Jean First
b8bb9c0267
Enable multithreding when decoding with libopenjpeg
...
Enable multithreding when decoding with libopenjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:07:22 -07:00
Ronald S. Bultje
27209bb108
h264: mark some MC functions with av_always_inline instead of inline.
...
This actually causes them to be inlined, leading to a significant
speedup (1-1.5% in my measurements).
2011-10-21 01:05:10 -07:00
Ronald S. Bultje
05fb63f5a0
H264: have hl_motion() and its callees take a chroma_idc argument.
2011-10-21 01:05:07 -07:00
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
2011-10-21 01:00:45 -07:00
Ronald S. Bultje
229d263cc9
Support for lossless and inter H264 4:2:2.
2011-10-21 01:00:45 -07:00
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:00:41 -07:00
Ronald S. Bultje
dc49bf1270
sws/pixfmt/pixdesc: add support for yuv420p9le/be.
2011-10-21 00:58:01 -07:00
Ronald S. Bultje
ce42a04884
vp8: fix up handling of segmentation_maps in reference frames.
...
Associate segmentation_map[] with reference frame, rather than
decoding instance. This fixes cases where the map would be free()'ed
on e.g. a size change in one thread, whereas the other thread was
still accessing it. Also, it fixes cases where threads overwrite data
that is still being referenced by the previous thread, who thinks that
it's part of the frame previously decoded by the next thread.
2011-10-21 00:17:58 -07:00
Anton Khirnov
65d3176aaf
lavc: hide private symbols.
...
Overhead as reported by rbelf-size goes from 90860 to 20204.
2011-10-20 21:06:58 +02:00
Anton Khirnov
586657c20a
lavc: deprecate img_get_alpha_info().
...
It's never been touched or used in any way since it was added in 2003
and only works for PIX_FMT_PAL8, which makes me conclude that nobody's
ever used it.
2011-10-20 21:06:58 +02:00
Anton Khirnov
0842d58998
lavc: use avpriv_ prefix for ff_toupper4.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
9f51c682ee
lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
...
They are used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
6f89efeaa7
lavc: use avpriv_ prefix for ff_ac3_parse_header.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
9138a130cd
lavc: use avpriv_ prefix for ff_frame_rate_tab.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
773375c3d0
lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
357db4c263
lavc: use avpriv_ prefix for ff_split_xiph_headers.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
2361e59b98
lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
242c73a0fd
lavc: use avpriv_ prefix for some dv symbols used in lavf.
...
Specifically, ff_dv_frame_profile and ff_dv_codec_profile.
2011-10-20 21:06:58 +02:00
Anton Khirnov
d9cca9fc6a
lavc: use avpriv_ prefix for some flac symbols used in lavf.
...
Specifically, ff_flac_parse_streaminfo, ff_flac_is_extradata_valid and
ff_flac_parse_block_header
2011-10-20 21:06:58 +02:00
Anton Khirnov
59a9a23581
lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
...
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Anton Khirnov
82ab61f901
lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
...
Specifically, ff_mpa_freq_tab, ff_mpa_bitrate_tab, ff_mpa_decode_header,
ff_mpegaudio_decode_header.
2011-10-20 21:06:57 +02:00
Anton Khirnov
73ae27e17b
lavc: use avpriv_ prefix for ff_aac_parse_header().
...
It's used in lavf.
2011-10-20 21:06:57 +02:00
Justin Ruggles
68d3aec819
avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
2011-10-20 13:30:08 -04:00
Justin Ruggles
352fc5f128
avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
2011-10-20 13:30:08 -04:00
Justin Ruggles
ffeeae923b
avcodec: clarify documentation of CODEC_CAP_DELAY
2011-10-20 13:30:08 -04:00
Justin Ruggles
1baa25c7da
shorten: fix end-of-stream decoding.
...
enable CODEC_CAP_DELAY to flush any remaining frames in the buffer.
Stop decoding when the FN_QUIT command is found so that a trailing seek table
isn't decoded as a normal frame.
decode all channels in the same call to avcodec_decode_audio3() so that
decoding will not stop after the first channel of the last frame.
Updated FATE reference. More valid audio is now decoded.
2011-10-20 13:09:46 -04:00
Justin Ruggles
d03f9f65c0
shorten: do not use block size to determine whether to read the header.
2011-10-20 13:09:46 -04:00
Justin Ruggles
882dafe9b6
shorten: check output buffer size before decoding
2011-10-20 13:09:26 -04:00
Justin Ruggles
bd7f7d6c78
shorten: use av_clip_int16() for output sample clipping
2011-10-20 13:09:26 -04:00
Justin Ruggles
069ada46c1
shorten: use bytestream functions to decode the embedded WAVE header
2011-10-20 13:09:25 -04:00
Justin Ruggles
c25762fcf1
shorten: add some comments
2011-10-20 13:09:25 -04:00
Justin Ruggles
15d146c958
shorten: merge decoding of FN_DIFF* subblocks into decode_subframe_lpc()
2011-10-20 13:09:25 -04:00
Justin Ruggles
034f42dfce
cosmetics: remove some needless commented-out stuff
2011-10-20 13:09:25 -04:00
Justin Ruggles
cfa317f67d
shorten: validate block size
2011-10-20 13:09:25 -04:00
Justin Ruggles
45d7d31fb9
shorten: move declaration of 'ret' to top of shorten_decode_frame()
2011-10-20 13:09:25 -04:00
Justin Ruggles
a8055992c0
shorten: pass on error value from allocate_buffers() instead of returning -1
2011-10-20 13:09:25 -04:00
Justin Ruggles
9e5e2c2d01
shorten: check for realloc failure
2011-10-20 13:09:25 -04:00
Justin Ruggles
fe31a637f1
shorten: move decoding of prediction order and applying of global offset to
...
decode_subframe_lpc().
2011-10-20 13:09:25 -04:00
Justin Ruggles
0f97c5014b
shorten: only calculate output size when returning decoded samples, otherwise
...
just set data_size to zero.
2011-10-20 13:09:25 -04:00
Justin Ruggles
e9e37f2d10
cosmetics: reindent
2011-10-20 13:09:25 -04:00
Justin Ruggles
9000b6db22
shorten: separate processing of audio commands from non-audio commands
2011-10-20 13:09:25 -04:00
Justin Ruggles
07745485ef
shorten: skip some fields in the WAV header embedded in the shorten header.
...
fixes incorrect bitrate reporting and potential misreporting of the number of
channels.
2011-10-20 13:09:25 -04:00
Justin Ruggles
a1f7885a8b
shorten: split reading of file header into a separate functions
2011-10-20 13:09:25 -04:00
Justin Ruggles
b606a01759
libspeexenc: add libspeex encoder
2011-10-20 13:06:15 -04:00
Diego Biurrun
265980dabc
x86: Move some variable declarations below the appropriat #ifdef.
...
This avoids some unused variable warnings with YASM disabled.
2011-10-20 16:19:27 +02:00
Diego Biurrun
2cb7c81669
x86: Fix linking of ProRes DSP ASM with YASM disabled.
2011-10-20 16:19:13 +02:00
Diego Biurrun
463ea05ab2
avcodec.h: Move G.729/G.723 CODEC_IDs to the correct section.
...
This is done conditional to the libavcodec version to avoid ABI breaks.
2011-10-20 00:19:19 +02:00
Diego Biurrun
26af0953c0
Only test-compile w32pthreads.h if W32THREADS are available.
...
This fixes 'make checkheaders' on non-W32THREADS systems.
2011-10-20 00:18:29 +02:00
Anton Khirnov
f0eeff708a
lavc: make avcodec_get_context_defaults3 "officially" public
...
Deprecate avcodec_get_context_defaults/avcodec_get_context_defaults2
2011-10-19 17:02:11 +02:00
Mashiat Sarker Shakkhar
73447eb4bd
Use correct scaling table for bwd-pred MVs in second B-field
...
When scaling backward predicted MVs in second B-field, the scaling table is
opposite of that for P field pictures; i.e. first field P table will be used as
second field B table and second field P table will be used as first field B
table. This is not documented in the spec, but exists in the ref. decoder.
This fixes SA10139.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-19 16:42:47 +03:00
Kostya Shishkov
0d8506b8c5
Ut Video decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 08:24:19 +02:00
Laurent Aimar
d97ca425ef
sunrast: Check for out of bounds reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-18 22:49:43 +02:00
Dustin Brody
6b1f93face
lavc: rename AV_ER_* options to AV_EF_* and rename AGGRESSIVE to BUFFER
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-18 12:28:30 +02:00
Dustin Brody
204e6132d2
lavc: replace API-bump-triggered AVCodecContext field change with shorter, non-conflicting name
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-18 12:28:22 +02:00
Steven Walters
27237d524e
w32threads: support for frame multithreading
...
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-16 21:45:16 +02:00
Mans Rullgard
b44522981c
avcodec: remove stray @deprecated comment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-16 16:22:05 +01:00
Mans Rullgard
91038cdbd1
prores: get correct size for coded V plane if alpha is present
...
The size check must be updated to take into account both manners
in which v_data_size might be set.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-15 14:59:44 +01:00
Mans Rullgard
cd14e297e6
prores: do not set pixel format on codec init
...
The pixel format is not known until the frame header is parsed.
Guessing it here only causes trouble for the caller if the guess
turns out to be wrong (and actually causes very wrong output by
avconv/avplay).
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-15 14:59:44 +01:00
Ronald S. Bultje
7b6883898f
pthread: prevent updating AVCodecContext from itself in frame_thread_free
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
feadcd1bdc
pthread: copy coded frame dimensions in update_context_from_thread
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
0f0b5d6434
vp8: prevent read from uninitialized memory in decode_mvs
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
5653579381
vp8: force reallocation in update_thread_context after frame size change
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
f05c2fb6eb
vp8: fix return value if update_dimensions fails
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Justin Ruggles
a62c0f94ee
adpcmdec: calculate actual number of output samples for each decoder.
...
This also allows for removing some of the buf_size checks and using the
sample count for some of the decoding loops.
2011-10-14 15:53:41 -04:00
Justin Ruggles
439998e18b
adpcmdec: check remaining buffer size before decoding next block in the
...
ADPCM IMA WAV decoder.
2011-10-14 15:53:41 -04:00
Justin Ruggles
ff5790c761
adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
...
There are still 2 nibbles to decode once the last byte in the packet has been
read. Updated FATE reference.
2011-10-14 15:53:41 -04:00
Justin Ruggles
8140a1288f
adpcmdec: remove unneeded buf_size==0 check.
...
This is already done by avcodec_decode_audio3()
2011-10-14 15:53:41 -04:00
Justin Ruggles
f7f7c1942b
adpcmdec: remove unneeded zeroing of *data_size
2011-10-14 15:53:40 -04:00
Mans Rullgard
d341d5fd2c
dnxhdenc: fixed signed multiplication overflow
...
The low 32 bits of a multiplication are the same for signed
and unsigned operands. Casting to unsigned before multiplying
is thus equivalent while avoiding signed overflow, which is
undefined by the C99 standard.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-14 20:45:22 +01:00
Ronald S. Bultje
05c8f119cc
proresdsp: fix function prototypes.
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 21:34:46 +02:00
Ronald S. Bultje
f78cd0c243
prores-idct: fix overflow in c code.
...
Fix the fate ref for prores-422_proxy by reverting the changes to it
in commit f492df0927
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 21:34:20 +02:00
Janne Grunau
19ec283f49
prores: add missing feature warning for alpha
2011-10-14 21:07:53 +02:00
Dustin Brody
582f231142
lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:21 +02:00
Dustin Brody
ac90a71459
lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:04 +02:00
Justin Ruggles
617a51f9b7
shorten: remove the flush function.
...
The shorten decoder does not support seeking.
2011-10-13 16:31:16 -04:00
Justin Ruggles
c6ac30c84b
truespeech: use sizeof() instead of hardcoded sizes
2011-10-13 16:26:00 -04:00
Justin Ruggles
6d55506c8b
truespeech: remove unneeded variable, 'consumed'
...
increment the 'buf' pointer instead, and consume the whole packet.
2011-10-13 16:26:00 -04:00
Justin Ruggles
b84048935e
truespeech: simplify truespeech_read_frame() by using get_bits()
2011-10-13 16:25:59 -04:00
Justin Ruggles
5e5ce70f19
truespeech: decode directly to output buffer instead of a temp buffer
2011-10-13 16:25:59 -04:00
Justin Ruggles
3e7a176759
truespeech: check to make sure channels == 1
2011-10-13 16:25:59 -04:00
Justin Ruggles
a8f8db2636
truespeech: check for large enough output buffer rather than truncating output
2011-10-13 16:25:59 -04:00
Justin Ruggles
595cf1a1aa
truespeech: remove unneeded zero-size packet check.
...
This is already checked in avcodec_decode_audio3()
2011-10-13 16:25:59 -04:00
Justin Ruggles
82be06bbb3
mlpdec: return meaningful error codes instead of -1
2011-10-13 15:13:02 -04:00
Justin Ruggles
e1b8d88d52
mlpdec: remove unnecessary wrapper function
2011-10-13 15:13:02 -04:00
Justin Ruggles
37b67f1bff
mlpdec: only calculate output size once
2011-10-13 15:13:02 -04:00