Rostislav Pehlivanov
c51301db14
dcaenc: move all tables inside context and fix incorrect coding style
...
Functionally identical to the old code, with less lines wasted.
Partially fixes the complete disregard for the 80 col/line guide.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-13 18:37:54 +00:00
Daniil Cherednik
ec6e389c75
avcodec/dcaenc: Use ffmpeg mdct instead of own implementation
...
Signed-off-by: Daniil Cherednik <dan.cherednik@gmail.com>
2018-01-13 18:13:58 +00:00
Rostislav Pehlivanov
56e11ebf55
dcaenc: cleanup on init failure and add a threadsafe init codec cap
...
The encoder didn't clean up if a malloc failed during init.
It also doesn't need any external tables to be initialized on init.
Finally, it didn't need to check for whether avctx->priv_data exists during
uninit.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-13 18:06:59 +00:00
Carl Eugen Hoyos
724cf83f10
Remove some unneeded casts of bit_rate.
2017-09-22 01:33:22 +02:00
Daniil Cherednik
9c4e69b8ea
avcodec/dcaenc: Do not abort process in case of bitrate deficit
...
Old behaviour - abort if at least one subband has 1bit quantizer
and consumed_bits still greater than frame_bits size. It was
a bit strange - we still could reduce bits consumption by reducing
SNR for other subbands. Same strange logic with upper threshold -
stop bits allocation if at least one subband reach 26bits.
New behaviour - if consumed_bits greater than frame_bits and all
subbands has 1 bit quantizer we restart bits allocation and allow
zero subbands.
2017-05-16 11:22:07 +01:00
Daniil Cherednik
b8c2b9c392
avcodec/dcaenc: Initial implementation of ADPCM encoding for DCA encoder
2017-05-08 05:56:14 +01:00
Daniil Cherednik
9a619bef54
dcaenc: Use Huffman codes for Bit Allocation Index
...
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-01-20 10:03:46 +00:00
Daniil Cherednik
c2500d62c6
dcaenc: Implementation of Huffman codes for DCA encoder
...
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-01-15 18:17:12 +00:00
Daniil Cherednik
a6191d098a
dcaenc: Reverse data layout to prevent data copies during Huffman encoding introduction
...
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-01-15 18:16:31 +00:00
foo86
b286ff69c0
avcodec/dcaenc: move channel reordering tables to dcaenc.h
...
DCA core decoder no longer uses fixed tables for channel reordering.
Move them into private encoder header (and drop ff_dca_ prefix).
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-01 00:13:41 -03:00
foo86
de28e73cce
avcodec/dcaenc: reuse shared quant levels table
...
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-01 00:13:37 -03:00
Ganesh Ajjanagadde
db1a642cd2
all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.h
...
The idea is to use ffmath.h for internal implementations of math functions.
Currently, it is used for variants of libm functions, but is by no means
limited to such things.
Note that this is not exported; use lavu/mathematics for such purposes.
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
2016-03-22 10:15:31 -07:00
Paul B Mahol
5dc37a5d8a
avcodec/dcaenc: do not change user requested bitrate
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-25 17:10:49 +01:00
Paul B Mahol
06f65fd026
avcodec/dcaenc: return correct number of bytes in output packet
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-25 17:10:49 +01:00
Ganesh Ajjanagadde
717eeb77e1
lavc/dcaenc: replace pow(10,x) by ff_exp10(x)
...
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-25 10:48:18 -08:00
Ganesh Ajjanagadde
df679f1264
lavc/dcaenc: avoid wasteful cos calls
...
cos has symmetry; use this.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-11 10:22:09 -05:00
Paul B Mahol
32e1af77ec
avcodec/dcaenc: fix lfe fir coefficients
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-17 21:16:26 +00:00
Paul B Mahol
d4a9e6c1a1
avcodec/dcaenc: unbreak >4 channel support
...
LFE channel is still broken, search for FIXME.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-17 19:20:40 +00:00
Michael Niedermayer
7404f3bdb9
lavc: Switch bitrate to 64bit unless compatibility with avconv was requested.
2015-09-15 18:02:43 +02:00
Michael Niedermayer
e322b7061f
avcodec/dcaenc: clear bitstream end
...
This avoids leaving uninitialized bits in the output
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-04 04:16:43 +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
e36db49b7b
avcodec: Add a min size parameter to ff_alloc_packet2()
...
This parameter can be used to inform the allocation code about how much
downsizing might occur, and can be used to optimize how to allocate the
packet
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 19:57:52 +02:00
James Almer
b5564e041b
dcaenc: use put_sbits()
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-18 14:14:11 -03: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
Michael Niedermayer
ad0be70382
avcodec/dcaenc: rename DCA_SUBBANDS
...
Fixes "warning: DCA_SUBBANDS redefined"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:13:28 +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
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
efc4439c89
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
put_bits: Remove unused includes
Conflicts:
libavcodec/put_bits.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-04 15:09:58 +01:00
Clément Bœsch
b46f19100b
cosmetics: group remaining .name and .long_name.
...
See b2bed9325
.
2013-10-04 13:33:20 +00:00
Paul B Mahol
30579b7ef0
dcaenc: silence address sanitizer warning
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 11:41:00 +00:00
Paul B Mahol
e1ba5fc968
dcaenc: update
...
Long story short: previous code was useless and was port of older
dcaenc, this commit just "sync" with current dcaenc, hopefuly
making this encoder more useful.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 14:21:00 +00:00
James Zern
bcaf64b605
normalize calls to ff_alloc_packet2
...
- check ret < 0
- remove excessive error log
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-06 22:11:46 +01:00
Paul B Mahol
6f465c6219
dcaenc: remove unused header
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Paul B Mahol
1acd2f6ba7
Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
...
Also remove it in once case when it is not needed.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Michael Niedermayer
7a72695c05
Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
...
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
Replace all CODEC_ID_* with AV_CODEC_ID_*
lavc: add AV prefix to codec ids.
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
ffprobe.c
ffserver.c
libavcodec/8svx.c
libavcodec/avcodec.h
libavcodec/dnxhd_parser.c
libavcodec/dvdsubdec.c
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/libvorbisenc.c
libavcodec/mjpeg_parser.c
libavcodec/mjpegenc.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/pcm.c
libavcodec/r210dec.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/version.h
libavdevice/alsa-audio-dec.c
libavdevice/bktr.c
libavdevice/v4l2.c
libavformat/asfdec.c
libavformat/asfenc.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/caf.c
libavformat/electronicarts.c
libavformat/flacdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/framecrcenc.c
libavformat/img2.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/matroska.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/mp3dec.c
libavformat/mpeg.c
libavformat/mpegts.c
libavformat/mxf.c
libavformat/mxfdec.c
libavformat/mxfenc.c
libavformat/nsvdec.c
libavformat/nut.c
libavformat/oggenc.c
libavformat/pmpdec.c
libavformat/rawdec.c
libavformat/rawenc.c
libavformat/riff.c
libavformat/sdp.c
libavformat/utils.c
libavformat/vocenc.c
libavformat/wtv.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Michael Niedermayer
ec7ecb8811
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dca: Switch dca_sample_rates to avpriv_ prefix; it is used across libs
ARM: use =const syntax instead of explicit literal pools
ARM: use standard syntax for all LDRD/STRD instructions
fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64.
dct-test: allow to compile without HAVE_INLINE_ASM.
x86/dsputilenc: bury inline asm under HAVE_INLINE_ASM.
dca: Move tables used outside of dcadec.c to a separate file.
dca: Rename dca.c ---> dcadec.c
x86: h264dsp: Remove unused variable ff_pb_3_1
apetag: change a forgotten return to return 0
Conflicts:
libavcodec/Makefile
libavcodec/dca.c
libavcodec/x86/fft_3dn.c
libavcodec/x86/fft_3dn2.c
libavcodec/x86/fft_mmx.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 23:33:06 +02:00
Paul B Mahol
f06269dda5
cosmetics: align more codecs declarations
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-12 20:47:38 +00:00
Michael Niedermayer
940be96540
dcaenc: fix out of array read
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-11 03:33:59 +02:00
Reimar Döffinger
4395c058d2
dcaenc: Allow encoding without specifying a channel_layout.
...
It will print a warning, making the behaviour consistent
with the AC3 encoder.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-07 16:35:28 +02:00
Paul B Mahol
b1a0d694ea
dcaenc: switch to encode2()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 20:44:24 +01:00
Paul B Mahol
85cd1eb12f
add missing long_name for amv and dca encoder
...
Reviewed-by: Carl Eugen Hoyos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 05:02:00 +01:00
Clément Bœsch
bde8055963
dcaenc: small quantization simplification.
2011-06-18 11:36:35 +02:00
Alexander E. Patrakov
d439ba15fd
DCA/DTA encoder
2011-04-26 22:06:13 +02:00