summaryrefslogtreecommitdiff
path: root/libavcodec/cookdata.h
Commit message (Collapse)AuthorAge
* avcodec/cook: Avoid big length tables for VLC initializationAndreas Rheinhardt2020-12-08
| | | | | | | | | | Permuting the tables used to initialize the Cook VLCs so that the code tables are ordered from left to right in the tree revealed that the length of the codes are ascending from left to right. Therefore one can run-length encode them to avoid the big length tables; this saves a bit more than 1KB. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/cook: Make tables to initialize VLCs smallerAndreas Rheinhardt2020-12-08
| | | | | | | | | | | | | | | | | | Up until now, the Cook decoder used tables for the lengths of codes and tables of the codes itself to initialize VLCs; the tables for the codes were of type uint16_t because the codes were so long. It did not use explicit symbol tables. This commit instead reorders the tables so that the code tables are sorted from left to right in the tree. Then the codes can be easily derived from the lengths and therefore be omitted. This comes at the price of explicitly coding the symbols, but this is nevertheless a net win because most of the symbols tables can be coded on one byte. Furthermore, Cook actually does not use a contiguous range of symbols for its main VLC tables and the old code compensated for that by adding holes (codes of length zero) to the tables (that are skipped by ff_init_vlc_sparse()). This is no longer necessary with the new approach. All in all, this saves about 1.7KB. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* Merge commit '90adbf4abf336f8042aecdf1e18fdf76a96304b1'James Almer2019-02-20
|\ | | | | | | | | | | | | * commit '90adbf4abf336f8042aecdf1e18fdf76a96304b1': cook: Use the correct table for 6-bit stereo coupling Merged-by: James Almer <jamrial@gmail.com>
| * cook: Use the correct table for 6-bit stereo couplingLuca Barbato2019-01-17
| | | | | | | | Thanks to Kostya for digging it out and telling me.
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: cook: expand dither_tab[], and make sure indexes into it don't overflow. xxan: reindent xan_unpack_luma(). xxan: protect against chroma LUT overreads. xxan: convert to bytestream2 API. xxan: don't read before start of buffer in av_memcpy_backptr(). vp8: convert mbedge loopfilter x86 assembly to use named arguments. vp8: convert inner loopfilter x86 assembly to use named arguments. Conflicts: libavcodec/xxan.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cook: expand dither_tab[], and make sure indexes into it don't overflow.Ronald S. Bultje2012-03-10
| | | | | | | | | | | | | | Fixes overflows in accessing dither_tab[]. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (29 commits) sbrdsp.asm: convert all instructions to float/SSE ones. dv: cosmetics. dv: check buffer size before reading profile. Revert "AAC SBR: group some writes." udp: Print an error message if bind fails cook: extend channel uncoupling tables so the full bit range is covered. roqvideo: cosmetics. roqvideo: convert to bytestream2 API. dca: don't use av_clip_uintp2(). wmall: fix build with -DDEBUG enabled. smc: port to bytestream2 API. AAC SBR: group some writes. dsputil: remove shift parameter from scalarproduct_int16 SBR DSP: unroll sum_square rv34: remove dead code in intra availability check rv34: clean a bit availability checks. v4l2: update documentation tgq: convert to bytestream2 API. parser: remove forward declaration of MpegEncContext dca: prevent accessing static arrays with invalid indexes. ... Conflicts: doc/indevs.texi libavcodec/Makefile libavcodec/dca.c libavcodec/dvdata.c libavcodec/eatgq.c libavcodec/mmvideo.c libavcodec/roqvideodec.c libavcodec/smc.c libswscale/output.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cook: extend channel uncoupling tables so the full bit range is covered.Ronald S. Bultje2012-03-07
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use full internal pathname in doxygen @file directives.Diego Biurrun2009-02-01
| | | | | | | Otherwise doxygen complains about ambiguous filenames when files exist under the same name in different subdirectories. Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Globally rename the header inclusion guard names.Stefano Sabatini2008-08-31
| | | | | | | | | Consistently apply this rule: the guard name is obtained from the filename by stripping the leading "lib", converting '/' and '.' to '_' and uppercasing the resulting name. Guard names in the root directory have to be prefixed by "FFMPEG_". Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
* mark read-only data as constStefan Gehrer2008-06-24
| | | | Originally committed as revision 13947 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove useless variable since r8456.Ramiro Polla2008-03-18
| | | | Originally committed as revision 12493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add FFMPEG_ prefix to all multiple inclusion guards.Diego Biurrun2007-10-17
| | | | Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
* license header consistency cosmeticsDiego Biurrun2007-07-05
| | | | Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add a comment to indicate which #endif belong to which #defineGuillaume Poirier2007-06-17
| | | | Originally committed as revision 9356 to svn://svn.ffmpeg.org/ffmpeg/trunk
* add multiple inclusion guards to headersMåns Rullgård2007-06-17
| | | | Originally committed as revision 9345 to svn://svn.ffmpeg.org/ffmpeg/trunk
* include all prerequisites in header filesMåns Rullgård2007-06-16
| | | | Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change license headers to say 'FFmpeg' instead of 'this program/this library'Diego Biurrun2006-10-07
| | | | | | and fix GPL/LGPL version mismatches. Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Update licensing information: The FSF changed postal address.Diego Biurrun2006-01-12
| | | | Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cook compatibe decoder, patch by Benjamin LarssonBenjamin Larsson2005-12-09
Add cook demucing, change rm demuxer so that it reorders audio packets before sending them to the decoder, and send minimum decodeable sized packets; pass only real codec extradata fo the decoder Fix 28_8 decoder for the new demuxer strategy Originally committed as revision 4726 to svn://svn.ffmpeg.org/ffmpeg/trunk