summaryrefslogtreecommitdiff
path: root/libavcodec/utvideo.c
Commit message (Collapse)AuthorAge
* avcodec/utvideo: Move stuff only used by Ut encoder to Ut encoderAndreas Rheinhardt2020-09-26
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/utvideo: Remove unused arrayAndreas Rheinhardt2020-09-26
| | | | | | | Unused since 3594788b713e76449eda0bc9d64b38258c86a594. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/utvideodec: Avoid qsort when creating Huffman tablesAndreas Rheinhardt2020-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ut video format uses Huffman trees which are only implicitly coded in the bitstream: Only the lengths of the codes are coded, the rest has to be inferred by the decoder according to the rule that the longer codes are to the left of shorter codes in the tree and on each level the symbols are descending from left to right. Because longer codes are to the left of shorter codes, one needs to know how many non-leaf nodes there are on each level in order to know the code of the next left-most leaf (which belongs to the highest symbol on that level). The current code does this by sorting the entries to be ascending according to length and (for entries with the same length) ascending according to their symbols. This array is then traversed in reverse order, so that the lowest level is dealt with first, so that the number of non-leaf nodes of the next higher level is known when processing said level. But this can also be calculated without sorting: Simply count how many leaf nodes there are on each level. Then one can calculate the number of non-leaf nodes on each level iteratively from the lowest level upwards: It is just half the number of nodes of the level below. This improves performance: For the sample from ticket #4044 the amount of decicycles for one call to build_huff() decreased from 1055489 to 446310 for Clang 10 and from 1080306 to 535155 for GCC 9. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/utvideo: add support for UQY2Paul B Mahol2016-06-11
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Merge commit '2862b63783b5556f7f3fb2d097629bc6879f833a'Derek Buitenhuis2016-02-03
|\ | | | | | | | | | | | | * commit '2862b63783b5556f7f3fb2d097629bc6879f833a': lavc: Move prediction_method to codec private options Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavc: Move prediction_method to codec private optionsVittorio Giovara2016-01-21
| | | | | | | | | | | | | | | | | | | | This options is only used by huffyuv, ffvhuv, jpegls, mjpeg, mpegvideoenc, png, utvideo. It is a very codec-specific options, so deprecate the global variant. Set proper limits to the maximum allowed values, and update utvideoenc tests to use the new option name. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: fate: Add FATE tests for the Ut Video encoder lavc: add Ut Video encoder mpegvideo_enc: remove stray duplicate line from 7f9aaa4 swscale: x86: fix #endif comments in rgb2rgb template file avconv: mark more options as expert. avconv: split printing "main options" into global and per-file. avconv: refactor help printing. Conflicts: Changelog ffmpeg_opt.c ffserver.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: add Ut Video encoderJan Ekström2012-08-20
|/ | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* utvideo: Rename utvideo.c to utvideodec.cJan Ekström2012-08-17
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* utvideo: mark interlaced frames as suchHendrik Leppkes2012-06-22
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* utvideo: Fix interlaced prediction for RGB utvideo.Carl Eugen Hoyos2012-06-22
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* utvideo: general cosmeticsJan Ekström2012-04-20
| | | | | | | | | General cosmetics, such as keeping lines under 80 characters, fixing a couple of typos (predition -> prediction) and a general style fix that was pointed out by Derek when I was having my sliced multithreading patch in review by him. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* utvideo: Remove unused variable 'src_size'Derek Buitenhuis2012-04-15
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* utvideo: port header reading to bytestream2.Ronald S. Bultje2012-03-24
| | | | | | | Fixes crash during slice size reading if slice_end goes negative. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* utvideo: mark output picture as keyframe.Kostya Shishkov2012-03-24
| | | | Spotted by Антон.
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vlc/rl: Add ff_ prefix to the nonstatic symbolsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* cosmetics: Remove extra newlines at EOFAlex Converse2012-01-27
|
* utvideo: frame multithreading.Aneesh Dogra2012-01-08
| | | | | | | | | | >> time ./avconv -i file.avi -f null - Before : real 0m7.784s After : real 0m3.662s Tested on a Intel Core i3 Processor (2 cores, 4 threads). Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* utvideo: proper median prediction for interlaced videosKostya Shishkov2012-01-03
|
* utvideo: handle empty Huffman treesKostya Shishkov2011-10-29
| | | | | | | | | If the frame is filled with the same colour, encoder may produce no data and the fill value is indicated by zero code length (the rest of symbols will have 0xFF for code length, meaning invalid). So such Huffman trees should be treated specially. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* utvideo: account for coupled lines in YUV420 formatKostya Shishkov2011-10-28
| | | | | | | Luma slices in YUV420 colourspace should have height in multiple of two since they have the same line of chrominance data corresponding to pair of them. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Ut Video decoderKostya Shishkov2011-10-19
Signed-off-by: Anton Khirnov <anton@khirnov.net>