Commit Graph

179 Commits

Author SHA1 Message Date
Michael Niedermayer
3ba0bfe71f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ulti: Fix invalid reads
  lavf: dealloc private options in av_write_trailer
  yadif: support 10bit YUV
  vc1: mark with ER_MB_ERROR bits overconsumption
  lavc: introduce ER_MB_END and ER_MB_ERROR
  error_resilience: use the ER_ namespace
  build: move inclusion of subdir.mak to main subdir loop
  rv34: NEON optimised 4x4 dequant
  rv34: move 4x4 dequant to RV34DSPContext
  aacdec: Use intfloat.h rather than local punning union.

Conflicts:
	libavcodec/h264.c
	libavcodec/vc1dec.c
	libavfilter/vf_yadif.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 23:21:37 +01:00
Reimar Döffinger
36be045ed7 Support "VLB " audio in NSV files.
See samples/nsv/vlb_audio.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-12-13 23:07:40 +01:00
Alex Converse
5cd56e193f aacdec: Use intfloat.h rather than local punning union. 2011-12-12 21:36:54 -08:00
Michael Niedermayer
e4de71677f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac_latm: reconfigure decoder on audio specific config changes
  latmdec: fix audio specific config parsing
  Add avcodec_decode_audio4().
  avcodec: change number of plane pointers from 4 to 8 at next major bump.
  Update developers documentation with coding conventions.
  svq1dec: avoid undefined get_bits(0) call
  ARM: h264dsp_neon cosmetics
  ARM: make some NEON macros reusable
  Do not memcpy raw video frames when using null muxer
  fate: update asf seektest
  vp8: flush buffers on size changes.
  doc: improve general documentation for MacOSX
  asf: use packet dts as approximation of pts
  asf: do not call av_read_frame
  rtsp: Initialize the media_type_mask in the rtp guessing demuxer
  Cleaned up alacenc.c

Conflicts:
	doc/APIchanges
	doc/developer.texi
	libavcodec/8svx.c
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/nellymoserdec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/asfdec.c
	tests/ref/seek/lavf_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:30 +01:00
Janne Grunau
d268b79e34 aac_latm: reconfigure decoder on audio specific config changes 2011-12-03 00:42:48 +01:00
Janne Grunau
fd095539d1 latmdec: fix audio specific config parsing
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.

Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01:00
Justin Ruggles
0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
kaptnole
cb8db6423a aacdec: Fix Sound fragments after seeking
Fixes Ticket420

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 14:37:39 +01: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
Alex Converse
963f685535 aacdec: Fix PS in ADTS.
Fixes File1.aac and Bug 80.
2011-11-22 14:33:11 -08:00
Michael Niedermayer
5a2b3f3a52 aacdec: Avoid unneeded reinit due to ADTS headers
Fixes Ticket 662

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-17 18:11:41 +01:00
Michael Niedermayer
bc2dd36740 aacdec: allow output reconfiguration on channel changes
Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.

The sample in http://roundup.libav.org/issue999 still works.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-28 22:44:59 +02:00
Michael Niedermayer
173715d291 Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits)
  libopencore-amr: check output buffer size before decoding
  libopencore-amr: remove unneeded buf_size==0 check.
  libopencore-amr: remove unneeded frame_count field.
  aac_latm: remove unneeded check for zero-size packet.
  pcmdec: fix output buffer size check by calculating the actual output size prior to decoding.
  pcmdec: move codec-specific variable declarations to the corresponding codec blocks.
  pcmdec: return buf_size instead of src-buf.
  avcodec: remove the Zork PCM encoder.
  pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
  pcmenc: remove unneeded sample_fmt check.
  pcmdec: move number of channels check to pcm_decode_init()
  pcmdec: remove unnecessary check for sample_fmt change
  pcmdec: move DVD PCM bits_per_coded_sample check near to the code that sets the sample size.
  pcmdec: do not needlessly set *data_size to 0
  alacdec: remove unneeded NULL or zero-size packet checks.
  alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
  alacdec: ask for a sample for unsupported sample depths.
  alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
  alacdec: move some declarations to the top of the function
  alacdec: always use get_sbits_long() for uncompressed samples
  ...

