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
Michael Niedermayer
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
Niels Möller
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
Michael Niedermayer
87db7e7772
Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'
...
* commit '25f613f8be3b51e4396b93cda131e4631ba54302':
dca: Move syncword definitions to a separate header
Conflicts:
libavcodec/dca_parser.c
libavformat/dtsdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:28:53 +01:00
Diego Biurrun
25f613f8be
dca: Move syncword definitions to a separate header
2015-03-04 13:29:33 +01:00
Michael Niedermayer
588361dd26
avcodec/dca: move remaining tables to dcadata
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 11:11:33 +01:00
Michael Niedermayer
d2668ae472
Merge commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86'
...
* commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86':
dca: Remove separate header for DCA ExSS
Conflicts:
libavcodec/dca.h
libavcodec/dca_exss.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:18:19 +01:00
Diego Biurrun
f8c1719771
dca: Remove separate header for DCA ExSS
...
There is no point in having a separate header for a single declaration.
2015-02-16 10:44:56 +01:00
Michael Niedermayer
815daf1607
Merge commit '3a651f599a18b023602370b67a77eb0efa309b20'
...
* commit '3a651f599a18b023602370b67a77eb0efa309b20':
dca: Move data tables from a header to an object file
Conflicts:
libavcodec/Makefile
libavcodec/dcadata.h
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:49:22 +01:00
Diego Biurrun
3a651f599a
dca: Move data tables from a header to an object file
...
This allows sharing them with the DCA XLL extension w/o duplication.
2015-02-15 13:34:04 -08:00
Michael Niedermayer
8123e19e61
avcodec/dcadec: Move remaining tables to dcadata.h
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 11:35:40 +01:00
Michael Niedermayer
d2223ec2bd
Merge commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664'
...
* commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664':
dca: Move all tables into dcadata.h
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:40:35 +01:00
Michael Niedermayer
6c44dd6c6e
Merge commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3'
...
* commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3':
dca: Remove trace debugging code
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:32:23 +01:00
Michael Niedermayer
d8901c2f01
Merge commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0'
...
* commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0':
dca: Split code for handling the EXSS extension off into a separate file
Conflicts:
libavcodec/Makefile
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:02:41 +01:00
Michael Niedermayer
a94eba6f0c
Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'
...
* commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0':
avcodec: Don't anonymously typedef structs
Conflicts:
libavcodec/alac.c
libavcodec/cinepak.c
libavcodec/cscd.c
libavcodec/dcadec.c
libavcodec/g723_1.c
libavcodec/gif.c
libavcodec/iff.c
libavcodec/kgv1dec.c
libavcodec/libopenjpegenc.c
libavcodec/libspeexenc.c
libavcodec/ra288.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:18:17 +01:00
Diego Biurrun
2a9c6fae92
dca: Move all tables into dcadata.h
2015-02-14 10:13:49 -08:00
Diego Biurrun
8a213179af
dca: Remove trace debugging code
2015-02-14 10:13:49 -08:00
Diego Biurrun
b339019de4
dca: Split code for handling the EXSS extension off into a separate file
2015-02-14 10:13:49 -08:00
Diego Biurrun
7f9f771eac
avcodec: Don't anonymously typedef structs
2015-02-14 10:13:49 -08:00
Michael Niedermayer
7d593495e4
avcodec/dcadec: Check that the added xch channel isnt already there
...
Fixes null pointer dereference
Fixes: signal_sigsegv_369609d_623_cov_2008234281_ES_6.1_16bit.dts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 15:33:59 +01:00
Michael Niedermayer
b054054c9b
avcodec/dcadec: Use avpriv_float_dsp_alloc()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 22:46:08 +01:00
Michael Niedermayer
785f71fcd5
Merge commit 'd5d2d6c3b8cff61eb26c18bbd977881cf6d5524a'
...
* commit 'd5d2d6c3b8cff61eb26c18bbd977881cf6d5524a':
dcadec: initialize variables before use
Conflicts:
libavcodec/dcadec.c
See: 53918a1c54
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-13 14:21:18 +01:00
Vittorio Giovara
d5d2d6c3b8
dcadec: initialize variables before use
...
CC: libav-stable@libav.org
Bug-Id: CID 700751 / CID 700752
2014-11-13 01:41:26 +01:00
Michael Niedermayer
950ce21d4a
Merge commit '103391ca90b2f7c56ae756d76c76f7c3dfa28dd4'
...
* commit '103391ca90b2f7c56ae756d76c76f7c3dfa28dd4':
dca: Remove some commented-out cruft
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 11:51:34 +02:00
Diego Biurrun
103391ca90
dca: Remove some commented-out cruft
2014-09-20 13:49:52 +02:00
Michael Niedermayer
7d43fbe3ae
Merge commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce'
...
* commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce':
dca: K&R formatting cosmetics
Conflicts:
libavcodec/dca_parser.c
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 20:31:02 +02:00
Gabriel Dume
45ff7c93dd
dca: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-16 04:42:32 -07:00
Michael Niedermayer
7a34b7d80f
avcodec/dca: Make ff_dca_convert_bitstream() available to libavformat, needed for dts_probe()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 22:28:35 +02:00
Michael Niedermayer
a740cae4a0
avcodec/dcadec: remove unsignedness from constant
...
POSIX gurantees >=32bit so it all fits in signed int
Also >=32bit ints are assumed througout the codebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 13:46:51 +02:00
Michael Niedermayer
118d84b7e9
Merge commit 'f2ce63246f5c934429f9cb857a794e07624d7912'
...
* commit 'f2ce63246f5c934429f9cb857a794e07624d7912':
dcadec: replace ldexpf with a multiplication by a constant
Conflicts:
libavcodec/dcadec.c
See: 6da06ef6bb
See: 9ccb5455ca
See: 6b88f22e89
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 13:06:09 +02:00
Niels Möller
f2ce63246f
dcadec: replace ldexpf with a multiplication by a constant
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-18 08:23:15 +02:00
Michael Niedermayer
98ff07d1c6
avcodec/dcadec: Check dca_dmixtable index
...
Found-by: Niels Möller <nisse@lysator.liu.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 22:13:39 +02:00
Michael Niedermayer
47313bbb5f
avcodec/dcadec: remove fishy FFMAX()
...
These where intended to maintain the previous behavior before dca_dmix_code()
but it is unclear (to me) which way is correct and no sample seem to trigger
the case, also they are incomplete for the purprose of error checking
Found-by: Niels Möller <nisse@lysator.liu.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 22:11:03 +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
6b88f22e89
avcodec/dcadec: dont use hex float, msvc doesnt support it
...
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:39:14 +02:00
Michael Niedermayer
9ccb5455ca
avcodec/dcadec: use a constant instead of assuming every compiler can optimize pow(2,-15)
...
Idea-by: nevcairiel and wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:19:11 +02:00
Michael Niedermayer
6da06ef6bb
avcodec/dcadec: make dca_dmix_code() 650% faster
...
This effectively replaces the ldexpf() function call by a multiplication
with a constant.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:08:41 +02:00
Michael Niedermayer
4e4dbb9983
dcadec: fix xxch_dmix_coeff and xxch_dmix_sf after merge
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:39:21 +02:00
Michael Niedermayer
c867be03f6
Merge commit '6b7b8585d73548f08b98959df39d80b97677662f'
...
* commit '6b7b8585d73548f08b98959df39d80b97677662f':
dca: Convert dca_dmixtable to integers
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 19:01:12 +02:00
Niels Möller
6b7b8585d7
dca: Convert dca_dmixtable to integers
...
Also include zero in the table, eliminating a special case in the
decoder.
Signed-off-by: Niels Möller <nisse@southpole.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-23 15:07:05 +02:00
Michael Niedermayer
62a9725bc9
avcodec/dcadec: add an assert to silence a uninitialized variable warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:48:41 +02:00
Michael Niedermayer
7e79d72c28
avcodec/dcadec: remove always true if()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-08 16:47:20 +02:00
Michael Niedermayer
f202af29c9
avcodec/dcadec: fix error message suppression code
...
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:24:12 +02:00
Michael Niedermayer
9468e9e5a2
Merge commit 'b3d905b702dcdda9e3ae2bcb7b5580ca77a96ab7'
...
* commit 'b3d905b702dcdda9e3ae2bcb7b5580ca77a96ab7':
dcadec: Delete redundant init_get_bits call
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 14:44:58 +02:00
Niels Möller
b3d905b702
dcadec: Delete redundant init_get_bits call
...
No initialization is needed in dca_decode_frame, because the next
thing it does is calling dca_parse_frame_header, which takes care of
the needed initialization.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-14 11:56:26 +02:00
Michael Niedermayer
a676e48d39
Merge commit '801c39e1e3058fc4ba822bfb5d8612d777111e32'
...
* commit '801c39e1e3058fc4ba822bfb5d8612d777111e32':
dcadec: Use correct channel count in stereo downmix check
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:23:56 +02:00
Michael Niedermayer
952614b899
Merge commit 'c8cf461c19e8e35df4b7364d9b90aa42f1ab4560'
...
* commit 'c8cf461c19e8e35df4b7364d9b90aa42f1ab4560':
dcadec: Do not decode the XCh extension when downmixing to stereo
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:07:27 +02:00
Tim Walker
801c39e1e3
dcadec: Use correct channel count in stereo downmix check
...
s->prim_channels is greater than num_core_channels
when an XCh extension is present in the bitstream.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 23:05:37 +02:00
Tim Walker
c8cf461c19
dcadec: Do not decode the XCh extension when downmixing to stereo
...
This is neither necessary nor currently supported.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-12 23:05:07 +02:00
Andreas Cadhalpun
eeb3baf7f7
Fix spelling error 'Inconsistant -> Inconsistent'
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-06 20:44:45 +01:00
Michael Niedermayer
fb3c33f3cd
Merge commit '4cb6964244fd6c099383d8b7e99731e72cc844b9'
...
* commit '4cb6964244fd6c099383d8b7e99731e72cc844b9':
dcadec: simplify decoding of VQ high frequencies
Conflicts:
configure
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:41:19 +01:00
Michael Niedermayer
ffb7d7195b
avcodec/dcadec: use brackets to ensure that no slow division is used
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:32:24 +01:00
Michael Niedermayer
747b0337e7
Merge commit '7686afd049be98d18663682b92d983340fa2c305'
...
* commit '7686afd049be98d18663682b92d983340fa2c305':
dca: factorize scaling in inverse ADPCM
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 21:32:14 +01:00
Michael Niedermayer
90f674d55b
Merge commit '87ec849fe9acba075c843e67bcd01f256f481a18'
...
* commit '87ec849fe9acba075c843e67bcd01f256f481a18':
dcadec: remove scaling in lfe_interpolation_fir
Conflicts:
libavcodec/dcadec.c
libavcodec/dcadsp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-28 18:14:12 +01:00
Christophe Gisquet
4cb6964244
dcadec: simplify decoding of VQ high frequencies
...
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.
Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.
The decode_hf implementations have following timings:
For x86 Arrandale:
C SSE SSE2 SSE4
win32: 260 162 119 104
win64: 242 N/A 89 72
The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
2014-02-28 13:03:22 +01:00
Janne Grunau
7686afd049
dca: factorize scaling in inverse ADPCM
...
Based on a patch from Christophe Gisquet.
Unrolling of the m == 0 case avoids a possible use of the uninitilized
value sum when s->predictor_history is not set. I failed to find a
sample for it. It also reduced the cycle count from 220 to 150 on
sandy bridge, x86_64 linux, gcc 4.8.2 compared to his patch.
2014-02-28 13:00:48 +01:00
Christophe Gisquet
87ec849fe9
dcadec: remove scaling in lfe_interpolation_fir
...
The scaling factor is constant so it is faster to scale the
FIR coefficients in the tables during compilation.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-28 13:00:47 +01:00
Christophe Gisquet
ef010f08ae
dca: replace some memcpy by AV_COPY128
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-20 14:16:43 +01:00
Christophe Gisquet
5a48caa34b
dca: replace some memcpy by AV_COPY128
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-15 19:03:10 +01:00
Christophe Gisquet
45854df9a5
dcadsp: split lfe_dir cases
...
The x86 runs short on registers because numerous elements are not static.
In addition, splitting them allows more optimized code, at least for x86.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 02:04:12 +01:00
Michael Niedermayer
82ae8a44e6
Merge commit '5b59a9fc6152169599561f04b4f66370edda5c9c'
...
* commit '5b59a9fc6152169599561f04b4f66370edda5c9c':
x86: dcadsp: implement int8x8_fmul_int32
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 01:20:33 +01:00
Christophe Gisquet
481a46a462
dcadsp: add int8x8_fmul_int32 to DSP context
...
It is currently declared as a macro who is set to inlinable functions,
among which a Neon and a default C implementations.
Add a DSP parameter to each inline function, unused except by the
default C implementation which calls a function from the DSP context.
On an Arrandale CPU, gain for an inlined SSE2 function vs. a call:
- Win32: 29 to 26 cycles
- Win64: 25 to 23 cycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 00:55:42 +01:00
Christophe Gisquet
5fdbfcb5b7
dcadsp: split lfe_dir cases
...
The x86 runs short on registers because numerous elements are not static.
In addition, splitting them allows more optimized code, at least for x86.
Arm asm changes by Janne Grunau.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-07 22:54:18 +01:00
Christophe Gisquet
5b59a9fc61
x86: dcadsp: implement int8x8_fmul_int32
...
For the callable function (as opposed to the inline one):
C SSE SSE2 SSE4
Win32: 47 42 29 26
Win64: 30 33 25 23
The SSE version is neither compiled nor set for ARCH_X86_64, as the
inlinable function takes over.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-07 22:52:40 +01:00
Christophe Gisquet
2bd44cb705
dcadsp: add int8x8_fmul_int32 to dsp context
...
It is currently declared as a macro who is set to inlinable functions,
among which a Neon and a default C implementations.
Add a DSP parameter to each inline function, unused except by the
default C implementation which calls a function from the DSP context.
On an Arrandale CPU, gain for an inlined SSE2 function vs. a call:
- Win32: 29 to 26 cycles
- Win64: 25 to 23 cycles
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-07 22:51:59 +01:00
Michael Niedermayer
ae01af2475
Merge commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7'
...
* commit '30d70e79a6b4ac7f4eb66446a9da275161ef6ea7':
dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:34:21 +01:00
Michael Niedermayer
bc7f76377c
Merge commit '6bfdb2de881372048be7fbda643417e1fd3ce93c'
...
* commit '6bfdb2de881372048be7fbda643417e1fd3ce93c':
dcadec: set the output channel mode more accurately.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:27:34 +01:00
Tim Walker
30d70e79a6
dcadec: set AV_FRAME_DATA_MATRIXENCODING side data.
2014-01-05 16:41:56 +01:00
Tim Walker
6bfdb2de88
dcadec: set the output channel mode more accurately.
...
When downmixing 2.1 to 2-channel, if the 2.0 portion is Lt/Rt, sum-difference or dual mono, the actual output will be the same (with the LFE either mixed-in or discarded).
Also, when downmixing an arbitrary layout to 2-channel, if the bitstream contains custom downmix coefficients targeting Lt/Rt, then the output will be Lt/Rt rather than regular Stereo.
2014-01-05 16:41:56 +01:00
Michael Niedermayer
b6a9719941
dcadec: Decode LFE to avoid adding random data when downmixing with LFE
...
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-06 23:37:05 +01:00
Michael Niedermayer
a3b9f53d7b
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dcadec: Add some logging before returning on error
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 21:09:42 +01:00
Tim Walker
7dc827b709
dcadec: Add some logging before returning on error
...
Based on a patch by Michael Niedermayer.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-11-30 13:01:35 +01:00
Michael Niedermayer
6e7de11444
avcodec/dcadec: decode LFE so we dont just add random data when downmixing with LFE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 14:13:05 +01:00
Michael Niedermayer
d2e46b11e4
avcodec/dcadec: set AV_CLASS_CATEGORY
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:56:37 +01:00
Michael Niedermayer
55bd20a841
avcodec/dcadec: AVClass is const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:56:18 +01:00
Michael Niedermayer
5b3c684147
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dcadec: add disable_xch private option.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:39:52 +01:00
Michael Niedermayer
3f41e57fa8
Merge commit '220494ad0b2e9e980ef703b46b69308236f29be5'
...
* commit '220494ad0b2e9e980ef703b46b69308236f29be5':
dcadec: treat all 2-channel modes as Stereo in dca_downmix.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:21:34 +01:00
Michael Niedermayer
97468463a2
Merge commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48'
...
* commit 'aaa44d0299338e3bc90128816c21dbfab06cdb48':
dca: support mixing LFE in dca_downmix.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 04:00:59 +01:00
Michael Niedermayer
12235a3ed2
avcodec/dcadec: print more details about errors
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:42:03 +01:00
Michael Niedermayer
43ec456320
Merge commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1'
...
* commit '44b17d794aa508ae21f438ae80bfe8aaf4b426e1':
dca: extract core substream's embedded downmix coeffcient codes, if present.
Conflicts:
libavcodec/dcadata.h
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 03:28:15 +01:00
Michael Niedermayer
c122e697fa
Merge commit '27245b4e1bbb7a863341db321b5bdc5792e427d9'
...
* commit '27245b4e1bbb7a863341db321b5bdc5792e427d9':
dca: remove embedded downmix coefficient extraction.
Conflicts:
libavcodec/dcadata.h
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 01:12:02 +01:00
Michael Niedermayer
a7f8817720
Merge commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d'
...
* commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d':
dca: convert dca_default_coeffs to float.
Conflicts:
libavcodec/dcadata.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:32:14 +01:00
Michael Niedermayer
e9a47896a0
Merge commit '25609b63d2e07d26d610f485a22082d32c96c0f5'
...
* commit '25609b63d2e07d26d610f485a22082d32c96c0f5':
dcadec: store the stereo downmix coefficients as float in the DCAContext.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:24:41 +01:00
Michael Niedermayer
cb751a6a96
Merge commit '89de5157b1cbe7807d3ec1d51bd56a75e98c002e'
...
* commit '89de5157b1cbe7807d3ec1d51bd56a75e98c002e':
dcadec: implement request_channel_layout.
Conflicts:
libavcodec/dcadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-29 00:18:42 +01:00
Tim Walker
3c8507a845
dcadec: add disable_xch private option.
...
This supplements the deprecated request_channels-based control of XCh decoding.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
220494ad0b
dcadec: treat all 2-channel modes as Stereo in dca_downmix.
...
The check for (prim_channels > 2) before calling dca_downmix made these
cases unreachable, but now 2.1 layouts will go through the downmix code.
Having dual mono, Lt/Rt and sum-difference layouts print errors when
regular Stereo doesn't seems pointless.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
aaa44d0299
dca: support mixing LFE in dca_downmix.
...
Embedded downmix coefficients can use this.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00
Tim Walker
44b17d794a
dca: extract core substream's embedded downmix coeffcient codes, if present.
...
As per ETSI TS 102 114 V1.4.1 specification.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-28 22:02:53 +01:00