Commit Graph

308 Commits

Author SHA1 Message Date
Benoit Fouet
e56425d1a7 avcodec/aacdec: warn user when remapping streams.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 18:54:06 +02:00
Michael Niedermayer
1f20fa2da8 avcodec/aacdec: print element types when debug startcode is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 01:54:57 +02:00
Benoit Fouet
4da7111eb8 avcodec/aacdec: map LFE[0] to SCE[1] for 4.0 audio.
Fixes ticket #3930

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 17:50:20 +02:00
Lou Logan
88f2586adb fix various typos
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Michael Niedermayer
1c788eaca9 Merge commit '831a1180785a786272cdcefb71566a770bfb879e'
* commit '831a1180785a786272cdcefb71566a770bfb879e':
  Update dsputil- and SIMD-related comments to match reality more closely

Conflicts:
	libavcodec/x86/hpeldsp.asm
	libavutil/arm/float_dsp_init_arm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 23:59:56 +01:00
Diego Biurrun
831a118078 Update dsputil- and SIMD-related comments to match reality more closely 2014-03-13 05:50:29 -07:00
Hendrik Leppkes
3aca10bf76 latm: Always reconfigure if no extradata was set previously
AAC LOAS can have new audio config objects in the stream itself.

Make sure the decoder reconfigures itself when the first one arrives
midstream.

Bug-Id: 644
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-02-28 14:51:20 +01:00
Michael Niedermayer
8c5fece11f Merge commit '462d5e8e6c050eae7cbb1f2d5c34628088bd0eb6'
* commit '462d5e8e6c050eae7cbb1f2d5c34628088bd0eb6':
  aacdec: set AVFrame sample_rate

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-12 15:00:03 +01:00
John Stebbins
462d5e8e6c aacdec: set AVFrame sample_rate
AVFrame.sample_rate is set in ff_get_buffer, but aacdec calls
ff_get_buffer before the samplerate is known. So it needs to be
set again before returning the frame.
2014-02-12 12:52:28 +01:00
Michael Niedermayer
6e42ccb9db avcodec/aacdec: Fix pulse position checks in decode_pulses()
Fixes out of array read
Fixes: asan_static-oob_1efed25_1887_cov_2013541199_HeyYa_RA10_AAC_192K_30s.rm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-03 05:15:41 +01:00
Michael Niedermayer
676a395ab9 avcodec/aacdec: Dont fail if channels arent known yet
Fixes Ticket3312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-19 06:20:46 +01:00
Michael Niedermayer
fd53f9d985 Merge commit '7f29644108c5fbd80f160930b31b78b8704c1a49'
* commit '7f29644108c5fbd80f160930b31b78b8704c1a49':
  aac: Fix low delay windowing.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 02:18:57 +01:00
Michael Niedermayer
4195ae0fd8 Merge commit 'b2212dec0f011893ec68eecaa990170fa24050d7'
* commit 'b2212dec0f011893ec68eecaa990170fa24050d7':
  aac: Fix TNS decoding for the 512 sample window family.

also temporarily disable fate-aac-er_ad6000np_44_ep0 as this commit
causes a mismatch with the reference pcm file
The test will be reenabled after all fixes and with a new pcm reference

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 02:02:02 +01:00
Alex Converse
7f29644108 aac: Fix low delay windowing.
AAC LD uses a low overlap sine window instead of a KBD window.
2014-01-04 14:42:38 -08:00
Alex Converse
b2212dec0f aac: Fix TNS decoding for the 512 sample window family. 2014-01-04 14:42:38 -08:00
Anssi Hannula
e10fccf62a avcodec/aacdec: default to non-wide 7.1 in non-strict mode
AAC specification has 7.1(wide) as a default layout for 8-channel
streams (channel config 7). However, at least Nero AAC encoder encodes
non-wide 7.1 streams using the default channel config 7, mapping the
side channels of the original audio stream to the second
AAC_CHANNEL_FRONT pair in the AAC stream. Similarly, e.g. FAAD decodes
the second AAC_CHANNEL_FRONT pair as side channels, therefore decoding
the incorrect streams as if they were correct (and as the encoder
intended).

FFmpeg currently decodes such files by-the-spec, i.e. after decoding the
original front pair will be in AV_CH_FRONT_x_OF_CENTER and the original
side pair will be in AV_CH_FRONT_x.