Conflicts:
	libavcodec/pcm.c
	tests/ref/acodec/pcm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 01:39:04 +02:00
Justin Ruggles
71ccfb3f14 aac_latm: remove unneeded check for zero-size packet.
This is already checked by avcodec_decode_audio3()
2011-10-26 12:21:18 -04:00
Michael Niedermayer
51bfaa21c8 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  g722dec: check output buffer size before decoding
  g722dec: cosmetics: reindent/linewrap
  g722dec: remove the use of lowres for half-rate decoding.
  tta: check for extradata allocation failure in tta demuxer
  tta: check for allocation failure of decode_buffer
  tta: use correct frame_length calculation.
  tta: add support for decoding 24-bit sample format
  cosmetics: indentation
  tta: remove pointless braces
  tta: check output buffer size after adjusting frame length for last frame
  tta: fix reading of format in TTA header.
  tta: remove useless commented-out lines
  tta: check remaining bitstream size while reading unary value
  lavf: deprecate AVStream.stream_copy
  avconc: split choose_codec() to choose_decoder/choose_encoder.
  lavf: simplify by using FFMAX/FFMIN.
  mpegenc: add preload private option.
  cosmetics: simplify latm_decode_init
  latm: avoid unnecessary reinit of the aac decoder
  aacdec: initialize sbr context only in new channel elements
  ...

Conflicts:
	avconv.c
	libavcodec/resample.c
	libavcodec/tta.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 02:36:07 +02:00
Janne Grunau
28287045ca cosmetics: simplify latm_decode_init 2011-10-25 12:08:21 +02:00
Janne Grunau
785f876cee latm: avoid unnecessary reinit of the aac decoder 2011-10-25 12:08:21 +02:00
Janne Grunau
80e36425fb aacdec: initialize sbr context only in new channel elements 2011-10-25 12:07:58 +02:00
Michael Niedermayer
f97faf6751 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  id3v2: fix doxy comment - 'machine byte order' makes no sense on char arrays
  VC1: restore mistakenly removed code
  twinvq: check output buffer size before decoding
  twinvq: return an error when the packet size is too small
  lavf: export some forgotten symbols with non-av prefixes.
  swscale: update altivec yuv2planeX asm to new per-plane API.
  swscale: make yuv2yuvX_10_sse2/avx 8/9/16-bits aware.
  yuv2planeX10 SIMD
  swscale: decide whether to use yuv2plane1/X on a per-plane basis.
  swscale: reintroduce full precision in 16-bit output.
  Split up yuv2yuvX functions
  Split out yuv2yuv1 luma and chroma in order to make them generic DSP functions
  lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
  lavc: translate non-flag-based er options into flag-based ef options at codec open
  add -err_filter AVOptions to access flag-based error recognition
  h264_weight: initialize "height" function argument properly.
  presets: spelling error in libvpx 1080p50_60
  avplay: fix fullscreen behaviour with SDL 1.2.14 on Mac OS X

Conflicts:
	ffplay.c
	libavformat/libavformat.v
	libswscale/swscale.c
	libswscale/x86/swscale_template.c
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-23 05:13:56 +02:00
Dustin Brody
9abc98737f lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:55 +02:00
Michael Niedermayer
dd8ffc1925 Merge remote-tracking branch 'qatar/master'
* qatar/master: (47 commits)
  lavc: hide private symbols.
  lavc: deprecate img_get_alpha_info().
  lavc: use avpriv_ prefix for ff_toupper4.
  lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
  lavc: use avpriv_ prefix for ff_ac3_parse_header.
  lavc: use avpriv_ prefix for ff_frame_rate_tab.
  lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
  lavc: use avpriv_ prefix for ff_split_xiph_headers.
  lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
  lavc: use avpriv_ prefix for some dv symbols used in lavf.
  lavc: use avpriv_ prefix for some flac symbols used in lavf.
  lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
  lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
  lavc: use avpriv_ prefix for ff_aac_parse_header().
  lavf: hide private symbols.
  lavf: use avpriv_ prefix for some dv functions.
  lavf: use avpriv_ prefix for ff_new_chapter().
  avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
  avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
  avcodec: clarify documentation of CODEC_CAP_DELAY
  ...

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dv.c
	libavcodec/dvdata.c
	libavcodec/dvdata.h
	libavcodec/libspeexenc.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavformat/avidec.c
	libavformat/dv.c
	libavformat/dv.h
	libavformat/flvenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/oggparsespeex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 02:01:26 +02:00
