summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* Merge commit '09c4e5c5988c0037d108c5fc2a137d9ad488f7f4'Clément Bœsch2016-06-29
|\ | | | | | | | | | | | | * commit '09c4e5c5988c0037d108c5fc2a137d9ad488f7f4': indeo2: Drop disabled big-endian ir2_codes table Merged-by: Clément Bœsch <clement@stupeflix.com>
| * indeo2: Drop disabled big-endian ir2_codes tableDiego Biurrun2016-06-07
| | | | | | | | Only the little-endian variant of the table is ever used.
* | Merge commit 'b7f98659f21dce438c33b512e25fd64b8d07c347'Clément Bœsch2016-06-29
|\| | | | | | | | | | | | | * commit 'b7f98659f21dce438c33b512e25fd64b8d07c347': Remove unnecessary get_bits.h #includes Merged-by: Clément Bœsch <clement@stupeflix.com>
| * Remove unnecessary get_bits.h #includesDiego Biurrun2016-06-07
| |
| * sgirledec: simplify, no need to use reget bufferPaul B Mahol2016-06-06
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
| * aic: add frame threading supportPaul B Mahol2016-06-06
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
| * vp9: Return the correct size when decoding a superframeDenis Charmet2016-06-05
| | | | | | | | | | | | | | | | | | | | | | | | According to avcodec.h, avcodec_decode_video2 should return the number of bytes used if a frame was decoded. The current implementation returns size - used size of all the subframes. This fixes the VLC's bug https://trac.videolan.org/vlc/ticket/16836. The superframe is always fully consumed. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | lavc/mediacodecdec_h264: add missing NAL headers to SPS/PPS buffersMatthieu Bouron2016-06-29
| | | | | | | | Fixes a regression introduced by 0cd5e281df3f69c1ed8f2a72a5bcbf9691e1b5d5.
* | avcodec/ccaption_dec: Fix mixed declaration and statement.Michael Niedermayer2016-06-28
| | | | | | | | | | Found-by: ubitux Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/ccaption_dec: implement tab offset commandsAman Gupta2016-06-28
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc/pnm_parser: disable parsing for text based PNMsClément Bœsch2016-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | P1, P2, and P3 are respectively the text versions of PBM, PGM and PPM files. We can not obtain the buffer size using av_imgage_get_buffer_size() as every pixel in the picture will occupy a random size between 16 and 32 bits ("4 " and "231 " are such example). Ideally, we could look for the next header (or EOF) in the bytestream, but this commit is meant to fix a decoding regression introduced by 48ac4532d437790e56b8ed5d0d467dc88685f035. Fix Ticket #5670
* | Merge commit '535a742c2695a9e0c586b50d7fa76e318232ff24'Matthieu Bouron2016-06-27
|\| | | | | | | | | | | | | * commit '535a742c2695a9e0c586b50d7fa76e318232ff24': build: Change structure of the linker version script templates Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
| * build: Change structure of the linker version script templatesDiego Biurrun2016-05-29
| | | | | | | | | | | | Split version files into one line per symbol/directive to allow compatibility with the Solaris linker without preprocessing and eliminate $ from version file templates to simplify the postprocessing shell command.
| * asm: FF_-prefix internal macros used in inline assemblyDiego Biurrun2016-05-28
| | | | | | | | | | These warnings conflict with system macros on Solaris, producing truckloads of warnings about macro redefinition.
* | asm: FF_-prefix internal macros used in inline assemblyMatthieu Bouron2016-06-27
| | | | | | | | See merge commit '39d6d3618d48625decaff7d9bdbb45b44ef2a805'.
* | avcodec/libopenjpegenc: Set numresolutions by default to a value that is not ↵Michael Niedermayer2016-06-26
| | | | | | | | | | | | | | | | too large Fixes issues with libopenjpeg 2.1 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'dc40a70c5755bccfb1a1349639943e1f408bea50'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit 'dc40a70c5755bccfb1a1349639943e1f408bea50': Drop unnecessary libavutil/x86/asm.h #includes Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * Drop unnecessary libavutil/x86/asm.h #includesDiego Biurrun2016-05-28
| |
| * ac3: Check the array bound before dereferencingLuca Barbato2016-05-27
| | | | | | | | | | | | CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'a86aa16088ad7f22a8918d71adb8c040d6033d84'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit 'a86aa16088ad7f22a8918d71adb8c040d6033d84': vaapi_h264: Add trivial support for low-power encoding Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vaapi_h264: Add trivial support for low-power encodingMark Thompson2016-05-27
| | | | | | | | | | | | Experimental; requires Skylake and VAAPI 0.39.1 (not yet released). Also increases the allowed range of the quality option - in low-power mode, the Intel driver supports levels 1-8 (and 0 meaning default).
* | Merge commit 'b51c7c6b8a5b35cfd06cb9655f9ec4c9f0ddd81b'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit 'b51c7c6b8a5b35cfd06cb9655f9ec4c9f0ddd81b': vaapi_h264: Fix frame_num after non-reference frames Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vaapi_h264: Fix frame_num after non-reference framesMark Thompson2016-05-27
| | | | | | | | | | | | | | Non-reference frames (nal_ref_idc == 0) should be discardable, so frame_num does not advance after them. Before this change, a stream containing unreferenced B-frames would be rejected by the reference decoder.
* | Merge commit '2bfa067d0b636e7b2004fb0ad5a53d0d48c6de32'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '2bfa067d0b636e7b2004fb0ad5a53d0d48c6de32': vaapi_encode: Check config attributes before creating config Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vaapi_encode: Check config attributes before creating configMark Thompson2016-05-27
| | | | | | | | | | | | This prevents attempts to use unsupported modes, such as low-power H.264 mode on non-Skylake targets. Also fixes a crash on invalid configuration, when trying to destroy an invalid VA config/context.
* | Merge commit '24b5cff01bbac4e08acfd6d19c499e880988f520'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '24b5cff01bbac4e08acfd6d19c499e880988f520': lavc: handle hw_frames_ctx where necessary Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: handle hw_frames_ctx where necessaryAndrey Turkin2016-05-26
| | | | | | | | | | | | | | avcodec_copy_context() didn't handle hw_frames_ctx references correctly which could cause crashes. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '4024b566d664a4b161d677554be52f32e7ad4236'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '4024b566d664a4b161d677554be52f32e7ad4236': golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better namesDiego Biurrun2016-05-25
| |
* | Merge commit 'e47b8bbf0b54599d44b9330eb4d68cdde4f6d298'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit 'e47b8bbf0b54599d44b9330eb4d68cdde4f6d298': avcodec: Bump micro version after changing public JPEG 2000 defines Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * avcodec: Bump micro version after changing public JPEG 2000 definesDiego Biurrun2016-05-24
| |
* | Merge commit 'ad61da054bd8c74a5d5b38d80846228fc6147108'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit 'ad61da054bd8c74a5d5b38d80846228fc6147108': jpeg2000: Fix profile define values Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * jpeg2000: Fix profile define valuesFrancois Cartegnie2016-05-24
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '2ef6dab0a79a9852a92ed80b07f9e32a37530d9e'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '2ef6dab0a79a9852a92ed80b07f9e32a37530d9e': lavc: document that avcodec_close() should not be used Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: document that avcodec_close() should not be usedAnton Khirnov2016-05-23
| | | | | | | | | | | | | | We cannot deprecate it until the new parser API is in place, because of the way libavformat works. But the majority of the users can already simply replace it with avcodec_free_context(), which will simplify the transition once it is finally deprecated.
* | Merge commit '04fc8e24a091ed1d77d7a3c0cbcfe60baec19a9f'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '04fc8e24a091ed1d77d7a3c0cbcfe60baec19a9f': lavc: deprecate avcodec_get_context_defaults3() Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: deprecate avcodec_get_context_defaults3()Anton Khirnov2016-05-23
| | | | | | | | | | | | | | | | | | This function is supposed to "reset" a codec context to a clean state so that it can be opened again. The only reason it exists is to allow using AVStream.codec as a decoding context (after it was already opened/used/closed by avformat_find_stream_info()). Since that behaviour is now deprecated, there is no reason for this function to exist anymore.
* | Merge commit '5f30ac27795f9f98043e8582ccaad8813104adc4'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '5f30ac27795f9f98043e8582ccaad8813104adc4': lavc: deprecate avcodec_copy_context() Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: deprecate avcodec_copy_context()Anton Khirnov2016-05-23
| | | | | | | | | | | | | | | | | | Since AVCodecContext contains a lot of complex state, copying a codec context is not a well-defined operation. The purpose for which it is typically used (which is well-defined) is copying the stream parameters from one codec context to another. That is now possible with through the AVCodecParameters API. Therefore, there is no reason for avcodec_copy_context() to exist.
* | Merge commit '74b1bf632f125a795e66e5fd0a060b9c7c55b7a3'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '74b1bf632f125a795e66e5fd0a060b9c7c55b7a3': mp3: Make the extrasize explicit Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * mp3: Make the extrasize explicitLuca Barbato2016-05-22
| | | | | | | | | | | | | | | | | | Initialize the bit buffer with the correct size (amount of bits that will be read) instead of relying on the bitstream reader overreading the correct values. Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '52567e8198669a1e7493c75771613f87a90466c3'Hendrik Leppkes2016-06-26
|\| | | | | | | | | | | | | * commit '52567e8198669a1e7493c75771613f87a90466c3': get_bits: Drop some TRACE-level debug code Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * get_bits: Drop some TRACE-level debug codeDiego Biurrun2016-05-22
| | | | | | | | It will not be provided by the new bit reader anyway.
| * nvenc: allow setting the number of slicesAnton Khirnov2016-05-19
| | | | | | | | Based on a patch by Agatha Hu <ahu@nvidia.com>
| * nvenc: De-compensate aspect ratio compensation of DVD-like content.Philip Langdale2016-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For reasons we are not privy to, nvidia decided that the nvenc encoder should apply aspect ratio compensation to 'DVD like' content, assuming that the content is not BT.601 compliant, but needs to be BT.601 compliant. In this context, that means that they make the following, questionable, assumptions: 1) If the input dimensions are 720x480 or 720x576, assume the content has an active area of 704x480 or 704x576. 2) Assume that whatever the input sample aspect ratio is, it does not account for the difference between 'physical' and 'active' dimensions. From these assumptions, they then conclude that they can 'help', by adjusting the sample aspect ratio by a factor of 45/44. And indeed, if you wanted to display only the 704 wide active area with the same aspect ratio as the full 720 wide image - this would be the correct adjustment factor, but what if you don't? And more importantly, what if you're used to lavc not making this kind of adjustment at encode time - because none of the other encoders do this! And, what if you had already accounted for BT.601 and your input had the correct attributes? Well, it's going to apply the compensation anyway! So, if you take some content, and feed it through nvenc repeatedly, it will keep scaling the aspect ratio every time, stretching your video out more and more and more. So, clearly, regardless of whether you want to apply bt.601 aspect ratio adjustments or not, this is not the way to do it. With any other lavc encoder, you would do it as part of defining your input parameters or do the adjustment at playback time, and there's no reason by nvenc should be any different. This change adds some logic to undo the compensation that nvenc would otherwise do. nvidia engineers have told us that they will work to make this compensation mechanism optional in a future release of the nvenc SDK. At that point, we can adapt accordingly. Signed-off-by: Philip Langdale <philipl@overt.org> Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * nvenc: list the major contributors in the copyright headerAnton Khirnov2016-05-19
| |
| * nvenc: drop the hard dependency on CUDAAnton Khirnov2016-05-19
| | | | | | | | | | | | | | | | The code needs only a few definitions from cuda.h, so define them directly when CUDA is not enabled. CUDA is still required for accepting HW frames as input. Based on the code by Timo Rothenpieler <timo@rothenpieler.org>.
| * nvenc: only support HW frames when CUDA is enabledAnton Khirnov2016-05-19
| | | | | | | | | | hwcontext_cuda.h includes cuda.h, so this will allow building nvenc without depending on cuda.h
| * nvenc: write the VUI signal properties for HEVCAnton Khirnov2016-05-19
| | | | | | | | | | | | Bump the API version requirement to 6. Based on a patch by Agatha Hu <ahu@nvidia.com>.
| * nvenc: only write the VUI signal type fields if they are setAnton Khirnov2016-05-19
| | | | | | | | Based on a patch by Agatha Hu <ahu@nvidia.com>.