d1f558b362
avcodec/dca: require checked bitstream reader
...
Remove half-working attempt at supporting unchecked bitstream reader by
always copying input data into intermediate buffer with large amount of
padding at the end.
Convert LBR decoder to checked bitstream reader. Convert
dcadec_decode_frame() to parse input data directly if possible.
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-31 11:45:48 -03:00
801dbf0269
avcodec/dca: simplify 'residual ok' flag tracking
...
Move this from separate structure field to a packet flag.
Behavior should be equivalent, except that residual flag is now properly
cleared when packet has no core frame at all.
Also print a message when forcing recovery mode due to invalid residual
to make debugging easier.
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-20 22:54:48 -03:00
39f7620d76
avcodec/dca: don't set initial sample_fmt
...
Valid sample_fmt will be set by dcadec_decode_frame() based on stream type.
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-20 15:11:34 -03:00
365b0c13e4
avcodec/dca: print error message when no frame is found in packet
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-14 19:59:49 +02:00
6c44696b3d
avcodec/dca: add DTS Express (LBR) decoder
...
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-10 20:33:28 -03:00
b7d267399b
avcodec/dca: convert to AVCRC
...
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-03 16:40:43 -03:00
2df7d4fa45
avcodec/dca: move huffman data into separate object file
...
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-01 16:50:29 -03:00
ae5b2c5250
avcodec/dca: add new decoder based on libdcadec
2016-01-31 17:09:38 +01:00
4608996772
avcodec/dca: remove old decoder
...
Remove all files and functions which are not going to be reused,
and disable all functions and FATE tests temporarily which will be.
2016-01-31 17:09:38 +01:00
51da00e24c
dca: adjust decoding of the XBR extension for integer core decoding
2016-01-02 19:01:42 +01:00
7fe77aa62e
Merge commit '40d949677335a564f769823f4afdb7e7a3da8d6b'
...
* commit '40d949677335a564f769823f4afdb7e7a3da8d6b':
dca: use defines for subband related constants
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2016-01-02 17:52:34 +01:00
d03da3e240
Merge commit '2008f76054906e9ff6bf744800af0e5a5bfe61be'
...
* commit '2008f76054906e9ff6bf744800af0e5a5bfe61be':
dca: remove unused decode_hf function and quant_d tables
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2016-01-02 13:17:48 +01:00
af1238f863
Merge commit 'aebf07075f4244caf591a3af71e5872fe314e87b'
...
* commit 'aebf07075f4244caf591a3af71e5872fe314e87b':
dca: change the core to work with integer coefficients.
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2016-01-02 13:08:29 +01:00
5e8b053452
Merge commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6'
...
* commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6':
lavc: add profiles to AVCodecDescriptor
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2016-01-01 16:20:39 +01:00
40d9496773
dca: use defines for subband related constants
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net >
2015-12-31 11:40:32 +01:00
2008f76054
dca: remove unused decode_hf function and quant_d tables
...
They were superseded with their integer equivalents. Rename integer
decode_hf to decode_hf.
2015-12-24 13:58:18 +01:00
aebf07075f
dca: change the core to work with integer coefficients.
...
The DCA core decoder converts integer coefficients read from the
bitstream to floats just after reading them (along with dequantization).
All the other steps of the audio reconstruction are done with floats
which makes the output for the DTS lossless extension (XLL)
actually lossy.
This patch changes the DCA core to work with integer coefficients
until QMF. At this point the integer coefficients are converted to floats.
The coefficients for the LFE channel (lfe_data) are not touched.
This is the first step for the really lossless XLL decoding.
2015-12-23 11:50:18 +01:00
2c6811397b
lavc: add profiles to AVCodecDescriptor
...
The profiles are a property of the codec, so it makes sense to export
them through AVCodecDescriptors, not just the codec implementations.
2015-12-12 21:22:49 +01:00
fb99ef0bd3
avcodec: use AV_OPT_TYPE_BOOL in a bunch of places
2015-12-04 15:37:05 +01:00
b7855daffe
Merge commit 'c12c085be7e86880924249e5cb3f898e45dee134'
...
* commit 'c12c085be7e86880924249e5cb3f898e45dee134':
dcadec: Do not check for overreads in auxiliary data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-11-29 15:32:27 +01:00
c12c085be7
dcadec: Do not check for overreads in auxiliary data
...
The auxiliary data length field is not reliable,
and incorrect overread errors could be returned
for valid, real-world bitstreams.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-11-23 11:32:32 +01:00
a71fff213d
Merge commit '58b42345b38b46d11c32e11d9c57517f99d6a601'
...
* commit '58b42345b38b46d11c32e11d9c57517f99d6a601':
dcadec: reorganise context data
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-10-10 09:32:59 +02:00
58b42345b3
dcadec: reorganise context data
...
place primary audio coding header data into DCAAudioHeader
structure to make DCAContext clearer
and move channel related data to DCAChan structure to make
them easier to use by extensions
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-10-07 18:45:49 +02:00
4c160fa239
dcadec: Always initialize return variable
...
Silence an uninitialized warning from clang.
2015-10-04 13:06:27 +02:00
a11741c293
Merge commit 'd0a3e89d41b05f9ed0e7401c352b60ed4f4d1ed5'
...
* commit 'd0a3e89d41b05f9ed0e7401c352b60ed4f4d1ed5':
dcadec: make a number of samples per subband per subsubframe a named constant
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-10-03 12:36:42 +02:00
d0a3e89d41
dcadec: make a number of samples per subband per subsubframe a named constant
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-10-01 12:29:06 +02:00
9db6c8815d
avcodec/dcadec: fix a -Wsometimes-unitialized on clang
...
This fixes a genuine -Wsometimes-unitialized reported on clang, e.g
http://fate.ffmpeg.org/log.cgi?time=20150918181527&log=compile&slot=x86_64-darwin-clang-polly-vectorize-stripmine-3.7 .
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-09-19 14:11:52 +02:00
04eff96822
Merge commit '777885983533235ccda5145f96317fc8cd0a18ab'
...
* commit '777885983533235ccda5145f96317fc8cd0a18ab':
dcadec: set channel layout in a separate function
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-17 11:21:07 +02:00
ecaa6cf7b8
Merge commit '971177f751a6e2931232accceab438bce277bde8'
...
* commit '971177f751a6e2931232accceab438bce277bde8':
dcadec: scan for extensions in a separate function
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-17 11:08:22 +02:00
7778859835
dcadec: set channel layout in a separate function
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-09-16 20:21:07 +02:00
971177f751
dcadec: scan for extensions in a separate function
...
to make dca_decode_frame more readable
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-09-16 20:21:07 +02:00
b27ddffbfb
Merge commit 'dc70c19476e76f1118df73b5d97cc76f0e5f6f6c'
...
* commit 'dc70c19476e76f1118df73b5d97cc76f0e5f6f6c':
lavc: Drop deprecated request_channels related functions
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-05 16:42:44 +02:00
dc70c19476
lavc: Drop deprecated request_channels related functions
...
Deprecated in 04/2011.
2015-08-28 16:01:16 +02:00
444e9874a7
Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
...
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
lavc: AV-prefix all codec capabilities
Conflicts:
cmdutils.c
ffmpeg.c
ffplay.c
libavcodec/8svx.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/adpcm.c
libavcodec/alac.c
libavcodec/atrac3plusdec.c
libavcodec/bink.c
libavcodec/dnxhddec.c
libavcodec/dvdec.c
libavcodec/dvenc.c
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
libavcodec/fic.c
libavcodec/flacdec.c
libavcodec/flacenc.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/hevc.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopenjpegdec.c
libavcodec/libvo-aacenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpegaudiodec_float.c
libavcodec/msmpeg4dec.c
libavcodec/mxpegdec.c
libavcodec/nvenc_h264.c
libavcodec/nvenc_hevc.c
libavcodec/pngdec.c
libavcodec/qpeg.c
libavcodec/ra288.c
libavcodec/rv10.c
libavcodec/s302m.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tiff.c
libavcodec/tta.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/vp9.c
libavcodec/wavpack.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 22:50:18 +02:00
94d68a41fa
Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
...
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
lavc: AV-prefix all codec flags
Conflicts:
doc/examples/muxing.c
ffmpeg.c
ffmpeg_opt.c
ffplay.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/dcadec.c
libavcodec/ffv1enc.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/imc.c
libavcodec/libmp3lame.c
libavcodec/libtheoraenc.c
libavcodec/libtwolame.c
libavcodec/libvpxenc.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpegaudiodec_template.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/nvenc.c
libavcodec/on2avc.c
libavcodec/options_table.h
libavcodec/opus_celt.c
libavcodec/pngenc.c
libavcodec/ra288.c
libavcodec/ratecontrol.c
libavcodec/twinvq.c
libavcodec/vc1_block.c
libavcodec/vc1_loopfilter.c
libavcodec/vc1_mc.c
libavcodec/vc1dec.c
libavcodec/vorbisdec.c
libavcodec/vp3.c
libavcodec/wma.c
libavcodec/wmaprodec.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 22:10:35 +02:00
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:58 +01:00
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:58 +01:00
a3b721d10d
avcodec/dcadec: silence request_channels deprecation warnings
...
This also prevents an eventual compilation failure once request_channels
is removed.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at >
Signed-off-by: James Almer <jamrial@gmail.com >
2015-07-12 13:32:22 -03:00
4ae15605f6
avcodec/dcadec: Search and decode frame in case it starts later in a packet
...
This fixes decoding the first frame of some dts files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-23 16:37:16 +02:00
fc624ec9ba
avcodec/dcadec: Check active_bands
...
Fixes CID1297594 part2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-15 18:29:40 +02:00
0f3e6959bf
avcodec/dcadec: Check scale table index
...
Fixes CID1297594 part 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-15 18:27:49 +02:00
a9bf628bfd
avcodec/dcadec: Check subsubframes
...
Fixes: CID1239152
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-14 21:29:19 +02:00
a6a45774d0
avcodec/dcadec: Check nchans
...
Fixes CID1239110
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-14 20:55:59 +02:00
8f7b022c8c
Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
...
* commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25':
lavc: Replace av_dlog and tprintf with internal macros
Conflicts:
libavcodec/aacdec.c
libavcodec/audio_frame_queue.c
libavcodec/bitstream.c
libavcodec/dcadec.c
libavcodec/dnxhddec.c
libavcodec/dvbsubdec.c
libavcodec/dvdec.c
libavcodec/dvdsubdec.c
libavcodec/get_bits.h
libavcodec/gifdec.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_refs.c
libavcodec/imc.c
libavcodec/interplayvideo.c
libavcodec/jpeglsdec.c
libavcodec/libopencore-amr.c
libavcodec/mjpegdec.c
libavcodec/mpeg12dec.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_parser.c
libavcodec/pngdec.c
libavcodec/ratecontrol.c
libavcodec/rv10.c
libavcodec/svq1dec.c
libavcodec/vqavideo.c
libavcodec/wmadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-20 04:10:10 +02:00
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
7f1ea38868
lavc/dts: Do not set bitrate for DTS-HD Master and High Resolution.
...
Fixes ticket #4375 .
Reviewed-by: Hendrik Leppkes
2015-03-18 20:34:35 +01:00
e802abd6e3
avcodec/dcadec: if XLL is enabled use xll channels
...
Fixes outputting 14 channels instead of 7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-16 01:19:18 +01:00
21d25441c6
avcodec/dcadec: Only upsample as much data as is there
...
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-16 00:44:54 +01:00
209001073a
Merge commit '217e4ff4d1f845b76e44634e29371cd09313d1c2'
...
* commit '217e4ff4d1f845b76e44634e29371cd09313d1c2':
dca: Support for XLL (lossless extension)
Conflicts:
Changelog
doc/general.texi
libavcodec/Makefile
libavcodec/dca.h
libavcodec/dca_exss.c
libavcodec/dcadata.h
libavcodec/dcadec.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-15 22:18:41 +01:00
217e4ff4d1
dca: Support for XLL (lossless extension)
...
Cleanup and integration by Diego Biurrun.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2015-03-15 14:51:36 +01:00