Michael Niedermayer
b4d0e7804d aacdec:only overwrite configuration if theres a actual change.
Fixes Ticket574

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-20 21:57:52 +02:00
Anton Khirnov
59a9a23581 lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Anton Khirnov
73ae27e17b lavc: use avpriv_ prefix for ff_aac_parse_header().
It's used in lavf.
2011-10-20 21:06:57 +02:00
Michael Niedermayer
8daf04add4 aacdec: support chan config =1 stereo files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-20 13:54:54 +02:00
Michael Niedermayer
c5db8b4d09 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: fix signed overflow in avformat_find_stream_info()
  vp8: fix signed overflows
  motion_est: fix some signed overflows
  dca: fix signed overflow in shift
  aacdec: fix undefined shifts
  bink: Check for various out of bound writes
  bink: Check for out of bound writes when building tree
  put_bits: fix invalid shift by 32 in flush_put_bits()

Conflicts:
	libavcodec/bink.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-09 04:02:03 +02:00
Mans Rullgard
d12294304a aacdec: fix undefined shifts
Since nnz can be zero, this is needed to avoid a shift by 32.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Michael Niedermayer
0bc5d4fd8b aacdec: fix channel reconfigs on LATM
Fixes Ticket200

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 22:41:10 +02:00
Michael Niedermayer
b6aaa6d9a0 aacdec: Make aac-latm closer to the spec (not reading random data leading to random false configurations)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 22:34:26 +02:00
Michael Niedermayer
9815039053 aacdec: disable locking code for parse_adts_frame_header() non zero chan config.
This fixes changing channels
It possibly might cause regressions but i cant avoid this without having a test
case that needs the locking code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 02:43:57 +02:00
Michael Niedermayer
ba57ef2972 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Fix spelling errors.
  aac: Only set sample rate and object type from ADTS if output hasn't been configured.
  aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
  aac: Only output configure if audio was found.
  avconv: save two levels of indentation in flush_encoders()
  avconv: factor flushing encoders out of output_packet().
  avconv: factor out initializing input streams.
  avconv: remove -intra option.
  avconv: reset streamid_map between output files.
  avconv: make timer_start a local var in transcode().
  avconv: cosmetics, move OutputStream.
  avconv: remove two unused macros.

Conflicts:
	avconv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-19 00:53:42 +02:00
Alex Converse
44920d04ba aac: Only set sample rate and object type from ADTS if output hasn't been configured.
Long term it would be nice to support error resilient reconfiguration
but right now setting this every frame does more harm than help.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
06d37fede4 aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
d8425ed4af aac: Only output configure if audio was found.
Audio found is not triggered on a CCE because a CCE alone has no output.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Michael Niedermayer
a9aa88df1d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: make avcodec_init() static on next bump.
  ac3enc: remove unneeded #include
  ac3enc: restructure coupling coordinate reuse calculation
  ac3enc: allow new coupling coordinates to be sent independently for each channel.
  ac3enc: separate exponent bit counting from exponent grouping.
  h264: propagate error return values for AV_LOG_ERROR-triggering events
  aac: Don't attempt to output configure an invalid channel configuration.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-10 16:29:51 +02:00
