Commit Graph

139 Commits

Author SHA1 Message Date
Zhou Zongyi
d00261a34b SIMD optimization using float_to_int16_interleave.
Patch by Zhou Zongyi, zhouzy A os D pku D edu D cn

Originally committed as revision 22414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 23:35:57 +00:00
Stefan Gehrer
3a201bd04f remove a Huffman table from WMA which also exists in AAC
Originally committed as revision 21902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 20:42:55 +00:00
Michael Niedermayer
f28f146473 Flush the bitreservour.
Fixes issue1716

Originally committed as revision 21559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:55:18 +00:00
Michael Niedermayer
445a9deea6 Print error messages on errors.
Originally committed as revision 20757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-07 00:35:38 +00:00
Michael Niedermayer
f78501b264 Fix apparent 10l typos introduced in r8627.
These typos moved the exponent pointer too far ahead.
Fixes issue1055.

Originally committed as revision 20756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 23:51:51 +00:00
Måns Rullgård
8b4a6d47b2 WMA: extend exponent range to 95
Hopefully this will be enough.  Fixes issue 1565 (again).

Originally committed as revision 20598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 10:10:39 +00:00
Måns Rullgård
168f92ffaa WMA: extend exponent table up to 75
Fixes issue 1565.

Originally committed as revision 20593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 22:22:16 +00:00
Måns Rullgård
0e71841b05 WMA: fix loop unrolling in decode_exp_vlc()
The count can be a non-multiple of 4 after all.

Originally committed as revision 20081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 12:48:24 +00:00
Måns Rullgård
ff00b94e9d WMA: use type punning and unroll loops in decode_exp_vlc()
GCC does stupid things if these assignments are done using floats
directly, so fill the runs using integer operations instead.  Also
unroll the loops since the length is always a multiple of 4.

Originally committed as revision 20077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:38:30 +00:00
Måns Rullgård
c0d1463da7 WMA: use a table instead of pow() in decode_exp_vlc
Originally committed as revision 20076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:38:27 +00:00
Måns Rullgård
952e872198 Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zero
and one, respectively.  This removes these arguments from the function,
simplifies the code accordingly, and renames the function to better
match the new operation.