As actual intended 7.1(wide) streams are very rare while misencoded 7.1
files actually exist in the wild, default to assuming a 7.1 layout was
intended unless in strict mode.

Fixes playback of e.g. 8_Channel_ID.m4a in samples.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-18 05:25:01 +01:00
Michael Niedermayer
ccdfa3e271 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add missing #includes for *INT64_MAX and *INT64_C

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffplay.c
	libavformat/assdec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:21:19 +01:00
Diego Biurrun
8f8bc92365 Add missing #includes for *INT64_MAX and *INT64_C 2013-11-23 21:55:52 +01:00
Michael Niedermayer
405ceb1812 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacdec: Set the profile during decoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 11:51:13 +01:00
Gian-Carlo Pascutto
454959a5aa aacdec: Set the profile during decoding
Previously the profile would not be set if the bitstream needs
to be decoded to know the profile.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-04 08:51:26 +01:00
Compn
6173b0fea7 aacdec: fix small comment, update decoder features comment 2013-10-31 15:57:16 -04:00
Alex Converse
adea4512c6 aacdec: Fix calls to avpriv_report_missing_feature().
It does not take log level as an argument.
2013-10-25 19:41:23 +00:00
Michael Niedermayer
435a730e21 avcodec/aacdec: fix more avpriv_report_missing_feature() arguments
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:57:16 +02:00
Michael Niedermayer
72cf47b241 avcodec/aacdec: fix avpriv_report_missing_feature() arguments
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:45:50 +02:00
Michael Niedermayer
fdb4822559 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: Add support for Enhanced AAC Low Delay (ER AAC ELD).

Conflicts:
	Changelog
	libavcodec/aacdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 10:02:43 +02:00
Michael Niedermayer
e0f2918223 Merge commit 'f457edb69794c7e13b3630456d72f7942fff19f7'
* commit 'f457edb69794c7e13b3630456d72f7942fff19f7':
  aacdec: Use avpriv_report_missing_feature() instead of custom logging.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 09:53:57 +02:00
Alex Converse
b3be41ca82 aac: Add support for Enhanced AAC Low Delay (ER AAC ELD).
This does not include support for LD SBR, epTool, data resilience, nor
the 960 transform family.
2013-10-23 00:08:29 -07:00
Alex Converse
f457edb697 aacdec: Use avpriv_report_missing_feature() instead of custom logging. 2013-10-23 00:08:29 -07:00
Michael Niedermayer
ee77140afa Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
* commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2':
  cosmetics: Group .name and .long_name together in codec/format declarations

Conflicts:
	libavcodec/8svx.c
	libavcodec/alac.c
	libavcodec/cljr.c
	libavcodec/dnxhddec.c
	libavcodec/dnxhdenc.c
	libavcodec/dpxenc.c
	libavcodec/dvdec.c
	libavcodec/dvdsubdec.c
	libavcodec/dvdsubenc.c
	libavcodec/ffv1dec.c
	libavcodec/flacdec.c
	libavcodec/flvdec.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/g726.c
	libavcodec/gif.c
	libavcodec/gifdec.c
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/iff.c
	libavcodec/imc.c
	libavcodec/libopencore-amr.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libspeexenc.c
	libavcodec/libvo-amrwbenc.c
	libavcodec/libvorbisenc.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/libxavs.c
	libavcodec/libxvid.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg4videodec.c
	libavcodec/msmpeg4dec.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/proresdec_lgpl.c
	libavcodec/proresenc_kostya.c
	libavcodec/ra144enc.c
	libavcodec/rawdec.c
	libavcodec/rv10.c
	libavcodec/sp5xdec.c
	libavcodec/takdec.c
	libavcodec/tta.c
	libavcodec/v210dec.c
	libavcodec/vp6.c
	libavcodec/wavpack.c
	libavcodec/xbmenc.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:34:23 +02:00
Diego Biurrun
b2bed9325d cosmetics: Group .name and .long_name together in codec/format declarations 2013-10-03 23:32:01 +02:00
Michael Niedermayer
32ea39f56d Merge commit '1914e6f010b3320025c7b692aaea51d9b9a992a8'
* commit '1914e6f010b3320025c7b692aaea51d9b9a992a8':
  aacdec: Add support for LD (Low Delay) AAC