Alex Converse
94d47382e0 aac: Don't attempt to output configure an invalid channel configuration. 2011-08-09 12:16:40 -07:00
Michael Niedermayer
6c4e9cae52 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: fix misspelling in comment
  aac: propagate error return values for AV_LOG_ERROR-triggering events

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-07 00:32:19 +02:00
Dustin Brody
680b1852ab aac: propagate error return values for AV_LOG_ERROR-triggering events 2011-08-05 12:35:49 -07:00
Michael Niedermayer
1d186e9e12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
  swscale: use 15-bit intermediates for 9/10-bit scaling.
  dct32: Add SSE2 ASM optimizations
  Correct chroma vector calculation for RealVideo 3.
  lavf: Add an option to discard corrupted frames
  mpegts: Mark wrongly-sized packets as corrupted
  mpegts: Move scan test to handle_packets
  mpegts: Mark corrupted packets
  mpegts: Reset continuity counter on seek
  mpegts: Fix for continuity counter
  mpegts: Silence "can't seek" warning on unseekable
  apichange: add an entry for AV_PKT_FLAG_CORRUPT
  avpacket: signal possibly corrupted packets
  mpeg4videodec: remove dead code that would have detected erroneous encoding
  aac: Remove some suspicious illegal memcpy()s from LTP.
  bink: Eliminate unnecessary shadow declaration.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/options.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-02 22:12:18 +02:00
Alex Converse
a6c49f18ab aac: Remove some suspicious illegal memcpy()s from LTP. 2011-08-01 09:39:33 -07:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Alex Converse
a58858d60d lavf: Cleanup try_decode_frame() logic.
This fixes AAC playback in ffplay.
2011-07-13 10:39:06 -07:00
Reimar Döffinger
896e59758a Move resetting of channels, sample_rate back to av_find_stream_info.
Resetting it on codec init would incorrectly clear the values
if av_find_stream_info was already run before, in particular
breaking ffplay.

This fixes trac tickets #213 and #262.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-12 19:44:59 +02:00
Michael Niedermayer
721be99371 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: fix some then/than typos
  doxygen: Include libavcodec and libavformat examples into the documentation
  avutil: elaborate documentation for av_get_random_seed
  Add support for aac streams in mp4/mov without extradata.
  aes: whitespace cosmetics
  adler32: whitespace cosmetics
  swscale: fix another yuv range conversion overflow in 16bit scaling.
  Fix cpu flags test program
  opt-test: Add missing braces to silence compiler warnings.
  build: Eliminate obsolete test targets.
  udp: Fix a compilation warning
  swscale: Unbreak build with --enable-small
  base64: add fate test
  aes: improve test program and add fate test
  adler32: make test program more useful and add fate test
  swscale: fix yuv range correction when using 16-bit scaling.
  aacenc: Make chan_map const correct

Conflicts:
	Makefile
	doc/examples/muxing-example.c
	libavformat/udp.c
	libavutil/random_seed.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-01 05:35:26 +02:00
Benjamin Larsson
dafaef2fe1 Add support for aac streams in mp4/mov without extradata. 2011-06-30 10:10:26 -07:00
Michael Niedermayer
6cbe81999b Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
  x86: cabac: fix register constraints for 32-bit mode
  cabac: move x86 asm to libavcodec/x86/cabac.h
  x86: h264: cast pointers to intptr_t rather than int
  x86: h264: remove hardcoded edi in decode_significance_8x8_x86()
  x86: h264: remove hardcoded esi in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded edx in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded eax in decode_significance[_8x8]_x86()
  x86: cabac: change 'a' constraint to 'r' in get_cabac_inline()
  x86: cabac: remove hardcoded esi in get_cabac_inline()
  x86: cabac: remove hardcoded edx in get_cabac_inline()
  x86: cabac: remove unused macro parameter
  x86: cabac: remove hardcoded ebx in inline asm
  x86: cabac: remove hardcoded struct offsets from inline asm
  cabac: remove inline asm under #if 0
  cabac: remove BRANCHLESS_CABAC_DECODER switch
  cabac: remove #if 0 cascade under never-set #ifdef ARCH_X86_DISABLED
  document libswscale bump
  error_resilience: skip last-MV predictor step if MVs are not available.
  error_resilience: actually add counter when adding a MV predictor.
  ...

Conflicts:
	Changelog
	libavcodec/error_resilience.c
	libavfilter/defaults.c
	libavfilter/vf_drawtext.c
	libswscale/swscale.h
	tests/ref/vsynth1/error
	tests/ref/vsynth2/error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 03:38:25 +02:00