Originally committed as revision 20061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:51:54 +00:00
Måns Rullgård
0a07e9d012 WMA: remove some unused variables
Originally committed as revision 20030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 19:23:27 +00:00
Diego Biurrun
75bbed517f Remove unused variables, fixes the warnings:
libavcodec/wmadec.c:629: warning: unused variable `i'
libavcodec/wmadec.c:628: warning: unused variable `b'
libavcodec/wmadec.c:628: warning: unused variable `a'

Originally committed as revision 19994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:29:56 +00:00
Måns Rullgård
6044538b37 WMA: use DSPContext.butterflies_float
Originally committed as revision 19981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:33:13 +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
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
Michael Niedermayer
110baa2e99 Remove unused variable from wma_decode_block() found by CSA.
Originally committed as revision 18568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:35:32 +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
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
Michael Niedermayer
29ca668f0a Fix mid/side stereo buggy output zeroing, fixes issue264 part 2.
Originally committed as revision 15004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-28 00:46:09 +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
0a570e826d remove mdct tmp buffer
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +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
Michael Niedermayer
4972a2464b indent
Originally committed as revision 14172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 19:54:02 +00:00
Michael Niedermayer
7ee18c1781 Fix not coded channels / silence decoding.
Fixes issue264 WMV audio stutter

Originally committed as revision 14171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 19:51:36 +00:00
Michael Niedermayer
362aba4be7 Check that we have enough output space available.
Originally committed as revision 14170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-11 19:45:52 +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
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
Michael Niedermayer
74dc744850 const
Originally committed as revision 11790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 16:14:32 +00:00
Reimar Döffinger
4c1e509c11 wma_decode_superframe always returns s->block_align, so make
sure we actually consume exactly that amount.
Fixes sound artefacts (mostly blips) that mysteriously disappeared
after e.g. remuxing with mencoder.

Originally committed as revision 11115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-30 21:51:34 +00:00
Aurelien Jacobs
295f373792 various simplifications around recent av_clip_int16() usage
Originally committed as revision 10080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-11 23:17:03 +00:00
Aurelien Jacobs
aee481cebe use av_clip_int16() where it makes sense
Originally committed as revision 10078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-11 22:48:55 +00:00
Alex Beregszaszi
7ae7300ee3 use skip_bits where appropriate
Originally committed as revision 10004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:57:36 +00:00
Alex Beregszaszi
7f95d9f620 fix compilation with TRACE enabled
Originally committed as revision 10003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:54:41 +00:00
Alex Beregszaszi
5fc32c275e use get_bits1(..) instead get_bits(.., 1)
Originally committed as revision 9999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:13:31 +00:00
Ramiro Polla
2c124cb65c Use AV_xx throughout libavcodec
Originally committed as revision 9169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-02 01:41:07 +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
5bd526d9ad WMA decoder improvement, output closer to the dmo binary.
Patch by Ian Braithwaite ian braithwaite dot dk

[Ffmpeg-devel] WMA decoder improvement, 2007-03-28 15:50

Originally committed as revision 8627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-04 13:49:55 +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
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
Michael Niedermayer
6836af5250 doxygenize
Originally committed as revision 7872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-07 14:53:25 +00:00
Michael Niedermayer
e8ebd57360 kill debuging code
Originally committed as revision 7856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-06 21:12:48 +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
Benjamin Larsson
e7a6d5f313 Bug fix for crashes when SSE is used on unaligned arrays.
No measureable change in speed. This gave random crashes on Win32
and BeOS. The cause for this bug is that gcc doesn't align the
stackframe. Linux and glibc always ensure this to be true thus
this never affected Linux.

Originally committed as revision 7318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-14 17:50:23 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Luca Barbato
8faf544392 Cleanup, from Emanuele Giaquinta <exg@gentoo.org>
Originally committed as revision 6221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-10 15:36:53 +00:00
Baptiste Coudurier
b3701f5cc0 Alignment of the LT window, segfault fix patch by Baptiste Coudurier.
Originally committed as revision 6051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-22 16:23:56 +00:00
Benjamin Larsson
9aee40d967 SIMD vector optimizations. 3% faster overall decoding.
Originally committed as revision 6026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-19 08:46:52 +00:00
Loren Merritt
bcfa3e58ee 3dnow2 implementation of imdct.
6% faster vorbis and wma.

Originally committed as revision 5954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-08 04:01:04 +00:00
Reimar Döffinger
0b52626eb0 Do not read full byte when less than 8 bits are still to be read.
Does not make a difference with any of my samples, but current
code does not make much sense.

Originally committed as revision 5533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-27 12:13:01 +00:00
Reimar Döffinger
a5ecd69ec1 Ignore overrun in spectral RLE decoding, fixes
http://www.missouri.edu/~bah347/gprime/nintendothemesacappellax.wmv

Originally committed as revision 5532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-27 12:09:58 +00:00
Michael Niedermayer
d30ba3bb34 reverting 1.31->1.33
fix coverity warning CID: 255 (uninitalized variable used to build tables which arent used, well there is a slight change of a FPU exception maybe ...)
(by michael)
Init simplification and 2% faster wma_decode_block on amd64 with tables use
instead of pow(). (by banan)

the init simplifictaion is not correct its not binary identical
the pow optimization breaks decoding of http://klif-e.mos.net.au/videos/extr.wmv

Originally committed as revision 5247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-30 14:58:36 +00:00
Michael Niedermayer
40c8602f64 fix coverity warning CID: 255 (uninitalized variable used to build tables which arent used, well there is a slight change of a FPU exception maybe ...)
Originally committed as revision 5162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-13 23:29:00 +00:00
Benjamin Larsson
6f3dda9328 Init simplification and 2% faster wma_decode_block on amd64 with tables use
instead of pow().

Originally committed as revision 5126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-08 09:26:57 +00:00
Jindřich Makovička
63a5b0b1ae - fix insufficient code length for exp_vlc
- move vlc tweaking parameters to one place

Originally committed as revision 4987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-11 19:39:05 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Benjamin Larsson
52fa37f17c get_vlc -> get_vlc2 transition.
Originally committed as revision 4827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-08 17:09:05 +00:00
Reimar Döffinger
b6204677f6 Fix wma2 audio decoder
Patch by Reimar Doeffinger

Originally committed as revision 4779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-27 19:58:04 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Mark Weaver
ff547a52d2 WMA MAX_CODED_SUPERFRAME_SIZE too small patch by (Mark Weaver: mark-clist, npsl co uk)
Originally committed as revision 4407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-28 14:56:16 +00:00
Michael Niedermayer
caa336b4cc common.c -> bitstream.c (and the single non bitstream func -> utils.c)
common.h -> common.h/bitstream.h

Originally committed as revision 3777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-29 17:50:25 +00:00
Burkhard Plaum
073c2593c9 Memory leak fix patch by (Burkhard Plaum <plaum >at< ipf.uni-stuttgart )dot( de>)
Originally committed as revision 3717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-27 18:10:06 +00:00
Diego Biurrun
b4396f36e5 k6 pop fix patch by (Diego Biurrun <diego at biurrun dot de>)
Originally committed as revision 3403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-19 19:01:40 +00:00
Alex Beregszaszi
ed0219a69f altivec workaround
Originally committed as revision 3259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-26 10:35:55 +00:00
Mike Melanson
7e56cd927b add the minimal documentation to make this decoder useful
Originally committed as revision 3059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-24 19:30:49 +00:00
Michael Niedermayer
40a3105d46 segfault fix
Originally committed as revision 2714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-01-18 21:57:32 +00:00
Alex Beregszaszi
aef3c69d8d moved frame_count to wmadeccontext
Originally committed as revision 2011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-04 20:32:04 +00:00
Alex Beregszaszi
f2899fb1ff uniformization (now it uses the same trace functions as h264, defined in common.h)
Originally committed as revision 2010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-04 20:26:04 +00:00
Fabrice Bellard
a9722aa6e5 works with old gcc versions too
Originally committed as revision 1948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-10 22:45:43 +00:00
Michael Niedermayer
983e3246b7 per file doxy
Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 11:32:04 +00:00
Zdenek Kabelac
0c1a9edad4 * UINTX -> uintx_t INTX -> intx_t
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:35:48 +00:00
Fabrice Bellard
8e1e6f31c1 use av_malloc() functions - added av_strdup and av_realloc()
Originally committed as revision 1505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-23 23:03:09 +00:00
Michael Niedermayer
68f593b484 GetBitContext.size is allways multiplied by 8 -> use size_in_bits to avoid useless *8 in a few inner loops
Originally committed as revision 1486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-21 17:34:12 +00:00
Fabrice Bellard
b35a02d527 align fixes for sse/altivec
Originally committed as revision 1414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-07 17:46:08 +00:00
Fabrice Bellard
2f62e147ae oops : better error resilience - should fix most wma decoding problems
Originally committed as revision 1404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-06 22:47:42 +00:00
Zdenek Kabelac
f408fc67c0 * avoid negative numbers as well
Originally committed as revision 1134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 20:22:30 +00:00
Nick Kurshev
dd3be2c97e 10l
Originally committed as revision 1133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 18:22:15 +00:00
Nick Kurshev
b8e6ad84e5 reverse first hunk
Originally committed as revision 1132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 18:17:25 +00:00
Nick Kurshev
d08070e653 fixed debug compilation
Originally committed as revision 1131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 18:08:19 +00:00
Fabrice Bellard
4707cb07e1 fixed nb_block_sizes detection - fixed codec_id test (avctx->codec_id does not need to be initialized)
Originally committed as revision 1121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-31 00:07:13 +00:00
Fabrice Bellard
bc42388648 use lrintf to avoid double conversion
Originally committed as revision 1107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-29 22:39:11 +00:00
Fabrice Bellard
ab253fe3c5 avoid name clash - fixed again block size selection
Originally committed as revision 1105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-29 22:27:30 +00:00
Fabrice Bellard
64c133898a fixed block size selection
Originally committed as revision 1093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-28 01:42:05 +00:00
Fabrice Bellard
bc8d1857fb added wma decoder
Originally committed as revision 1090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-28 00:48:55 +00:00