- 20 Jun, 2017 1 commit
-
-
Memphiz authored
Properly use the b.eq/b.ge forms instead of the nonstandard forms (which both gas and newer clang accept though), and expand the register list that used a range (which the Xcode 6.2 clang, based on clang 3.5 svn, didn't support). Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 17 Jun, 2017 1 commit
-
-
Diego Biurrun authored
-
- 13 Jun, 2017 2 commits
-
-
Michael Niedermayer authored
The timeDataSize argument to aacDecoder_DecodeFrame() seems undocumented and until 2016 04 (203e3f28fbebec7011342017fafc2a0bda0ce530) unused. After that commit libfdk-aacdec interprets it as size in sample units and memsets that on error. FFmpeg as well as others (like GStreamer) did interpret it as size in bytes. Fixes: 1442/clusterfuzz-testcase-minimized-4540199973421056 (This requires recent libfdk to reproduce) Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by:
Martin Storsjö <martin@martin.st>
-
Diego Biurrun authored
-
- 12 Jun, 2017 1 commit
-
-
Diego Biurrun authored
-
- 10 Jun, 2017 1 commit
-
-
Srinath K R authored
AVCodecContext::refs is used to control the DPB size to be used by the encoder. The default value for AVCodecContext::refs as set in libavcodec/options_table.h is 1. This patch sets AVCodecContext::refs to 0 for h264_nvenc and hevc_nvenc in order to let the driver take the decision of the correct DPB size to use in all cases. Signed-off-by:
Srinath K R <skr@nvidia.com> Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
- 08 Jun, 2017 4 commits
-
-
wm4 authored
This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
I want to make it non-mandatory to set a mutex in the D3D11 device context, and replacing it with user callbacks seems like the best solution. This is preparation for it. Also makes the code slightly more readable. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
The actual hwaccel code will need to access an internal context instead of avctx->hwaccel_context, so add a new DXVA_CONTEXT() macro, that will dispatch between the "old" external and the new internal context. Also, the new API requires a new D3D11 pixfmt, so all places which check for the pixfmt need to be adjusted. Introduce a ff_dxva2_is_d3d11() function, which does the check. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
wm4 authored
So a hwaccel can access avctx->hwaccel in init for whatever reason. This is for the new d3d hwaccel API. We could create separate entrypoints for each of the 3 hwaccel types (dxva2, d3d11va, new d3d11va), but this seems nicer. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 01 Jun, 2017 2 commits
-
-
Diego Biurrun authored
Return sensible error values and forward error codes.
-
Michael Niedermayer authored
Fixes out of array access Fixes: ce19e41f0ef1e52a23edc488faecdb58/asan_heap-oob_2504e97_4202_ffa0df1baed14022b9bfd4f8ac23d0cb.smk Bug-Id: CVE-2015-8365 CC: libav-stable@libav.org Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 4a9af07a) Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 20 May, 2017 5 commits
-
-
Anton Khirnov authored
Currently it does not work at all. Bug-Id: 1058
-
Anton Khirnov authored
HEVCSEIPictureHash should store only the information extracted from the bitstream and exported to the higher layer (the decoder or the parser). The MD5 context is allocated, used and freed by this higher layer, so it makes more sense for it to also be stored there.
-
James Almer authored
This mimics the behavior of the now unused h264/hevc parser's split() function and fixes decoding some files when extract_extradata bsf is enabled. Signed-off-by:
James Almer <jamrial@gmail.com> Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
Anton Khirnov authored
Avoids unnecessary allocs+copies and makes the code slightly simpler.
-
Anton Khirnov authored
-
- 16 May, 2017 2 commits
-
-
Mark Thompson authored
While not yet used, these NAL units do already have some defined semantics and are referred to elsewhere.
-
Mark Thompson authored
This avoids confusion with equivalent H.265 SEI values when both are being used at the same time.
-
- 15 May, 2017 1 commit
-
-
Martin Storsjö authored
clang now (in the upcoming 5.0 version) is capable of building our arm assembly without relying on gas-preprocessor, although clang/LLVM doesn't support .dn register aliases. The VC1 MC assembly was only built and used if the chosen assembler supported the .dn directives though. This was supported as long as gas-preprocessor was used. This means that VC1 decoding got a speed regression on clang 5.0, unless the user manually chose using gas-preprocessor again. By avoiding using the .dn register aliases, we can build the VC1 MC assembly with the latest clang version. Support for the .dn/.qn directives in clang/LLVM isn't actively planned, see https://bugs.llvm.org/show_bug.cgi?id=18199. This partially reverts 896a5bff. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 09 May, 2017 3 commits
-
-
Sean McGovern authored
Bug-Id: 1036 CC: libav-stable@libav.org
-
James Almer authored
It doesn't depend on hevcdec anymore. Signed-off-by:
James Almer <jamrial@gmail.com> Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
James Almer authored
Based on the H264 SEI implementation. This will be mainly useful once support for SEI messages that can be used by the hevc parser are implemented, like Picture Timing. Signed-off-by:
James Almer <jamrial@gmail.com> Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
- 04 May, 2017 2 commits
-
-
Alexandra Hájková authored
Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Alexandra Hájková authored
This doesn't change the actual behaviour of the code but improves readability. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 03 May, 2017 1 commit
-
-
Alex Converse authored
Aliased compressed AAC bytes are almost certainly not meaningful SBR data. In the wild this causes harsh artifacts switching HE-AAC streams that don't have SBR headers aligned with segment boundaries. Turning off SBR falls back to a default set of upsampling parameters that can function as a sort of error concealment. This is consistent with how the decoder handles other sorts of errors. Bug-Id: 1047 CC: libav-stable@libav.org Signed-off-by:
Sean McGovern <gseanmcg@gmail.com>
-
- 02 May, 2017 3 commits
-
-
Diego Biurrun authored
This makes the currently semi-public avpriv_aac_parse_header() function private to libavcodec and adds a proper public API function to return the parts of the ADTS header required in libavformat.
-
Luca Barbato authored
This makes the bitstream.h header leaner. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
Luca Barbato authored
Do not rely on indirectly including it from bitstream.h. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
- 01 May, 2017 1 commit
-
-
Alexandra Hájková authored
Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 30 Apr, 2017 1 commit
-
-
Mark Thompson authored
This was left over from an earlier version which created the new packet inside the current frame structure. Now it just leaks an unused packet, so remove the allocation entirely.
-
- 28 Apr, 2017 2 commits
-
-
Anton Khirnov authored
The function currently accepts a PutBitContext and a GetBitContext, which hardcodes their sizes into the lavc ABI. Since the function is quite small and only called in a few places, the simplest solution is making it inline, thus avoiding a runtime dependency completely. Signed-off-by:
Diego Biurrun <diego@biurrun.de>
-
Martin Storsjö authored
Before: Cortex A7 A8 A9 A53 hevc_add_res_8x8_8_neon: 116.0 58.7 80.2 90.7 hevc_add_res_32x32_8_neon: 1230.0 737.5 1187.5 974.4 After: hevc_add_res_8x8_8_neon: 97.7 57.0 73.7 80.0 hevc_add_res_32x32_8_neon: 1216.0 698.7 1127.5 827.1 Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 27 Apr, 2017 3 commits
-
-
Seppo Tomperi authored
Optimized by Alexandra Hájková. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Vittorio Giovara authored
request_channel_layout is a decoder option and it makes no sense to have it in a parser. This feature was needed in the past when the decoder was allowed to reuse the avctx from the demuxer. Nowadays the decoder receives only the parameters from it, already containing the real channel layout (and the correct request_channel_layout option). After initialization the decoder overwrites the channel layout with the downmixed one that is actually output, so there is no need to preserve this functionality in the parser. Signed-off-by:
Vittorio Giovara <vittorio.giovara@gmail.com>
-
Vittorio Giovara authored
request_channel_layout is a decoder option and it makes no sense to have it in a parser. This feature was needed in the past when the decoder was allowed to reuse the avctx from the demuxer. Nowadays the decoder receives only the parameters from it, already containing the real channel layout (and the correct request_channel_layout option). After initialization the decoder overwrites the channel layout with the downmixed one that is actually output, so there is no need to preserve this functionality in the parser. Signed-off-by:
Vittorio Giovara <vittorio.giovara@gmail.com>
-
- 26 Apr, 2017 4 commits
-
-
Mark Thompson authored
Uses the just-added ALLOW_PROFILE_MISMATCH flag.
-
Mark Thompson authored
-
Mark Thompson authored
The non-H.26[45] codecs already use this form. Since we don't currently generate I frames for codecs which support them separately to IDR, the p_per_i variable is set to infinity by default so that it doesn't interfere with any other calculation. (All the code for I frames still exists, and it works for H.264 if set manually.)
-
Vittorio Giovara authored
-