Justin Ruggles
e6c52cee54 Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00
Carl Eugen Hoyos
06fd213eb6 Do not reset channel_layout to 0.
The channel_layout may have been set by the demuxer.
2011-05-25 09:49:18 +02:00
Michael Niedermayer
26ed595bd0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Add -U__STRICT_ANSI__ to CPPFLAGS on Cygwin and DOS.
  aacdec: fix typo in scalefactor clipping check
  fate: fix fate-h264-conformance-frext-pph10i4-panasonic-a crcs.
  fate: update 9/10bit refs.
  h264: Properly set coded_{width, height} when parsing H.264.
  x86 asm: Add SECTION_TEXT to dct32_sse.asm.
  Fix 9/10 bit in swscale.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-24 04:35:08 +02:00
Justin Ruggles
cef7d70181 aacdec: fix typo in scalefactor clipping check 2011-05-23 15:56:52 -04:00
Michael Niedermayer
6d32bcd770 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: make executable again
  LATM/AAC: Free previously initialized context on reinit.
  configure: Do not unconditionally add -Wall to host CFLAGS.
  configure: Set OS/2 objformat to a.out.
  Add support for a.out object format to assembler macros.
  fate: disable threading for encoding
  fate: add comment field
  fate: allow overriding default build and install dirs
  mpegtsenc: Add an AVClass pointer to the private data
  mpegaudio: clean up #includes
  mpegaudio: move all header parsing to mpegaudiodecheader.[ch]

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-21 05:32:03 +02:00
Ronald S. Bultje
42da8ea8e8 LATM/AAC: Free previously initialized context on reinit.
Fixes memory leaks which are the result of overwriting already-initialized
MDCT contexts during context reinitialization, e.g. in valgrind
fate-aac-latm_000000001180bc60.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-20 18:24:53 +02:00
Michael Niedermayer
75a37b57a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  APIchanges: fill in date and commit for request_sample_fmt
  Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
  Add support for request_sample_format in ffmpeg and ffplay.
  Add APIchanges entry for request_sample_fmt.
  Add request_sample_fmt field to AVCodecContext.
  Add float_interleave() to FmtConvertContext with x86-optimized versions.
  Remove unused make variable SEEK_REFFILE
  fate: remove redundant aref and vref references
  fate: remove do_ffmpeg_nocheck function
  fate: do not collect -benchmark output
  mpegaudiodec: remove decode_end() function
  fate: run aref and vref as regular tests
  mpegaudio: sanitise compute_antialias_* names
  mpeg12: add slice-threading checks to slice-threading initializers.
  h264: copy pixel_shift between slice threading contexts.
  mdec: enable frame-level multithreading.
  mdec.c: fix overread.

Conflicts:
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/dca.c
	libavcodec/h264.c
	libavcodec/mdec.c
	libavcodec/mpeg12.c
	libavcodec/options.c
	libavcodec/version.h
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-19 06:00:31 +02:00
Justin Ruggles
9aa8193a23 Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbis
decoders.

