summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* indeo2: Drop disabled big-endian ir2_codes tableDiego Biurrun2016-06-071-39/+0
| | | | Only the little-endian variant of the table is ever used.
* Remove unnecessary get_bits.h #includesDiego Biurrun2016-06-0718-21/+27
|
* sgirledec: simplify, no need to use reget bufferPaul B Mahol2016-06-061-25/+7
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* aic: add frame threading supportPaul B Mahol2016-06-061-2/+5
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* fate: Move Canopus decoder tests to a separate fileVittorio Giovara2016-06-064-33/+35
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avconv: Do not copy extradata if source buffer is emptyVittorio Giovara2016-06-061-5/+8
| | | | | | | Fixes clang-usan runtime error "null pointer passed as argument 2, which is declared to never be null" while streamcopying. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* vp9: Return the correct size when decoding a superframeDenis Charmet2016-06-051-1/+1
| | | | | | | | | | | | 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>
* build: Only enable symbol reduction if the compiler does proper DCEDiego Biurrun2016-05-301-5/+13
| | | | | | | | With compilers that do not support proper dead code elimination, like Sun C 5.12, linking fails due to missing references to unavailable, but also unused, symbols. Bug-Id: 895
* build: Simplify postprocessing of linker version script filesDiego Biurrun2016-05-294-12/+13
| | | | Generate the files in a single postprocessing step w/o intermediate files.
* build: Change structure of the linker version script templatesDiego Biurrun2016-05-298-24/+38
| | | | | | 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.
* build: Print a message when generating version scriptsDiego Biurrun2016-05-291-2/+2
|
* asm: FF_-prefix internal macros used in inline assemblyDiego Biurrun2016-05-2815-677/+677
| | | | | These warnings conflict with system macros on Solaris, producing truckloads of warnings about macro redefinition.
* Drop unnecessary libavutil/x86/asm.h #includesDiego Biurrun2016-05-2814-14/+0
|
* ac3: Check the array bound before dereferencingLuca Barbato2016-05-271-1/+1
| | | | | | CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vaapi_h264: Add trivial support for low-power encodingMark Thompson2016-05-271-2/+16
| | | | | | 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).
* vaapi_h264: Fix frame_num after non-reference framesMark Thompson2016-05-271-7/+11
| | | | | | | 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.
* vaapi_encode: Check config attributes before creating configMark Thompson2016-05-271-2/+130
| | | | | | 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.
* build: Ignore generated mapfile and remove it on distcleanDiego Biurrun2016-05-272-1/+2
|
* FATE: drop the audio stream from the dxtory testAnton Khirnov2016-05-262-2/+1
| | | | | This is a video test and there are no audio packets in the sample anyway.
* avconv: fix parsing bitstream filtersAnton Khirnov2016-05-261-7/+11
| | | | | | The current code modifies the user-supplied string, which is shared for the whole output file. So a bitstream filter specification applied to multiple streams would not work correctly.
* avconv: fix a check for av_bsf_get_by_name() return valueAnton Khirnov2016-05-261-1/+1
|
* avconv_vaapi: use the hwcontext device creation APIAnton Khirnov2016-05-261-92/+4
|
* avconv_dxva2: use the hwcontext device creation APIAnton Khirnov2016-05-261-129/+11
|
* avconv_vdpau: use the hwcontext device creation APIAnton Khirnov2016-05-261-88/+7
|
* hwcontext_vaapi: implement device creationAnton Khirnov2016-05-261-0/+123
|
* hwcontext_dxva2: implement device creationAnton Khirnov2016-05-261-0/+133
|
* hwcontext_cuda: implement device creationAnton Khirnov2016-05-261-0/+44
|
* hwcontext_vdpau: implement device creationAnton Khirnov2016-05-262-2/+82
|
* hwcontext: add a function for opening devicesAnton Khirnov2016-05-265-1/+71
|
* lavc: handle hw_frames_ctx where necessaryAndrey Turkin2016-05-261-0/+9
| | | | | | | avcodec_copy_context() didn't handle hw_frames_ctx references correctly which could cause crashes. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better namesDiego Biurrun2016-05-256-49/+49
|
* fate: More fine-grained dependencies for demuxer testsDiego Biurrun2016-05-251-6/+6
|
* fate: More fine-grained dependencies for voice codec testsDiego Biurrun2016-05-251-12/+12
|
* rtsp: Use avcodec_descriptor_get instead of avcodec_find_decoderMartin Storsjö2016-05-251-4/+4
| | | | | | | This is only used for logging a human readable codec name for debugging. Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec: Bump micro version after changing public JPEG 2000 definesDiego Biurrun2016-05-242-1/+4
|
* jpeg2000: Fix profile define valuesFrancois Cartegnie2016-05-241-3/+3
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* avfiltergraph: check the query_formats() return valueAnton Khirnov2016-05-231-2/+8
|
* lavc: document that avcodec_close() should not be usedAnton Khirnov2016-05-231-0/+5
| | | | | | | 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.
* lavc: deprecate avcodec_get_context_defaults3()Anton Khirnov2016-05-233-16/+21
| | | | | | | | | 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.
* lavc: deprecate avcodec_copy_context()Anton Khirnov2016-05-233-0/+14
| | | | | | | | | 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.
* lavf: update muxing doxyAnton Khirnov2016-05-231-3/+3
| | | | Describe the new AVCodecParameters API.
* mp3: Make the extrasize explicitLuca Barbato2016-05-221-14/+15
| | | | | | | | | 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>
* get_bits: Drop some TRACE-level debug codeDiego Biurrun2016-05-223-74/+0
| | | | It will not be provided by the new bit reader anyway.
* dump: Drop unused variableDiego Biurrun2016-05-221-1/+0
|
* avconv: Use more precise deprecation ifdefsDiego Biurrun2016-05-221-3/+3
| | | | This fixes compilation with the libavcodec version bumped to 58.
* avconv: stop using AVStream.codecAnton Khirnov2016-05-222-13/+9
| | | | | | | | It is now only used by the av_parser_change() call during streamcopy, so allocate a special AVCodecContext instance for this case. This instance should go away when the new parser API is finished. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* nvenc: allow setting the number of slicesAnton Khirnov2016-05-191-0/+6
| | | | Based on a patch by Agatha Hu <ahu@nvidia.com>
* nvenc: De-compensate aspect ratio compensation of DVD-like content.Philip Langdale2016-05-191-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-191-0/+2
|
* configure: Don't require nonfree for nvencTimo Rothenpieler2016-05-191-1/+0
| | | | | | | | As the nvEncodeApi.h header is now MIT licensed, this can be dropped. The loaded CUDA and NVENC libraries are part of the nvidia driver, and thus count as system libraries. Signed-off-by: Anton Khirnov <anton@khirnov.net>
OpenPOWER on IntegriCloud