Commit Graph

43 Commits

Author SHA1 Message Date
Justin Ruggles
2ed40608e9 wma: do not keep private copies of some AVCodecContext fields
channels, sample_rate, bit_rate, and block_align can be used directly from
the AVCodecContext
2012-11-01 11:29:19 -04:00
Justin Ruggles
31b2262dca wmaenc: use float planar sample format 2012-10-06 13:23:13 -04:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Martin Storsjö
710bd8a33e wma: Lower the maximum number of channels to 2
ff_wma_init is used only by wmadec and wmaenc, and neither of them
can handle more than 2 channels.

This fixes crashes with invalid files.

Based on patch by Piotr Bandurski and Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 15:51:26 +03:00
Diego Biurrun
8ca6e523a6 wma: Refactor common code to fix standalone compilation of WMA lossless decoder. 2012-03-07 09:36:05 +01:00
Martin Storsjö
9cf0841ef3 dsputil: Add ff_ prefix to the dsputil*_init* functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:34 +02:00
Martin Storsjö
e96b4a53df vlc/rl: Add ff_ prefix to the nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:26 +02:00
Alex Converse
7181c4edee cosmetics: Remove extra newlines at EOF 2012-01-27 17:19:09 -08:00
Alex Converse
d78bb1a4b2 wma: Clip WMA1 and WMA2 frame length to 11 bits.
The MDCT buffers in the decoder are only sized for up to 11 bits. The
reverse engineered documentation for WMA1/2 headers say that that for
all samplerates above 32kHz 11 bits are used. 12 and 13 bit support
were added for WMAPro. I was unable to make any Microsoft tools generate
a test file at a samplerate above 48kHz.

Discovered by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

CC: libav-stable@libav.org
2012-01-25 12:31:37 -08:00
Justin Ruggles
05d1e45d1f wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
The initial values are not checked against the number of block sizes.
Initializing them to frame_len_bits will result in a block size index of 0
in these cases instead of something that might be out-of-range.

Fixes Bug 81.
2011-11-22 13:50:18 -05:00
Mans Rullgard
4538729afe Move sine windows to a separate file
These windows do not really belong in fft/mdct files and were
easily confused with the similarly named tables used by rdft.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 13:25:19 +00:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Justin Ruggles
c73d99e672 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 02:44:53 +00:00
Luca Barbato
dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
Diego Biurrun
503f9c0bd6 Fix Doxygen documentation of gb parameter in ff_wma_get_large_val().
Originally committed as revision 23984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 11:55:42 +00:00
Daniel Verkamp
a7e6328cba Export wma_critical_freqs as ff_wma_critical_freqs
Originally committed as revision 21391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 08:39:50 +00:00
Reimar Döffinger
14b8607065 Add support for hard-coded MDCT-related ff_sine_windows tables.
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +00:00
Måns Rullgård
076a9dea1e WMA: store level_table as floats, use type punning for sign flip in decode
Originally committed as revision 20078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:38:34 +00:00
Vitor Sessak
6776061b04 Add two more sizes to ff_sine_windows[] and also pad it with NULLs so
that FF_ELEMS(ff_sine_windows[x]) == 1 << x.

Fix issue 1384.

Originally committed as revision 19862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:18:16 +00:00
Sascha Sommer
4c7615c40e Make remaining run level decode comments doxygen comments
Originally committed as revision 19235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 11:22:25 +00:00
Sascha Sommer
4df8bdeef3 Simplify run level decoding:
- remove unneeded vlc code < 0 check
- reorder vlc code handling so that the unlikely escape decoding
  part comes last
- move overflow check out of the decode loop
- branchless sign conversion

Originally committed as revision 19234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 11:06:48 +00:00
Sascha Sommer
4d67e067e2 Fix indentation after the previous commit
Originally committed as revision 19233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 10:33:18 +00:00
Sascha Sommer
891bd2e5aa Add support for escape coded wmapro run level coefficients
Originally committed as revision 19232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 10:28:55 +00:00
Sascha Sommer
9970c61b4b Introduce WMACoef typedef for decoded coefficients
and change default type to float so that the run level
decoding functionality can be shared with wmapro

Originally committed as revision 19231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 09:05:28 +00:00
Sascha Sommer
c0e9b2e84f Move run level decode functionality to ff_wma_run_level_decode
so that it can be reused for wmapro

Originally committed as revision 19171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 16:00:26 +00:00
Sascha Sommer
e8c7f81cf2 cosmetics: Add brackets between if/else
Originally committed as revision 19170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:48:41 +00:00
Sascha Sommer
523c09ca44 Add additional sample rates to the frame len bits calculation code
Originally committed as revision 19169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:38:11 +00:00
Sascha Sommer
cee4bb894d Move frame len bits calculation to ff_wma_get_frame_len_bits
so that it can be reused for wmapro

Originally committed as revision 19167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:21:43 +00:00
Diego Biurrun
ae1374ce10 cosmetics: Prettyprint and reformat wma.c closer to K&R style.
Originally committed as revision 19165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 13:12:13 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Robert Swain
cbcbf439b9 Fix index to ff_sine_windows[]. Previously the index was usually in reverse
order.

Originally committed as revision 14940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 08:31:19 +00:00
Robert Swain
cce540c5e7 Don't try to free shared ff_sine_* tables pointed to by s->windows[]
Originally committed as revision 14775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-15 10:31:11 +00:00
Robert Swain
69fc4da360 Add declarations for the sine tables used in wma.c (half window sizes: 128,
256, 512, 1024 and 2048) to mdct.c. Make them accessible via dsputil.h. Make
wma.c use these shared tables.

Originally committed as revision 14758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 14:40:16 +00:00
Robert Swain
ece6b83c3e Change wma.c to use the ff_sine_window_init() from mdct.c
Originally committed as revision 14757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 14:36:22 +00:00
Zdenek Kabelac
2c79288d4e fix mem leak
patch by Zdenek Kabelac: [zdenek kabelac gmail com]

Originally committed as revision 9740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-18 15:36:45 +00:00
Michael Niedermayer
47b777ceed sanity checks (should prevent hypothetical div by zero issue)
should fix sf bug #1547313

Originally committed as revision 9164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-30 23:06:37 +00:00
Ian Braithwaite
1890c2acf4 Optimize by building the mdct window and multipying/adding at the same time.
Patch by Ian Braithwaite ian .. braithwaite . dk

[Ffmpeg-devel] WMA decoder speedup 2007-03-22 22:56

Originally committed as revision 8526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-26 10:03:57 +00:00
Michel Bardiaux
318c5e0524 Give context to dprintf
Originally committed as revision 8338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-12 12:36:41 +00:00
Michel Bardiaux
bdb4b698d8 Corrections so that builds with DEBUG work
Originally committed as revision 8295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-08 14:49:43 +00:00
Michel Bardiaux
911b9faf31 Rename WMADecodeContext to WMACodecContext
Originally committed as revision 8143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-27 09:54:48 +00:00
Michel Bardiaux
a9c9a2400b Supply context to tprintf
Originally committed as revision 8142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-27 09:39:04 +00:00
Diego Biurrun
eafcac6ac8 cosmetics: Fix another common typo, dependAnt --> dependEnt.
Originally committed as revision 8114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-24 09:41:43 +00:00
Michael Niedermayer
5968607304 wma encoder
Originally committed as revision 7855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-06 20:19:04 +00:00