Based on patches by clsid2 in ffdshow-tryout.
2011-05-18 17:27:06 -04:00
Michael Niedermayer
fc193793c6 Merge remote branch 'qatar/master'
* qatar/master:
  aacdec: Use float instead of int16_t for ltp_state to avoid needless rounding.
  acelp: Remove unused gray_decode table.
  dfa: Remove unused variable.
  configure: Include AVX availability in summary output.
  configure: use same CPPFLAGS in kFreeBSD as Linux

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-16 05:01:40 +02:00
Justin Ruggles
033a4a942a aacdec: Use float instead of int16_t for ltp_state to avoid needless rounding. 2011-05-15 17:42:05 -04:00
Reimar Döffinger
6fd00e9dd9 aacdec: add decode_channel_map overread check
All decode_channel_map calls together can easily read
more data than the amount of padding available.
Thus below patch adds an input length check before reading them.
Fixes some invalid reads with sample from
http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1138
2011-05-07 18:08:46 +02:00
Michael Niedermayer
0665199e43 Merge remote branch 'qatar/master'
* qatar/master:
  vorbisdec: Rename silly "class_" variable to plain "class".
  simple_idct_alpha: Drop some useless casts.
  Simplify av_log_missing_feature().
  ac3enc: remove check for mismatching channels and channel_layout
  If AVCodecContext.channels is 0 and AVCodecContext.channel_layout is non-zero, set channels based on channel_layout.
  If AVCodecContext.channel_layout and AVCodecContext.channels are both non-zero, check to make sure they do not contradict eachother.
  cosmetics: indentation
  Check AVCodec.supported_samplerates and AVCodec.channel_layouts in avcodec_open().
  aacdec: remove sf_scale and sf_offset.
  aacdec: use a scale of 2 in the LTP MDCT rather than doubling the coefficient table values from the spec.
  Define POW_SF2_ZERO in aac.h and use for ff_aac_pow2sf_tabp[] offsets instead of hardcoding 200 everywhere.
  Large intensity stereo and PNS indices are legal. Clip them instead of erroring out. A magnitude of 100 corresponds to 2^25 so the will most likely result in clipped output anyway.
  qpeg: use reget_buffer() in decode_frame()
  ultimotion: use reget_buffer() in ulti_decode_frame()
  smacker: remove unnecessary call to avctx->release_buffer in decode_frame()
  avparser: don't av_malloc(0).

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-28 04:26:01 +02:00
Alex Converse
767848d761 aacdec: remove sf_scale and sf_offset.
Instead, scalefactors are adjusted by the offset amount, removing the need
for sf_scale, and the MDCT scales are adjusted to compensate for the higher
scalefactors. Floating-point output will be handled by modifying the MDCT
scales.
2011-04-27 12:39:37 -04:00
Justin Ruggles
6271794041 aacdec: use a scale of 2 in the LTP MDCT rather than doubling the coefficient
table values from the spec.
2011-04-27 12:39:37 -04:00
Alex Converse
d70fa4c423 Define POW_SF2_ZERO in aac.h and use for ff_aac_pow2sf_tabp[] offsets instead
of hardcoding 200 everywhere.
2011-04-27 12:39:37 -04:00
Alex Converse
e4744b59aa Large intensity stereo and PNS indices are legal. Clip them instead of
erroring out. A magnitude of 100 corresponds to 2^25 so the will most
likely result in clipped output anyway.

None of the conformance streams fall in the range that need to be clipped.
2011-04-27 12:39:37 -04:00
Reimar Döffinger
26d5a4b6b4 aacdec: Allow selecting float output at runtime. 2011-04-25 16:51:27 +02:00
Michael Niedermayer
7b376b398a Merge remote branch 'qatar/master'
* qatar/master:
  Handle unicode file names on windows
  rtp: Rename the open/close functions to alloc/free
  Lowercase all ff* program names.
  Refer to ff* tools by their lowercase names.
NOT Pulled  Replace more FFmpeg instances by Libav or ffmpeg.
  Replace `` by $() syntax in shell scripts.
  patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled  Remove stray libavcore and _g binary references.
  vorbis: Rename decoder/encoder files to follow general file naming scheme.
  aacenc: Fix whitespace after last commit.
  cook: Fix small typo in av_log_ask_for_sample message.
  aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
  Remove RDFT dependency from AAC decoder.
  Add some debug log messages to AAC extradata
  Fix mov debug (u)int64_t format strings.
  bswap: use native types for av_bwap16().
  doc: FLV muxing is supported.
  applehttp: Handle AES-128 encrypted streams
  Add a protocol handler for AES CBC decryption with PKCS7 padding
  doc: Mention that DragonFly BSD requires __BSD_VISIBLE set