Conflicts:
	Changelog
	libavcodec/aacdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 12:55:26 +02:00
Michael Niedermayer
257f11820b Merge commit '5cdefc02079a5b899bdec09e15e2bb099cb01734'
* commit '5cdefc02079a5b899bdec09e15e2bb099cb01734':
  aacdec: Add support for Error Resilience syntax.

Conflicts:
	Changelog
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-19 12:44:06 +02:00
Alex Converse
1914e6f010 aacdec: Add support for LD (Low Delay) AAC 2013-09-18 12:01:53 -07:00
Alex Converse
5cdefc0207 aacdec: Add support for Error Resilience syntax.
This does not add support for any error resilience tools.
2013-09-18 12:01:49 -07:00
Michael Niedermayer
d6c36fba0b Merge commit 'a10c4ce24bd4a0dd557d5849aa53a0cc74677808'
* commit 'a10c4ce24bd4a0dd557d5849aa53a0cc74677808':
  aac: Forward errors properly in aac_decode_frame_int

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:52:06 +02:00
Michael Niedermayer
48af87819a Merge commit '71953ebcf94fe4ef316cdad1f276089205dd1d65'
* commit '71953ebcf94fe4ef316cdad1f276089205dd1d65':
  aac: Check init_get_bits return value

Conflicts:
	libavcodec/aacdec.c

See: 73abc3a634

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:46:04 +02:00
Luca Barbato
a10c4ce24b aac: Forward errors properly in aac_decode_frame_int
Incidentally also remove a warning.
2013-08-04 16:05:36 +02:00
Luca Barbato
71953ebcf9 aac: Check init_get_bits return value
Some code paths can call it with invalid length.

CC: libav-stable@libav.org
2013-08-04 16:05:36 +02:00
Michael Niedermayer
af7949fdea Merge commit '4a2ef39442bf7f0150db07a1fbfcf8286e4d44a3'
* commit '4a2ef39442bf7f0150db07a1fbfcf8286e4d44a3':
  cosmetics: Add '0' to float constants ending in '.'.

Conflicts:
	libavcodec/ra288.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:43:12 +02:00
Diego Biurrun
4a2ef39442 cosmetics: Add '0' to float constants ending in '.'. 2013-07-25 11:33:23 +02:00
Michael Niedermayer
831e749bc9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: return meaningful errors

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:08:43 +02:00
Michael Niedermayer
1bcfb1eea8 Merge commit '6d8629aac13692447b54eac795bf74007ebf8987'
* commit '6d8629aac13692447b54eac795bf74007ebf8987':
  aac: K&R formatting cosmetics

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:00:51 +02:00
Luca Barbato
07c52e2c7c aac: return meaningful errors 2013-06-27 01:22:36 +02:00
Luca Barbato
6d8629aac1 aac: K&R formatting cosmetics 2013-06-27 01:22:06 +02:00
Hendrik Leppkes
d18341fb11 aacdec: free frame buffer if no audio was decoded
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.

Fixes part of ticket #2095

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 13:20:19 +02:00
Michael Niedermayer
5149407731 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: check the maximum number of channels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:54:56 +02:00
Luca Barbato
a943a132f3 aac: check the maximum number of channels
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.

CC:libav-stable@libav.org
2013-04-28 00:40:33 +02:00
Michael Niedermayer
cacbf64a76 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()

Conflicts:
	libavcodec/aacsbr.c
	libavcodec/amrnbdec.c
	libavcodec/takdec.c
	libavcodec/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:07:25 +01:00
Michael Niedermayer
13795dbb64 Merge commit '6d97484d72e33f7dde9493a9ead1a72e2f029605'
* commit '6d97484d72e33f7dde9493a9ead1a72e2f029605':
  avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
  rsodec: Use avpriv_report_missing_feature() where appropriate

Conflicts:
	libavcodec/anm.c
	libavcodec/mlpdec.c
	libavcodec/pictordec.c
	libavcodec/sunrast.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:52:12 +01:00
Michael Niedermayer
fa92ee821b Merge commit '63d744e2be39466e3a734c2987cd713e0bac101e'
* commit '63d744e2be39466e3a734c2987cd713e0bac101e':
  av_log_missing_feature() ---> avpriv_report_missing_feature()

Conflicts:
	libavcodec/aacdec.c
	libavcodec/tta.c
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:30:19 +01:00