summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* lavc/ppc/hpeldsp_altivec: Remove declaration of two unused variables.Carl Eugen Hoyos2017-11-01
|
* avcodec/dca: return standard error codes in avpriv_dca_parse_core_frame_header()James Almer2017-11-01
| | | | | | | | This prevents making the DCAParseError enum part of the ABI. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: foo86 <foobaz86@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h264idct_template: Fix integer overflows in ff_h264_idct8_add()Michael Niedermayer2017-11-01
| | | | | | | | Fixes: runtime error: signed integer overflow: 924846844 + 1457520640 cannot be represented in type 'int' Fixes: 3416/clusterfuzz-testcase-minimized-6125587682820096 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/xan: Improve overlapping checkMichael Niedermayer2017-11-01
| | | | | | | | Fixes: memcpy-param-overlap Fixes: 3612/clusterfuzz-testcase-minimized-6393461273001984 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '5edded9df31bc4712a023f89941b4c278f1bd6f5'James Almer2017-11-01
|\ | | | | | | | | | | | | | | | | * commit '5edded9df31bc4712a023f89941b4c278f1bd6f5': smacker: Improve error handling See c1947015b2eec65c7fbd702e1d8c22248be511e8 Merged-by: James Almer <jamrial@gmail.com>
| * smacker: Improve error handlingDiego Biurrun2017-06-01
| | | | | | | | Return sensible error values and forward error codes.
* | Merge commit 'b98f082d8ddc0a0d8317114d8414ab51de60ef02'James Almer2017-11-01
|\| | | | | | | | | | | | | | | | | * commit 'b98f082d8ddc0a0d8317114d8414ab51de60ef02': smacker: Check that the data size is a multiple of a sample vector See 4a9af07a49295e014b059c1ab624c40345af5892 Merged-by: James Almer <jamrial@gmail.com>
| * smacker: Check that the data size is a multiple of a sample vectorMichael Niedermayer2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 4a9af07a49295e014b059c1ab624c40345af5892) Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * decode: fix the code reducing cropping to preserve alignmentAnton Khirnov2017-05-20
| | | | | | | | | | | | Currently it does not work at all. Bug-Id: 1058
* | lavc/ppc/h264dsp: Fix function prototype after bc26fe89.Carl Eugen Hoyos2017-11-01
| | | | | | | | | | | | | | | | | | Silences the following gcc warnings: src/libavcodec/ppc/h264dsp.c: In function 'ff_h264dsp_init_ppc': src/libavcodec/ppc/h264dsp.c:809:40: warning: assignment from incompatible pointer type src/libavcodec/ppc/h264dsp.c:810:40: warning: assignment from incompatible pointer type src/libavcodec/ppc/h264dsp.c:811:40: warning: assignment from incompatible pointer type src/libavcodec/ppc/h264dsp.c:812:40: warning: assignment from incompatible pointer type
* | lavc/ppc/svq1enc_altivec: Fix function prototype after dad31083.Carl Eugen Hoyos2017-11-01
| | | | | | | | | | | | Silences a gcc warning: src/libavcodec/ppc/svq1enc_altivec.c: In function 'ff_svq1enc_init_ppc': src/libavcodec/ppc/svq1enc_altivec.c:80:26: warning: assignment from incompatible pointer type
* | avcodec/mips: Improve hevc uni vt and hv mc msa functionsKaustubh Raste2017-11-01
| | | | | | | | | | | | | | | | Remove unused macro. Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com> Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mips: Improve hevc bi hz and hv mc msa functionsKaustubh Raste2017-11-01
| | | | | | | | | | | | | | | | Align the mask buffer. Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com> Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mips: Improve hevc bi weighted copy, hz and vt mc msa functionsKaustubh Raste2017-11-01
| | | | | | | | | | | | | | | | | | Pack the data to half word before clipping. Use immediate unsigned saturation for clip to max saving one vector register. Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com> Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/vp9_superframe_bsf: cache packets by creating new references rather ↵James Almer2017-10-31
| | | | | | | | | | | | | | | | | | than moving them Should hopefully fix the invalid reads after free introduced in e1bc3f4396ade6033787717d3650fb62663eae8 for all targets. Signed-off-by: James Almer <jamrial@gmail.com>
* | lavc/videotoolbox: fix out-of-bounds memory access during hvcc creationAman Gupta2017-10-31
| | | | | | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* | avcodec/vp9_superframe_bsf: allocate cache of packets during initJames Almer2017-10-31
| | | | | | | | | | | | | | | | | | Also use av_packet_move_ref() to cache them instead of copying pointers. Fixes invalid reads since e1bc3f4396ade6033787717d3650fb62663eae8. Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit 'c3f0357bdf7d3c542aad2c58b94184b9f56edc41'James Almer2017-10-31
|\| | | | | | | | | | | | | * commit 'c3f0357bdf7d3c542aad2c58b94184b9f56edc41': hevcdec: move the MD5 context out of HEVCSEIPictureHash back into HEVCContext Merged-by: James Almer <jamrial@gmail.com>
| * hevcdec: move the MD5 context out of HEVCSEIPictureHash back into HEVCContextAnton Khirnov2017-05-20
| | | | | | | | | | | | | | 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.
| * extract_extradata_bsf: make sure all needed parameter set NALUs were foundJames Almer2017-05-20
| | | | | | | | | | | | | | | | | | 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>
* | avcodec/hevc_sei: reorder some parameters in static functionsJames Almer2017-10-31
| | | | | | | | | | | | | | Cosmetic change skipped in 0b30cb8dae5e7edb2a5f35900547321499c217f1 by mistake. Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/hevc_sei: rename HEVCSEIContext to HEVCSEIJames Almer2017-10-31
| | | | | | | | | | | | | | Cosmetic change skipped in 0b30cb8dae5e7edb2a5f35900547321499c217f1 by mistake. Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit '3fb6b98b5e247434456916c35ba7e08efa03e85d'James Almer2017-10-31
|\| | | | | | | | | | | | | * commit '3fb6b98b5e247434456916c35ba7e08efa03e85d': vp9_superframe_bsf: cache input packets directly Merged-by: James Almer <jamrial@gmail.com>
| * vp9_superframe_bsf: cache input packets directlyAnton Khirnov2017-05-20
| | | | | | | | Avoids unnecessary allocs+copies and makes the code slightly simpler.
| * vp9_superframe_bsf: convert to the new bitstream readerAnton Khirnov2017-05-20
| |
| * hevc: Add names for reserved NAL unit typesMark Thompson2017-05-16
| | | | | | | | | | While not yet used, these NAL units do already have some defined semantics and are referred to elsewhere.
| * h264_sei: Add namespace prefix to all SEI valuesMark Thompson2017-05-16
| | | | | | | | | | This avoids confusion with equivalent H.265 SEI values when both are being used at the same time.
* | Merge commit 'd7320ca3ed10f0d35b3740fa03341161e74275ea'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit 'd7320ca3ed10f0d35b3740fa03341161e74275ea': arm: Avoid using .dn register aliases Merged-by: James Almer <jamrial@gmail.com>
| * arm: Avoid using .dn register aliasesMartin Storsjö2017-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 896a5bff64264f4d01ed98eacc97a67260c1e17e. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'cb167f2947f1a2c446bd8db196d0e64ef4a6d06b'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit 'cb167f2947f1a2c446bd8db196d0e64ef4a6d06b': h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking() Merged-by: James Almer <jamrial@gmail.com>
| * h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking()Sean McGovern2017-05-09
| | | | | | | | | | Bug-Id: 1036 CC: libav-stable@libav.org
| * hevcdec: move SEI message parsing into a separate headerJames Almer2017-05-09
| | | | | | | | | | | | | | It doesn't depend on hevcdec anymore. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hevcdec: remove HEVCContext usage from hevc_seiJames Almer2017-05-09
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'ce080f47b8b55ab3d41eb00487b138d9906d114d'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit 'ce080f47b8b55ab3d41eb00487b138d9906d114d': hevc: Add NEON 32x32 IDCT Merged-by: James Almer <jamrial@gmail.com>
| * hevc: Add NEON 32x32 IDCTAlexandra Hájková2017-05-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '118dd4a321a2d67f67c21b076abd0b4d939ab642'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit '118dd4a321a2d67f67c21b076abd0b4d939ab642': hevc: 16x16 NEON idct: Use the right element size for loads/stores Merged-by: James Almer <jamrial@gmail.com>
| * hevc: 16x16 NEON idct: Use the right element size for loads/storesAlexandra Hájková2017-05-04
| | | | | | | | | | | | | | This doesn't change the actual behaviour of the code but improves readability. Signed-off-by: Martin Storsjö <martin@martin.st>
| * aacsbr: Turnoff in the event of over read.Alex Converse2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'b5f19f7478492307e4b4763aeac3180faf50e17f'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit 'b5f19f7478492307e4b4763aeac3180faf50e17f': aac: Split function to parse ADTS header data into public and private part Merged-by: James Almer <jamrial@gmail.com>
| * aac: Split function to parse ADTS header data into public and private partDiego Biurrun2017-05-02
| | | | | | | | | | | | 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.
| * bitstream: Move VLC reading functions into the vlc.h headerLuca Barbato2017-05-02
| | | | | | | | | | | | This makes the bitstream.h header leaner. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * vlc: Add header #include when the types are usedLuca Barbato2017-05-02
| | | | | | | | | | | | Do not rely on indirectly including it from bitstream.h. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'edbf0fffb15dde7a1de70b05855529d5fc769f14'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit 'edbf0fffb15dde7a1de70b05855529d5fc769f14': hevc: Add NEON add_residual for bitdepth 10 Merged-by: James Almer <jamrial@gmail.com>
| * hevc: Add NEON add_residual for bitdepth 10Alexandra Hájková2017-05-01
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * vp9_raw_reorder_bsf: Remove a redundant allocationMark Thompson2017-04-30
| | | | | | | | | | | | 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.
* | Merge commit '831018b0bbe26a603802a9022472f714a59293be'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit '831018b0bbe26a603802a9022472f714a59293be': mpeg4audio: Make avpriv_copy_pce_data() inline Merged-by: James Almer <jamrial@gmail.com>
| * mpeg4audio: Make avpriv_copy_pce_data() inlineAnton Khirnov2017-04-28
| | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'e1c2453a4fac1f7116244d0d05310935c20887e6'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit 'e1c2453a4fac1f7116244d0d05310935c20887e6': arm: hevc_idct: Tune the add_res_8x8 and add_res_32x32 functions Merged-by: James Almer <jamrial@gmail.com>
| * arm: hevc_idct: Tune the add_res_8x8 and add_res_32x32 functionsMartin Storsjö2017-04-28
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '0d4d43513786f1df4d561e1fac924fb0722c6700'James Almer2017-10-30
|\| | | | | | | | | | | | | | | | | * commit '0d4d43513786f1df4d561e1fac924fb0722c6700': hevc: Add NEON add_residual for bitdepth 8 See 03cecf45c134ebbaecb62505fe444ade423ea7dc Merged-by: James Almer <jamrial@gmail.com>