Conflicts:
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:41:22 +02:00
Alex Converse
785c441828 Add some debug log messages to AAC extradata
On Wed, Apr 20, 2011 at 11:39 AM, Justin Ruggles
<justin.ruggles@gmail.com> wrote:
> On 04/20/2011 02:26 PM, Alex Converse wrote:
>
>> ---
>>  libavcodec/aacdec.c |   10 +++++++++-
>>  1 files changed, 9 insertions(+), 1 deletions(-)
>>
>>
>>
>> 0002-Add-some-Debug-log-messages-to-AAC-extradata.patch
>>
>>
>> diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
>> index c9761a1..3ec274f 100644
>> --- a/libavcodec/aacdec.c
>> +++ b/libavcodec/aacdec.c
>> @@ -79,7 +79,6 @@
>>             Parametric Stereo.
>>   */
>>
>> -
>>  #include "avcodec.h"
>>  #include "internal.h"
>>  #include "get_bits.h"
>
>
> stray whitespace change
>

oops, fixed

>From 94e8d0eea77480630f84368c97646cabc0f50628 Mon Sep 17 00:00:00 2001
From: Alex Converse <aconverse@google.com>
Date: Wed, 20 Apr 2011 11:23:34 -0700
Subject: [PATCH] Add some debug log messages to AAC extradata
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------1"

This is a multi-part message in MIME format.
--------------1
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
2011-04-22 20:36:57 -07:00
Michael Niedermayer
e16665bf72 Merge remote branch 'qatar/master'
* qatar/master:
  Use av_log_ask_for_sample() to request samples from users.
  Make av_log_ask_for_sample() accept a variable number of arguments.
  vqavideo: We no longer need to ask for version 1 samples.
  aacdec: indentation cosmetics

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-23 01:09:43 +02:00
Young Han Lee
9978ed7d6c aacdec: indentation cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-04-22 14:47:47 +02:00
Michael Niedermayer
9891004ba9 Merge remote branch 'qatar/master'
* qatar/master:
Partially merged:flvdec: Allow parsing keyframes metadata without seeking in most cases
  Error out if vaapi is not found
  avio: undeprecate av_url_read_fseek/fpause under nicer names
  libvo-*: Don't use deprecated sample format names and enum names
DUPLICATE  flvdec: Fix support for flvtool2 "keyframes based" generated index
DUPLICATE  libavcodec: Use "const enum AVSampleFormat[]" in AVCodec initialization
  Fix the conversion of AV_SAMPLE_FMT_FLT and _DBL to AV_SAMPLE_FMT_S32.
  Convert some undefined 1<<31 shifts into 1U<<31.

Conflicts:
	configure
	libavcodec/libvo-aacenc.c
	libavcodec/libvo-amrwbenc.c
	libavformat/flvdec.c

Marged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-13 02:49:22 +02:00
Alex Converse
187a537904 Convert some undefined 1<<31 shifts into 1U<<31.
According to ISO 9899:1999 S 6.5.7/4:

