41 Commits

Author SHA1 Message Date
Michael Niedermayer
5af2fd317d wma: check byte_offset_bits
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 984add64a41c3296a8a82051cc90bff2eb449609)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-20 01:23:54 +01:00
Michael Niedermayer
b6cc1c77fd Merge remote-tracking branch 'qatar/release/0.7' into release/0.8
* qatar/release/0.7: (84 commits)
  id3v2: fix skipping extended header in id3v2.4
  Update RELEASE file for 0.7.5
  lcl: use AVERROR_INVALIDDATA instead of AVERROR_UNKNOWN
  kgv1dec: Increase offsets array size so it is large enough.
  kgv1: use avctx->get/release_buffer().
  kvmc: fix invalid reads
  nsvdec: Propagate error values instead of returning 0 in nsv_read_header().
  mjpegbdec: Fix overflow in SOS.
  shorten: Use separate pointers for the allocated memory for decoded samples.
  shorten: check for realloc failure (cherry picked from commit 9e5e2c2d010c05c10337e9c1ec9d0d61495e0c9c)
  atrac3: Fix crash in tonal component decoding.
  ws_snd1: Fix wrong samples count and crash.
  ws_snd: add some checks to prevent buffer overread or overwrite. (cherry picked from commit 417364ce1f979031ef6fee661fc15e1869bdb1b4)
  ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
  dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2
  h264: stricter reference limit enforcement.
  jvdec: unbreak video decoding
  xxan: don't read before start of buffer in av_memcpy_backptr().
  dsicinvideo: validate buffer offset before copying pixels.
  huffyuv: add padding to classic (v1) huffman tables.
  ...

Conflicts:
	RELEASE
	libavcodec/atrac3.c
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/kgv1dec.c
	libavcodec/shorten.c
	libavcodec/svq3.c
	libavcodec/ws-snd1.c
	libavcodec/xxan.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 01:25:31 +02:00
Alex Converse
0fbde741cb 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
(cherry picked from commit d78bb1a4b2a3a415b68e4e6dd448779eccec64e3)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-01 18:33:26 +02:00
Michael Niedermayer
df825c956a Merge remote-tracking branch 'qatar/release/0.7' into release/0.8
This merge is primary for metadata, theres little actually changed
except cosmetics

* qatar/release/0.7:
  4xm: Add a check in decode_i_frame to prevent buffer overreads
  wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
  Update RELEASE file for 0.7.3
  swscale: #include "libavutil/mathematics.h"
  vp3dec: Check coefficient index in vp3_dequant()
  svq1dec: call avcodec_set_dimensions() after dimensions changed.
  swscale: Readd #define _SVID_SOURCE

Conflicts:
	RELEASE
	libavcodec/4xm.c
	libavcodec/vp3.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-24 01:41:43 +01:00
Justin Ruggles
8dba5608dc 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.
(cherry picked from commit 05d1e45d1f42cc90d1f2f36c546d0096cea126a8)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-23 22:27:02 +01:00
Michael Niedermayer
d4a50a2100 Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-21 03:33:28 +01: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
fe2ff6d247 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>
(cherry picked from commit c73d99e672329c8f2df290736ffc474c360ac4ae)
2011-02-04 03:08:09 +01: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
9ef5a9deaf Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
(cherry picked from commit dfd2a005eb29e4b9f2fdb97036eb7d5c38ae4bd4)
2011-01-30 03:41:48 +01: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