Justin Ruggles
ec1f3cab20
avplay: reset decoder flush state when seeking
...
Fixes seeking after decoder has already been flushed for codecs using
CODEC_CAP_DELAY.
2012-02-06 13:22:01 -05:00
Justin Ruggles
f1c3d4a68a
ape: skip packets with invalid size
2012-02-06 13:22:01 -05:00
Justin Ruggles
ac3f8d317c
ape: calculate final packet size instead of guessing
...
Calculates based on total file size and wavetaillength from the header.
Falls back to multiplying finalframeblocks by 8 instead of 4 so that it will
at least be overestimating for 24-bit. Currently it can underestimate the
final packet size, leading to decoding errors.
2012-02-06 13:22:01 -05:00
Justin Ruggles
c2c316158f
ape: stop reading after the last frame has been read
...
This avoids buffer overread when the last packet size estimate is too small.
2012-02-06 13:09:11 -05:00
Justin Ruggles
66f7be3603
ape: return AVERROR_EOF instead of AVERROR(EIO) when demuxing is finished
2012-02-06 13:09:11 -05:00
Justin Ruggles
1bc035bc03
ape: return error if seeking to the current packet fails in ape_read_packet()
2012-02-06 13:09:11 -05:00
Justin Ruggles
6f1a5e8d6b
dsputil: remove debug message in dsputil_init().
...
AVCodecContext.bits_per_raw_sample is used for audio too, and values other
than 8, 9, and 10 are valid.
2012-02-03 16:00:30 -05:00
Justin Ruggles
22c0babbb2
apedec: remove unneeded #include of get_bits.h and associated macro
2012-02-02 21:07:01 -05:00
Justin Ruggles
e4169612a1
apedec: av_fast_malloc() instead of av_realloc()
...
av_realloc() does not guarantee alignment, which is required for
DSPContext.bswap_buf().
2012-02-02 21:07:01 -05:00
Justin Ruggles
0759c8eb10
apedec: fix handling of packet sizes that are not a multiple of 4 bytes
2012-02-02 21:07:01 -05:00
Justin Ruggles
c3a06615bd
bethsoftvideo: fix palette reading.
...
Return the correct number of consumed bytes and set *data_size = 0.
Returned size is 1 too small, leading to that 1 byte being read as the next
frame, which results in an extra blank frame at the beginning of the stream.
2012-02-01 19:41:39 -05:00
Justin Ruggles
83ce51cc7d
mpc7: use av_fast_padded_malloc()
...
Avoids doing malloc/free for each frame.
Also fixes valgrind errors due to use of uninitialized padding bytes.
Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de >
2012-02-01 19:35:59 -05:00
Justin Ruggles
b5b825c381
mpc7: simplify handling of packet sizes that are not a multiple of 4 bytes
2012-02-01 19:35:59 -05:00
Justin Ruggles
236a550c3f
Fix a typo in the x86 asm version of ff_vector_clip_int32()
...
Specifies the correct number of xmm registers used so that they can be saved
and restored on Win64 if necessary.
2012-02-01 19:02:32 -05:00
Justin Ruggles
3c432631e9
pcmenc: Do not set avpkt->size.
...
It is already the correct size as set by ff_alloc_packet().
2012-02-01 16:33:27 -05:00
Justin Ruggles
1a670973a7
ff_alloc_packet: modify the size of the packet to match the requested size
...
This will simplify encoders which use this function to request the exact
packet size rather than the maximum size.
2012-02-01 16:33:27 -05:00
Justin Ruggles
a3a0691bde
adpcmenc: remove some unneeded casts
2012-01-30 19:12:55 -05:00
Justin Ruggles
149f2058a4
adpcmenc: use int16_t and uint8_t instead of short and unsigned char.
2012-01-30 19:12:55 -05:00
Justin Ruggles
dd88ae831a
adpcmenc: fix adpcm_ms extradata allocation
...
Add FF_INPUT_BUFFER_PADDING_SIZE.
If allocation fails, also free memory which was allocated previously in
adpcm_encode_init().
2012-01-30 19:12:55 -05:00
Justin Ruggles
877a1d409c
adpcmenc: return proper AVERROR codes instead of -1
2012-01-30 19:12:55 -05:00
Justin Ruggles
cb023d9afe
adpcmenc: check for coded_frame allocation failure
2012-01-30 19:12:55 -05:00
Justin Ruggles
ddf70db6d7
adpcmenc: Do not set coded_frame->key_frame.
...
It is already set in avcodec_alloc_frame().
2012-01-30 19:12:54 -05:00
Justin Ruggles
3c4add27f7
mpc7: check for allocation failure
2012-01-30 19:11:29 -05:00
Justin Ruggles
eac31dd163
mpc7: align local temp buffer
...
DSPContext.bswap_buf() requires aligned output
2012-01-30 19:11:29 -05:00
Justin Ruggles
89eea6df28
aacenc: make sure to encode enough frames to cover all input samples.
...
Currently, any samples in the final frame are not decoded because they are
only represented by one frame instead of two. So we encode two final frames to
cover both the analysis delay and the MDCT delay.
2012-01-30 14:20:24 -05:00
Justin Ruggles
f44005b610
aacenc: only use the number of input samples provided by the user.
...
Fixes handling of CODEC_CAP_SMALL_LAST_FRAME.
2012-01-30 14:20:24 -05:00
Justin Ruggles
2c577155a7
libspeexenc: use AVSampleFormat instead of deprecated/removed SampleFormat
...
Fixes build with --enable-libspeex
2012-01-27 11:28:21 -05:00
Justin Ruggles
b8dd555c63
aud: remove unneeded field, audio_stream_index from context
...
There is only one stream, so it will always be index 0.
This also allows for removal of the private context.
2012-01-24 14:13:47 -05:00
Justin Ruggles
be14a37066
aud: fix time stamp calculation for ADPCM IMA WS
...
also allows for removing some unused context fields
2012-01-24 14:13:47 -05:00
Justin Ruggles
10fef6bd6b
aud: simplify header parsing
...
also allows for removing some unused context fields
2012-01-24 14:13:47 -05:00
Justin Ruggles
0e6a8b5cf7
aud: set pts_wrap_bits to 64.
...
Time stamps are not read from the bitstream, so no wrapping is needed.
2012-01-24 14:13:47 -05:00
Justin Ruggles
98c290cc08
cosmetics: indentation
2012-01-24 14:13:46 -05:00
Justin Ruggles
d481227c54
aud: support Westwood SND1 audio in AUD files.
...
Fixes decoding of the handful of "death scream" samples from
"Command and Conquer" that use SND1. e.g.
http://samples.libav.org/game-formats/westwood-aud/nuyell1.aud
http://samples.libav.org/game-formats/westwood-aud/nuyell7.aud
2012-01-24 14:13:46 -05:00
Justin Ruggles
02e7dbf5ad
adpcm_ima_ws: fix stereo decoding
...
Stereo ADPCM IMA WS is planar for VQA version 3 and 2-sample interleaved for
VQA version 2.
2012-01-24 14:13:46 -05:00
Justin Ruggles
220506d23f
avcodec: add a new codec_id for CRYO APC IMA ADPCM.
...
The stereo layout and extradata is significantly different from that in
Westwood IMA ADPCM, so a separate codec_id is warranted.
2012-01-24 14:13:41 -05:00
Justin Ruggles
4340a6363e
vqa: remove unused context fields, audio_samplerate and audio_bits
2012-01-24 14:08:29 -05:00
Justin Ruggles
7e813d5933
vqa: clean up audio header parsing
...
Fix setting of bit_rate and bits_per_coded_sample.
Ask for sample for unsupported VQA versions.
2012-01-24 14:08:29 -05:00
Justin Ruggles
5b4c562897
vqa: set time base to frame rate as coded in the header.
...
According to Multimedia Wiki documentation, the frame rate is not always 15,
and the actual value can be found in the header.
2012-01-24 14:08:29 -05:00
Justin Ruggles
9ae846971f
vqa: set packet duration.
...
Also remove unused context field, audio_frame_counter.
2012-01-24 14:08:29 -05:00
Justin Ruggles
53ed79a260
vqa: use 1/sample_rate as the audio stream time base
2012-01-24 14:08:29 -05:00
Justin Ruggles
e1ac69fa27
vqa: set stream start_time to 0.
...
The format has no coded timestamps and must use packet durations to generate
them.
2012-01-24 14:08:29 -05:00
Justin Ruggles
e924a4ba71
westwood: split the AUD and VQA demuxers into separate files.
...
They have no code in common.
2012-01-23 10:34:48 -05:00
Justin Ruggles
01ed1c390d
tta: cast output data pointer to the correct type
...
fixes "warning: assignment from incompatible pointer type"
2012-01-17 09:41:13 -05:00
Justin Ruggles
ee458cb1fa
avconv: use avcodec_encode_audio2()
2012-01-15 21:24:18 -05:00
Justin Ruggles
05f95443ca
pcmenc: use AVCodec.encode2()
2012-01-15 21:24:18 -05:00
Justin Ruggles
a6ccae3f4c
avcodec: bump minor version and add APIChanges for the new audio encoding API
2012-01-15 21:24:17 -05:00
Justin Ruggles
b2c75b6e63
avcodec: Add avcodec_encode_audio2() as replacement for avcodec_encode_audio()
...
This allows audio encoders to optionally take an AVFrame as input and write
encoded output to an AVPacket.
This also adds AVCodec.encode2() which will also be usable by video and
subtitle encoders once support is implemented in the public functions.
2012-01-15 21:24:17 -05:00
Justin Ruggles
5ee5fa021f
avcodec: add a public function, avcodec_fill_audio_frame().
...
This is a convenience function for the user to fill audio AVFrame information.
2012-01-15 21:24:17 -05:00
Justin Ruggles
4c82c6d993
FATE: convert output to rgba for the targa tests which currently output pal8
...
fixes the tests on big-endian systems
2012-01-13 18:40:12 -05:00
Justin Ruggles
9c2f9b0e2d
FATE: enable the 2 remaining targa conformance suite tests
2012-01-13 17:13:12 -05:00
Justin Ruggles
faaebcdf6b
targa: add support for rgb555 palette
2012-01-13 17:11:41 -05:00
Justin Ruggles
e1a7af6f29
FATE: fix targa tests on big-endian systems
2012-01-13 16:14:48 -05:00
Justin Ruggles
68d6012c72
FATE: add tests for targa
...
Based on a patch by Oana Stratulat <oanaandreeastratulat@gmail.com >
2012-01-13 15:45:30 -05:00
Justin Ruggles
56f22b7e16
pcmenc: set frame_size to 0.
...
This indicates that the actual frame size is based on the buf_size passed to
avcodec_encode_audio().
2012-01-11 09:09:56 -05:00
Justin Ruggles
f01f6a8474
gsm demuxer: use generic seeking instead of a gsm-specific function.
...
Since packets all contain only a single block, the generic seek function can
be used while still maintaining block-accuracy.
2012-01-11 08:56:24 -05:00
Justin Ruggles
467879eb54
gsm demuxer: return packets with only 1 gsm block at a time.
...
fixes stream copy of raw gsm to mov.
tested with QuickTime.
2012-01-11 08:56:24 -05:00
Justin Ruggles
82390f57d1
avcodec: add GSM parser
...
The WAVE demuxer returns packets with many blocks per frame, which needs to be
parsed into single blocks. This has a side-effect of fixing the timestamps.
2012-01-11 08:56:24 -05:00
Justin Ruggles
4556ebfb7d
ipmovie: fix pts for CODEC_ID_INTERPLAY_DPCM
...
frame sample count calculation was incorrect
2012-01-10 14:25:07 -05:00
Justin Ruggles
e9626eb32e
sierravmd: fix audio pts
...
The duration of the first packet was being calculated incorrectly, leading to
an incorrect timestamp offset.
2012-01-10 14:24:08 -05:00
Justin Ruggles
3f6aa85ed4
avcodec: attempt to clarify the CODEC_CAP_DELAY documentation
2012-01-07 14:33:16 -05:00
Justin Ruggles
07837e4158
avcodec: fix avcodec_encode_audio() documentation.
...
the previous documentation indicated how many bytes are read from the input,
not how many samples are read.
2012-01-07 14:33:15 -05:00
Justin Ruggles
cf1a259ad6
g722enc: validate AVCodecContext.trellis
2012-01-07 13:38:23 -05:00
Justin Ruggles
77c5b66cbe
g722enc: set frame_size, and also handle an odd number of input samples
...
The fate reference is updated because the previous test skipped a sample in
each encode() call due each input frame having an odd number of samples.
2012-01-07 13:38:23 -05:00
Justin Ruggles
34093ba081
g722enc: split encoding into separate functions for trellis vs. no trellis
2012-01-07 13:38:23 -05:00
Justin Ruggles
52e9854a83
tta: fix 24-bit decoding.
...
Decode to the correct output buffer.
2012-01-07 09:44:13 -05:00
Justin Ruggles
6e8bf6db48
add bytestream2_tell() and bytestream2_seek() functions
2012-01-05 23:36:36 -05:00
Justin Ruggles
9785082c15
libspeexenc: fix pts calculations for more than 1 frame per packet
2012-01-03 18:56:41 -05:00
Justin Ruggles
730280f90d
adxdec: clear eof flag and channel states when seeking
2012-01-03 18:47:42 -05:00
Justin Ruggles
3e57573fce
fate: add ADX encoding/decoding test
2012-01-03 18:47:42 -05:00
Justin Ruggles
779ef255e6
adx: add an adx muxer
2012-01-03 18:47:42 -05:00
Justin Ruggles
754ebd1a5b
adxenc: check output buffer size before writing
2012-01-03 18:47:42 -05:00
Justin Ruggles
1fb47728cd
adxenc: use bytestream functions for header writing.
...
also add more documentation about the header structure
2012-01-03 18:47:42 -05:00
Justin Ruggles
656e606cae
adxenc: use BLOCK_SIZE and BLOCK_SAMPLES macros
2012-01-03 18:47:42 -05:00
Justin Ruggles
f1be41c63d
adxenc: use a loop to encode each channel
2012-01-03 18:47:42 -05:00
Justin Ruggles
6c117bd8e0
adxenc: remove unneeded loops
...
avctx->frame_size is 32, so that is how many samples we process per call.
2012-01-03 18:47:42 -05:00
Justin Ruggles
99baf2c7d0
adx: add AVFMT_GENERIC_INDEX to demuxer flags.
...
fixes seeking
2012-01-03 18:47:41 -05:00
Justin Ruggles
613668210b
adxenc: avoid stereo deinterleaving
2012-01-03 18:47:41 -05:00
Justin Ruggles
6b77f07074
adxenc: remove unnecessary setting of coded_frame->key_frame.
...
It is already set by avcodec_alloc_frame().
2012-01-03 18:47:41 -05:00
Justin Ruggles
cc40c056d0
adxenc: log an error message and return AVERROR(EINVAL) for invalid channels
2012-01-03 18:47:41 -05:00
Justin Ruggles
a85ab8ad45
adxenc: cosmetics: pretty-printing
2012-01-03 18:47:41 -05:00
Justin Ruggles
25edfc88e3
adxenc: change some data types
2012-01-03 18:47:41 -05:00
Justin Ruggles
c98c6e18d8
adxenc: remove unneeded log message
2012-01-03 18:47:41 -05:00
Justin Ruggles
e3d4f59f95
adxenc: remove unneeded comments
2012-01-03 18:47:41 -05:00
Justin Ruggles
6fd075f180
adxdec: Validate channel count to fix a division by zero.
2012-01-03 16:28:17 -05:00
Justin Ruggles
e49d21306a
alacdec: implement the 2-pass prediction type.
...
The reference encoder does not generate any streams using this, but the
reference decoder can handle it, so we should as well.
2012-01-03 13:15:24 -05:00
Justin Ruggles
bb63475aec
alacenc: implement the 2-pass prediction type.
...
This isn't used by the reference encoder, but it is supported by the decoder.
2012-01-03 13:15:23 -05:00
Justin Ruggles
149e1b0468
alacenc: do not generate invalid multi-channel ALAC files
2012-01-03 13:15:23 -05:00
Justin Ruggles
e76c7b856f
alacdec: fill in missing or guessed info about the extradata format.
...
Now that there is official documentation from Apple about this, we don't have
to guess anymore.
2012-01-03 13:15:23 -05:00
Justin Ruggles
3a1867deac
wavpack: fix typos in previous cosmetic clean-up commit
2012-01-02 08:54:30 -05:00
Justin Ruggles
513c238fa9
wavpack: cosmetics: K&R pretty-printing
2012-01-02 08:52:59 -05:00
Justin Ruggles
8893fbdf7a
bmv audio: implement new audio decoding API
2012-01-01 22:56:04 -05:00
Justin Ruggles
03fafdec82
mpegaudiodec: skip all channels when skipping granules
...
Also fix calculation of new position when switching buffers.
This fixes "overread" error messages when seeking.
2012-01-01 22:37:50 -05:00
Justin Ruggles
481a7ff5bd
mpegaudiodec: fix compilation when testing the unchecked bitstream reader
2011-12-31 14:19:09 -05:00
Justin Ruggles
9a3f10695a
ra144enc: zero the reflection coeffs if the filter is unstable
...
fixes use of uninitialized values if the filter is still unstable after using
the previous frame lpc coefficients.
2011-12-22 08:31:07 -05:00
Justin Ruggles
f264d336fe
truespeech: fix invalid reads in truespeech_apply_twopoint_filter()
...
fixes Bug 171
2011-12-21 18:13:06 -05:00
Justin Ruggles
e9dc920127
asfdec: add side data to ASFStream packet instead of output packet.
...
fixes memleak of side data
2011-12-21 17:52:31 -05:00
Justin Ruggles
3f9257c5a5
idroqdec: set AVFMTCTX_NOHEADER and create streams as they occur.
...
This fixes demuxing of file where the first packet is not audio. Such files
are generated by our idroq muxer. It also fixes demuxing of audio only
idroq files.
2011-12-21 16:51:12 -05:00
Justin Ruggles
bc78ceec2b
4xm: remove unneeded check for remaining unused data.
...
This is unnecessary complication that only prints a message and does not
affect decoding.
2011-12-18 13:43:45 -05:00
Justin Ruggles
b11ce85664
avplay: don't request a stereo downmix
...
Multi-channel output works just fine for me with SDL 1.2.14.
2011-12-11 14:01:27 -05:00
Justin Ruggles
28101f6c4e
flac muxer: fix writing of file header and STREAMINFO header from extradata
...
fixes Bug 119
2011-12-10 10:19:41 -05:00