summaryrefslogtreecommitdiffstats
path: root/libavcodec/flacenc.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/flacenc: Fix prediction_order parameterMichael Niedermayer2016-01-311-2/+4
| | | | | | Fixes regression Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* flacenc: Restore defaults and range for {min,max}_prediction_orderDerek Buitenhuis2016-01-311-2/+2
| | | | | | This was broken in 243df1351d2d928caa084a5704ed783f0b83f072. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Merge commit '243df1351d2d928caa084a5704ed783f0b83f072'Derek Buitenhuis2016-01-311-6/+27
|\ | | | | | | | | | | | | * commit '243df1351d2d928caa084a5704ed783f0b83f072': lavc: Move {min,max}_prediction_order to codec private options Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavc: Move {min,max}_prediction_order to codec private optionsVittorio Giovara2016-01-211-6/+27
| | | | | | | | | | | | | | These options are only used by alac and flac. They are very codec-specific options, so deprecate the global variants. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avcodec/flacenc: fix calculation of bits required in case of custom sample ratePaul B Mahol2016-01-241-1/+1
| | | | | | | | | | | | | | | | Sample rate of 11025 takes 16 bits but previous code would pick only 8. Fixes assertion failure. Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/flacenc: use designated initializers for AVClassPaul B Mahol2015-12-201-4/+4
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec: use AV_OPT_TYPE_BOOL in a bunch of placesClément Bœsch2015-12-041-2/+2
| |
* | Merge commit '79d89cf2f4b62eeb653fd8139041c87e75f7ca65'Derek Buitenhuis2015-11-221-6/+8
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '79d89cf2f4b62eeb653fd8139041c87e75f7ca65': flacenc: Clamp user-supplied min/max prediction orders Conflicts: libavcodec/flacenc.c Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * flacenc: Clamp user-supplied min/max prediction ordersVittorio Giovara2015-11-161-6/+8
| | | | | | | | | | | | This mimics what the code does internally for default order values. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | intmath: remove av_ctz.Ronald S. Bultje2015-10-111-1/+1
| | | | | | | | | | It's a non-installed header and only used in one place (flacenc). Since ff_ctz is static inline, it's fine to use that instead.
* | Merge commit '6064f697a321174232a3fad351afb21150c3e9e5'Hendrik Leppkes2015-09-121-0/+6
|\ \ | |/ | | | | | | | | | | * commit '6064f697a321174232a3fad351afb21150c3e9e5': lavc: Enable side data only packets by default Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: Enable side data only packets by defaultVittorio Giovara2015-09-121-0/+6
| | | | | | | | | | | | | | | | | | Deprecate the now unused option, but temporarily retain the capability to disable the now default behaviour. Mention this change in the AVPacket documentation. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-271-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-271-1/+1
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avcodec: Add a min size parameter to ff_alloc_packet2()Michael Niedermayer2015-07-271-1/+1
| | | | | | | | | | | | | | | | 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>
* | avcodec/flacenc: Fix Invalid Rice orderGeorge Boyle2015-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes ticket #4628. The problem arose, in the sample file at least, in the last block where the minimum and maximum Rice partition orders were both 0. In that case, and any other where pmax == pmin, the original UINT32_MAX placeholder value for bits[opt_porder] was getting overwritten before the comparison to check if the current partition order is a new optimal, so the correct partition order and RiceContext params were not being set. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Simplify sizeof()Michael Niedermayer2015-06-021-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Support Multi dimensional quantizationMichael Niedermayer2015-05-201-0/+45
| | | | | | | | | | | | Now with exact bit computations if exact_rice_parameters is enabled Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Mark pointers/array arguments const which are not changedMichael Niedermayer2015-05-191-5/+5
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Simplify md5 calculation code by using AV_WL24()Michael Niedermayer2015-05-191-3/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Move udata and sums to FlacSubframeMichael Niedermayer2015-05-191-9/+12
| | | | | | | | | | | | | | | | This significantly reduces the amount of stack space needed and also permits to simply copy the rice context again without speed penalty Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Support calculating rice parameters exactlyMichael Niedermayer2015-05-191-27/+62
| | | | | | | | | | | | | | Some files benefit by about 0.3% from this, and speedwise its ok other files do not benefit and encode to the same size Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/flacenc: Do not copy unused udata array -> 5x faster calc_rice_params()Michael Niedermayer2015-05-191-1/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/flac: Fix encoding and decoding with high lpc.Carl Eugen Hoyos2015-05-171-5/+22
| | | | | | | | | | | | Based on an analysis by trac user lvqcl. Fixes ticket #4421, reported by Chase Walker.
* | Merge commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b'Michael Niedermayer2015-04-291-5/+3
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'f5ba67ee1342b7741200ff637fc3ea3387b68a1b': flacenc: Move a scratch buffer to struct used by the function Conflicts: libavcodec/flacenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacenc: Move a scratch buffer to struct used by the functionVittorio Giovara2015-04-281-5/+3
| | | | | | | | | | This avoids allocating/freeing memory at every function call, checking its return value, and carrying the error around.
| * flacenc: initialize sums matrixVittorio Giovara2015-01-291-1/+1
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 703821
* | avcodec/flacenc: also count wasted bits in subframe_count_exact()Michael Niedermayer2015-04-201-0/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | flacenc: calculate lower sum levels in-place.Reimar Döffinger2014-12-171-15/+19
| | | | | | | | | | | | | | | | Should improve cache usage and reduces stack usage. Also reduces number of copies in case many levels have the same number of bits. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | x86/flacdsp: add SSE2 and AVX decorrelate functionsJames Almer2014-11-131-1/+1
| | | | | | | | Two to four times faster depending on instruction set, block size and channel count.
* | lavc/flacenc: partially unroll loop in flac_enc_lpc_16James Darnley2014-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It now does 12 samples per iteration, up from 4. From 1.8 to 3.2 times faster again. 3.6 to 5.7 times faster overall. Runtime is reduced by a further 2 to 18%. Overall runtime reduced by 4 to 50%. Same conditions as before apply. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/flacenc: add sse4 version of the 16-bit lpc encoderJames Darnley2014-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | From 1.8 to 2.4 times faster. Runtime is reduced by 2 to 39%. The speed-up generally increases with compression_level. This lpc encoder is not used with levels < 3 so it provides no speed-up in these cases. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c67b449bebbe0b35c73b203683e77a0a649bc765'Michael Niedermayer2014-06-231-5/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c67b449bebbe0b35c73b203683e77a0a649bc765': dsputil: Split bswap*_buf() off into a separate context Conflicts: configure libavcodec/4xm.c libavcodec/ac3dec.c libavcodec/ac3dec.h libavcodec/apedec.c libavcodec/eamad.c libavcodec/flacenc.c libavcodec/fraps.c libavcodec/huffyuv.c libavcodec/huffyuvdec.c libavcodec/motionpixels.c libavcodec/truemotion2.c libavcodec/x86/Makefile libavcodec/x86/dsputil_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Split bswap*_buf() off into a separate contextDiego Biurrun2014-06-221-5/+5
| |
* | Merge commit 'ed39cda02923316b6710c1bcc34d3445370be5b4'Michael Niedermayer2014-06-011-0/+20
|\ \ | |/ | | | | | | | | | | * commit 'ed39cda02923316b6710c1bcc34d3445370be5b4': flacenc: send final extradata in packet side data Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacenc: send final extradata in packet side dataAnton Khirnov2014-06-011-0/+20
| |
* | avcodec/flacenc: Use av_malloc_array()Michael Niedermayer2014-04-301-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'Michael Niedermayer2013-10-041-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-031-1/+1
| |
* | Merge commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7'Michael Niedermayer2013-05-041-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7': silly typo fixes Conflicts: doc/protocols.texi libavcodec/aacpsy.c libavformat/utils.c tools/patcheck Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * silly typo fixesDiego Biurrun2013-05-031-1/+1
| |
* | Merge commit '0f24a3ca999a702f83af9307f9f47b6fdeb546a5'Michael Niedermayer2013-03-121-9/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '0f24a3ca999a702f83af9307f9f47b6fdeb546a5': lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft Conflicts: libavcodec/flacenc.c libavcodec/libgsm.c libavcodec/utils.c libavcodec/version.h The compatibility wrapers are left as they likely sre still in wide use. They will be removed when they break or otherwise cause work without an volunteer being available. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruftAnton Khirnov2013-03-091-9/+0
| |
* | normalize calls to ff_alloc_packet2James Zern2013-03-061-1/+1
| | | | | | | | | | | | | | - check ret < 0 - remove excessive error log Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | flacenc: include correct headerPaul B Mahol2013-01-231-1/+1
| | | | | | | | | | | | Encoder needs put_bits.h, not get_bits.h Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | lavc/flacenc: improve error return.Nicolas George2012-12-311-10/+14
| | | | | | | | Use meaningful error codes and add log messages.
* | Merge commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333'Michael Niedermayer2012-12-071-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333': h264: check sps.log2_max_frame_num for validity mov: validate number of DataReferenceBox entries against box size mov: compute avg_frame_rate only if duration is known flac: change minimum and default of lpc_passes option to 1 Conflicts: libavcodec/h264_ps.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flac: change minimum and default of lpc_passes option to 1Janne Grunau2012-12-071-1/+1
| | | | | | | | | | | | Avoid use of uninitialized and uncomputed linear least square models during ff_lpc_calc_coefs() for FF_LPC_TYPE_CHOLESKY. Fixes running make fate-flac-16-lpc-cholesk with valgrind --undef-value-errors=yes.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-091-3/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: flacenc: ensure the order is within the min/max range in LPC order search avconv: rescale packet duration to muxer time base when flushing encoders add 24-bit FLAC encoding to Changelog rtpenc_aac: Fix calculation of the header size x86: h264_intrapred: port to cpuflags Conflicts: Changelog libavformat/rtpenc_aac.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flacenc: ensure the order is within the min/max range in LPC order searchJustin Ruggles2012-11-081-3/+5
| | | | | | | | | | | | This fixes use of uninitialized values when the FLAC encoder uses the 2-level, 4-level, and 8-level search methods. Fixes failure of the fate-flac-24-comp-8 test when run using valgrind.
OpenPOWER on IntegriCloud