The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits
are filled with zeros. If E1 has an unsigned type, the value of the
result is E1× 2^E2, reduced modulo one more than the maximum value
representable in the result type. If E1 has a signed type and
nonnegative value, and E1× 2^E2 is representable in the result type, then
that is the resulting value; otherwise, the behavior is undefined.
2011-04-11 21:47:42 -07:00
Michael Niedermayer
11d78415ca Merge remote branch 'qatar/master'
* qatar/master:
  psymodel: extend API to include PE and bit allocation.
  avio: always compile dyn_buf functions
  Remove unnecessary parameter from ff_thread_init() and fix behavior
  Revert "aac_latm_dec: use aac context and aac m4ac"
  configure: tell user if libva is enabled like the rest of external libs.
  Add silence support for AV_SAMPLE_FMT_U8.
  avio: make URL_PROTOCOL_FLAG_NESTED_SCHEME internal
  avio: deprecate av_url_read_seek
  avio: deprecate av_url_read_pause
  ac3enc: NEON optimised extract_exponents

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 02:59:49 +02:00
Janne Grunau
d6f66edd65 Revert "aac_latm_dec: use aac context and aac m4ac"
This reverts commit 36864ac354 since it
breaks LATM decoding in ffplay.
2011-04-05 12:21:50 +02:00
clsid2
361fa0ed40 Float output for libavcodec AAC decoder
git-svn-id: https://ffdshow-tryout.svn.sourceforge.net/svnroot/ffdshow-tryout@3770 3b938f2f-1a1a-0410-8054-a526ea5ff92c
2011-04-03 22:52:58 +02: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
a45fbda994 Move ff_kbd_window_init() to a separate file
This function is not tightly coupled to mdct, and it's in the way
of making a fixed-point mdct implementation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:27 +00:00
Mans Rullgard
26f548bb59 fft: remove inline wrappers for function pointers
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:18 +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
Thadeu Lima de Souza Cascardo
08d804ab6a aac_latm_dec: use aac context and aac m4ac
When decoding latm config, use the corresponding aac context and its
m4ac instead of using NULL and a local variable. This fixes decoding of
audio in MPEG TS from SBTVD (the Brazillian Digital TV Sytem), when
there is no extradata. This is the case when using the decoder with
gst-ffmpeg and a GStreamer mpegts demuxer.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 36864ac354)
2011-03-08 02:09:32 +01:00
Thadeu Lima de Souza Cascardo
36864ac354 aac_latm_dec: use aac context and aac m4ac
When decoding latm config, use the corresponding aac context and its
m4ac instead of using NULL and a local variable. This fixes decoding of
audio in MPEG TS from SBTVD (the Brazillian Digital TV Sytem), when
there is no extradata. This is the case when using the decoder with
gst-ffmpeg and a GStreamer mpegts demuxer.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 12:25:36 -05:00
Young Han Lee
4f84e728da aacdec: Reduce the size of buf_mdct.
It was doubled in size for the LTP implementation. This brings it back
down to its original size.
(cherry picked from commit e22910b21a)
2011-02-22 02:44:39 +01:00
Young Han Lee
e22910b21a aacdec: Reduce the size of buf_mdct.
It was doubled in size for the LTP implementation. This brings it back
down to its original size.
2011-02-21 16:35:22 -08:00
Young Han Lee
695f39c80b aacdec: dsputilize the scalar multiplication in intensity stereo
(cherry picked from commit 9707f84fa7)
2011-02-20 19:05:45 +01:00
Young Han Lee
9707f84fa7 aacdec: dsputilize the scalar multiplication in intensity stereo 2011-02-19 00:57:09 -08:00
Young Han Lee
ece6cca14a aacdec: Implement LTP support.
Ported from gsoc svn.
(cherry picked from commit ead15f1dc1)
2011-02-15 16:32:33 +01:00
Young Han Lee
ead15f1dc1 aacdec: Implement LTP support.
Ported from gsoc svn.
2011-02-14 21:43:42 -08:00
Anton Khirnov
4d9c044d47 Replace remaining occurrences of CODEC_TYPE_* with AVMEDIA_TYPE*
Tested to compile with lavc major bump.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b2ed95ec48)
2011-02-04 03:10:12 +01: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
Anton Khirnov
b2ed95ec48 Replace remaining occurrences of CODEC_TYPE_* with AVMEDIA_TYPE*
Tested to compile with lavc major bump.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-03 13:37:09 +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
Justin Ruggles
a8ae4e0e7b Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58)
2011-02-02 03:40:48 +01:00
Justin Ruggles
80ba1ddb58 Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:28:42 +00:00
Alex Converse
79615a3e50 aacdec: Convert some loop copies into memcpy()s.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e5c82df80e)
2011-01-30 03:41:00 +01:00
Alex Converse
e5c82df80e aacdec: Convert some loop copies into memcpy()s.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-28 17:00:36 +00:00
Justin Ruggles
79ce107847 cosmetics: indentation and spacing
(cherry picked from commit b5ec638343)
2011-01-28 03:15:35 +01:00
Justin Ruggles
733dbe7d18 Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
(cherry picked from commit 9d06d7bce3)
2011-01-28 03:15:35 +01:00
Diego Elio Pettenò
e7e2df27f8 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
2011-01-28 03:15:34 +01:00
Justin Ruggles
b5ec638343 cosmetics: indentation and spacing 2011-01-28 00:21:46 +00:00
Justin Ruggles
9d06d7bce3 Remove the add bias hack for the C version of DSPContext.float_to_int16_*(). 2011-01-28 00:07:35 +00:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00