Commit Graph

49 Commits

Author SHA1 Message Date
Michael Niedermayer
5eb353e0cd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  opt/eval: Include mathematics.h for NAN/INFINITY
  mathematics: Don't use division by zero in NAN/INFINITY macros
  wma: Lower the maximum number of channels to 2
  x86: cpu: clean up check for cpuid instruction support
  ARM: generate position independent code to access data symbols

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 22:43:09 +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
Michael Niedermayer
bf807a5e87 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  sbrdsp.asm: convert all instructions to float/SSE ones.
  dv: cosmetics.
  dv: check buffer size before reading profile.
  Revert "AAC SBR: group some writes."
  udp: Print an error message if bind fails
  cook: extend channel uncoupling tables so the full bit range is covered.
  roqvideo: cosmetics.
  roqvideo: convert to bytestream2 API.
  dca: don't use av_clip_uintp2().
  wmall: fix build with -DDEBUG enabled.
  smc: port to bytestream2 API.
  AAC SBR: group some writes.
  dsputil: remove shift parameter from scalarproduct_int16
  SBR DSP: unroll sum_square
  rv34: remove dead code in intra availability check
  rv34: clean a bit availability checks.
  v4l2: update documentation
  tgq: convert to bytestream2 API.
  parser: remove forward declaration of MpegEncContext
  dca: prevent accessing static arrays with invalid indexes.
  ...

Conflicts:
	doc/indevs.texi
	libavcodec/Makefile
	libavcodec/dca.c
	libavcodec/dvdata.c
	libavcodec/eatgq.c
	libavcodec/mmvideo.c
	libavcodec/roqvideodec.c
	libavcodec/smc.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 02:51:45 +01:00
Diego Biurrun
8ca6e523a6 wma: Refactor common code to fix standalone compilation of WMA lossless decoder. 2012-03-07 09:36:05 +01:00
Michael Niedermayer
6cb2085278 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  ppc: Add ff_ prefix to nonstatic symbols
  sh4: Add ff_ prefix to nonstatic symbols
  mpegvideo: Add ff_ prefix to nonstatic functions
  rtjpeg: Add ff_ prefix to nonstatic symbols
  rv: Add ff_ prefix to nonstatic symbols
  vp56: Add ff_ prefix to nonstatic symbols
  vorbis: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefix to nonstatic symbols
  vc1: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefixes to nonstatic symbols
  snow: Add ff_ prefix to nonstatic symbols
  mpeg12: Add ff_ prefix to nonstatic symbols
  mpeg4: Add ff_ prefixes to nonstatic symbols
  lagarith: Add ff_ prefix to lag_rac_init
  libavcodec: Add ff_ prefix to j_rev_dct*
  dsputil: Add ff_ prefix to inv_zigzag_direct16
  libavcodec: Prefix fdct_ifast, fdct_ifast248
  dsputil: Add ff_ prefix to the dsputil*_init* functions
  libavcodec: Add ff_ prefix to some nonstatic symbols
  vlc/rl: Add ff_ prefix to the nonstatic symbols
  ...

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h263.h
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nuv.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/proresdsp.c
	libavcodec/svq3.c
	libavcodec/version.h
	libavformat/dv.h
	libavformat/dvenc.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 01:34:37 +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
Michael Niedermayer
c065255bba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix LONG_START windowing.
  aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.
  avplay: use the correct array size for stride.
  lavc: extend doxy for avcodec_alloc_context3().
  APIchanges: mention avcodec_alloc_context()/2/3
  avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
  aacsbr: ARM NEON optimised sbrdsp functions
  aacsbr: align some arrays
  aacsbr: move some simdable loops to function pointers
  cosmetics: Remove extra newlines at EOF

Conflicts:
	libavcodec/utils.c
	libavfilter/formats.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 00:34:59 +01:00
Alex Converse
7181c4edee cosmetics: Remove extra newlines at EOF 2012-01-27 17:19:09 -08:00
Michael Niedermayer
3c5fe5b527 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  wma: Clip WMA1 and WMA2 frame length to 11 bits.
  movenc: Don't require frame_size to be set for modes other than mov
  doc: Update APIchanges with info on muxer flushing
  movenc: Reindent a block
  tools: Remove some unnecessary #undefs.
  rv20: prevent calling ff_h263_decode_mba() with unset height/width
  tools: K&R reformatting cosmetics
  Ignore generated aviocat and ismindex tools.
  build: Automatically include architecture-specific library Makefile snippets.
  indeo5: prevent null pointer dereference on broken files
  pktdumper: Use usleep instead of sleep
  cosmetics: Remove some unnecessary block braces.
  Drop unnecessary prefix from *sink* variable and struct names.
  Add a tool for creating smooth streaming manifests
  movdec: Calculate an average bit rate for fragmented streams, too
  movenc: Write the sample rate instead of time scale in the stsd atom
  movenc: Add a separate ismv/isma (smooth streaming) muxer
  movenc: Allow the caller to decide on fragmentation
  libavformat: Add a flag for muxers that support write_packet(NULL) for flushing
  movenc: Add support for writing fragmented mov files
  ...

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavfilter/Makefile
	libavformat/Makefile
	libavformat/avformat.h
	libavformat/movenc.c
	libavformat/movenc.h
	libavformat/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-26 02:23:56 +01: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
Michael Niedermayer
0b9a69f244 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  aacdec: Fix PS in ADTS.
  avconv: Consistently use PIX_FMT_NONE.
  dsputil: use cpuflags in x86 emu_edge_core
  dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
  wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
  mov: Remove some redundant and obsolete comments.
  Add libavutil/mathematics.h #includes for INFINITY
  doxy: structure libavformat groups
  doxy: introduce an empty structure in libavcodec
  doxy: provide a start page and document libavutil
  doxy: cleanup pixfmt.h
  regtest: split video encode/decode tests into individual targets
  ARM: add explicit .arch and .fpu directives to asm.S
  pthread: do not touch has_b_frames
  avconv: cleanup the transcoding loop in output_packet().
  avconv: split subtitle transcoding out of output_packet().
  avconv: split video transcoding out of output_packet().
  avconv: split audio transcoding out of output_packet().
  avconv: reindent.
  avconv: move streamcopy-only code out of decoding loop.
  ...

Conflicts:
	avconv.c
	libavcodec/aaccoder.c
	libavcodec/pthread.c
	libavcodec/version.h
	libavutil/audioconvert.h
	libavutil/avutil.h
	libavutil/mem.h
	tests/ref/vsynth1/dv
	tests/ref/vsynth1/mpeg2thread
	tests/ref/vsynth2/dv
	tests/ref/vsynth2/mpeg2thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 04:02:17 +01: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
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 c73d99e672)
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 dfd2a005eb)
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