Reimar Döffinger
7a41027cc4
vorbis_dec: factor out duplicated code for index reading, bounds checking and
...
error message into a shared macro.
Originally committed as revision 20411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 22:41:45 +00:00
Robert Swain
f640478b56
Reindent after channel layout commit from yesterday
...
Originally committed as revision 20156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 14:59:40 +00:00
Robert Swain
53a71e1ba4
Add vorbis channel layout support according to those defined in the Vorbis I
...
specification
Originally committed as revision 20148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 12:59:37 +00:00
Diego Biurrun
a7adcf29cf
whitespace cosmetics, prettyprinting, K&R coding style
...
Originally committed as revision 20080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 11:43:58 +00:00
Diego Biurrun
0b8e7ab059
some more linebreak and brace placement cosmetics
...
Originally committed as revision 20071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 21:46:22 +00:00
Diego Biurrun
5e56b30e1f
brace placement and linebreak cosmetics
...
Originally committed as revision 20070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 21:13:47 +00:00
Reimar Döffinger
c31afa5d24
Fix format string to match the types printed.
...
Originally committed as revision 20003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 15:30:38 +00:00
Google Chrome
aedc98b0a4
Check submap indexes.
...
10_vorbis_submap_indexes.patch by chrome.
I am applying this even though Reimar had some comments to improve it as it fixes
a serious security issue and I do not want to leave such things unfixed.
Originally committed as revision 20001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 14:19:17 +00:00
Michael Niedermayer
0a01efd0aa
Make error return sign consistent.
...
Originally committed as revision 19997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:18:29 +00:00
Google Chrome
36b7e983a6
Check begin/end/partition_size.
...
23_vorbis_sane_partition.patch by chrome.
Also this should be better documented but i prefer not to leave potential
security issues open due to missing documentation.
Originally committed as revision 19996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:08:48 +00:00
Google Chrome
cdf1512eba
Check res_setup->books.
...
15_more_residue_book_indexes.patch by chrome.
Originally committed as revision 19992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:24:21 +00:00
Google Chrome
993092dcd3
Check masterbook index and subclass book index.
...
14_floor_masterbook_index.patch by chrome
Originally committed as revision 19991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:17:54 +00:00
Google Chrome
e5b0cfb541
Add checks for per-packet mode indexes and per-header mode mapping indexes.
...
12_vorbis_mode_indexes.patch by chrome
maybe exploitable
Originally committed as revision 19990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:09:33 +00:00
Google Chrome
79a4258141
Check classbook value.
...
11_vorbis_residue_book_index.patch by chrome.
Originally committed as revision 19989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:02:31 +00:00
Google Chrome
96651e790c
Fix book_idx check.
...
25_vorbis_floor0_index.patch by chrome.
Originally committed as revision 19984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:45:14 +00:00
Google Chrome
d70fa8f131
Sanity checks for magnitude and angle.
...
26_vorbis_mag_angle_index.patch by chrome
Originally committed as revision 19983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:40:33 +00:00
Google Chrome
08c8742cdb
= -> == typo.
...
27_vorbis_residue_loop_error.patch by chrome
Originally committed as revision 19982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:33:49 +00:00
Michael Niedermayer
98f7bcb119
Check dimensions against 0 too.
...
39_vorbis_zero_dims.patch from chrome
Originally committed as revision 19976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 08:35:29 +00:00
Michael Niedermayer
9062cd3544
Check validity of channels & samplerate.
...
This may be security relevant.
Based on 2 patches by chrome.
Originally committed as revision 19975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 07:46:51 +00:00
Måns Rullgård
01b2214758
Merge FFTContext and MDCTContext
...
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Reimar Döffinger
1de4ba7155
Make sure that values generated for ff_vorbis_len2vlc in
...
vorbis_parse_setup_hdr_codebooks are in the valid range (<=32).
Originally committed as revision 19373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 19:31:04 +00:00
Siarhei Siamashka
373177949f
Use iMDCT output scaling to simplify ffvorbis and make it slightly faster.
...
Originally committed as revision 18879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 07:26:09 +00:00
Siarhei Siamashka
7dfed8e1dc
Fix for a problem with inverted sign of output data from ffvorbis decoder.
...
Now the sign of audio samples in ffvorbis output is the same as in original
uncompressed audio file and this also allows the use of tiny_psnr to compare
ffvorbis with libvorbis/tremor.
Originally committed as revision 18878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 07:24:38 +00:00
Siarhei Siamashka
7d485f165f
Support for getting (i)MDCT output multiplied by a constant scaling factor.
...
Scaling (i)MDCT output has no runtime overhead and can be used to improve
performance of audio codecs. All the changes are only needed in
'ff_mdct_init' function and slow down initialization a bit.
Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00
Siarhei Siamashka
460c0abfbb
Fix for issue #829 ("ffvorbis outputs crackling sound, libvorbis plays fine")
...
This was off-by-one bug which affects floor0 encoded files. Tracked down
by valgrind (was reported as the use of uninitialized memory).
With this patch applied, tiny_psnr now reports the following when ffvorbis
is compared to libvorbis-1.0beta4 output for 'lsp-test.ogg' sample:
stddev: 0.76 PSNR: 98.69 bytes: 3498380/ 3498452
Output from libvorbis-1.2 is substantially different:
stddev: 132.57 PSNR: 53.87 bytes: 3498424/ 3498496
Originally committed as revision 18821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 06:38:49 +00:00
Stefano Sabatini
9106a698e7
Rename bitstream.h to get_bits.h.
...
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Thilo Borgmann
7a00bbad21
Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
...
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.
Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.
Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Diego Biurrun
bad5537e2c
Use full internal pathname in doxygen @file directives.
...
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Oded Shimon
05dee1b7df
Rename all vorbis encoder related typedefs to not use _t for POSIX compatibility
...
Originally committed as revision 16076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-12 05:12:51 +00:00
Carl Eugen Hoyos
c8562a6fda
Fix memleak for currupt input.
...
Originally committed as revision 15507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 21:47:49 +00:00
Siarhei Siamashka
9d2b5cf2e0
Interleaved forward/backward channels processing in order to increase chances
...
of stepping on already cached data for the cores with extremely small data
cache.
Patch by Siarhei Siamashka: name dot surname at gmail
Originally committed as revision 15493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 07:28:34 +00:00
Michael Niedermayer
c541e668f6
Optimize vorbis_residue_decode() so that vr->type is a constant.
...
Based on a patch by Siarhei Siamashka.
Originally committed as revision 15134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 22:49:42 +00:00
Loren Merritt
d46ac5bfde
mdct wrapper function to match fft
...
Originally committed as revision 14703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:38:30 +00:00
Loren Merritt
46803f4f67
optimize imdct_half:
...
remove tmp buffer.
skip fft reinterleave pass, leaving data in a format more convenient for simd.
merge post-rotate with post-reorder.
Originally committed as revision 14700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:33:34 +00:00
Peter Ross
fd76c37fd9
Modify all codecs to report their supported input and output sample format(s).
...
Originally committed as revision 14482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 10:47:31 +00:00
Loren Merritt
8a37920c9e
r14205 broke vorbis float_to_int on ppc
...
Originally committed as revision 14466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-29 14:17:13 +00:00
Loren Merritt
5eb0f2a425
float_to_int16_interleave: change src to an array of pointers instead of assuming it's contiguous.
...
this has no immediate effect, but will allow it to be used in more codecs.
Originally committed as revision 14252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-16 00:50:12 +00:00
Loren Merritt
633d9def9d
vorbis: reduce memory by reusing buffers
...
Originally committed as revision 14251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 23:04:28 +00:00
Loren Merritt
1a32536737
unroll another common case in vorbis_residue_decode
...
Originally committed as revision 14250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-15 23:01:15 +00:00
Loren Merritt
b9fa32082c
exploit mdct symmetry
...
2% faster vorbis on conroe, k8. 7% on celeron.
Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 15:03:58 +00:00
Loren Merritt
f27e1d645e
simplify vorbis windowing
...
Originally committed as revision 14205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-13 14:56:01 +00:00
Michael Niedermayer
da95f225fd
Set frame_size to the gcd of what the decoder can output.
...
Originally committed as revision 13971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 18:35:24 +00:00
Stefano Sabatini
fe4bf37455
Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
...
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Diego Biurrun
a5c0969a33
Remove one more set of useless parentheses from a return call.
...
Originally committed as revision 13070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-06 09:20:50 +00:00
Stefano Sabatini
d5202e4fda
Add long names to many AVCodec declarations.
...
patch by Stefano Sabatini, stefano.sabatini-lala poste it
Originally committed as revision 13005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 10:52:44 +00:00
Zuxy Meng
98a6fff98c
Apply 'cold' attribute to init/uninit functions in libavcodec
...
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Michael Niedermayer
8c4bd28bec
const
...
Originally committed as revision 11786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 16:07:11 +00:00
Benoit Fouet
1234585fac
Initialize "saved" buffer to zero.
...
Patch by Vincent Penné vpenne wyplay com and Denes Balatoni
Originally committed as revision 11393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 13:18:28 +00:00
Michael Niedermayer
90901860c2
stupid code (casting of void*) found by checktree.sh
...
Originally committed as revision 11117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-01 00:19:44 +00:00
Michael Niedermayer
e14356c895
fix issue130
...
Originally committed as revision 10888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-31 22:36:06 +00:00