Commit Graph

14381 Commits

Author SHA1 Message Date
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