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