Andreas Rheinhardt
7d4f1f4d99
avcodec/dca*: Make decoder init-threadsafe
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-05-02 05:14:41 +02:00
Andreas Rheinhardt
a247ac640d
avcodec: Constify AVCodecs
...
Given that the AVCodec.next pointer has now been removed, most of the
AVCodecs are not modified at all any more and can therefore be made
const (as this patch does); the only exceptions are the very few codecs
for external libraries that have a init_static_data callback.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 10:43:15 -03:00
foo86
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
foo86
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
foo86
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
foo86
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
foo86
6c44696b3d
avcodec/dca: add DTS Express (LBR) decoder
...
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-10 20:33:28 -03:00
foo86
b7d267399b
avcodec/dca: convert to AVCRC
...
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-03 16:40:43 -03:00
foo86
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
foo86
ae5b2c5250
avcodec/dca: add new decoder based on libdcadec
2016-01-31 17:09:38 +01:00
foo86
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
Hendrik Leppkes
51da00e24c
dca: adjust decoding of the XBR extension for integer core decoding
2016-01-02 19:01:42 +01:00
Hendrik Leppkes
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
Hendrik Leppkes
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
Hendrik Leppkes
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
Hendrik Leppkes
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
Alexandra Hájková
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
Alexandra Hájková
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
Alexandra Hájková
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
Anton Khirnov
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
Clément Bœsch
fb99ef0bd3
avcodec: use AV_OPT_TYPE_BOOL in a bunch of places
2015-12-04 15:37:05 +01:00
Hendrik Leppkes
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
Tim Walker
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
Hendrik Leppkes
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
Alexandra Khirnova
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
Vittorio Giovara
4c160fa239
dcadec: Always initialize return variable
...
Silence an uninitialized warning from clang.
2015-10-04 13:06:27 +02:00
Hendrik Leppkes
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
Alexandra Khirnova
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
Ganesh Ajjanagadde
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
Hendrik Leppkes
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
Hendrik Leppkes
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
Alexandra Hájková
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
Alexandra Hájková
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
Hendrik Leppkes
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
Vittorio Giovara
dc70c19476
lavc: Drop deprecated request_channels related functions
...
Deprecated in 04/2011.
2015-08-28 16:01:16 +02:00
Michael Niedermayer
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
Michael Niedermayer
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
Vittorio Giovara
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
Vittorio Giovara
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
James Almer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
a9bf628bfd
avcodec/dcadec: Check subsubframes
...
Fixes: CID1239152
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 21:29:19 +02:00
Michael Niedermayer
a6a45774d0
avcodec/dcadec: Check nchans
...
Fixes CID1239110
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-14 20:55:59 +02:00
Michael Niedermayer
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
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
Carl Eugen Hoyos
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
Michael Niedermayer
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
Michael Niedermayer
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