aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/allcodecs.c
Commit message (Collapse)AuthorAgeFilesLines
...
* avcodec: Disable new iterate API for ossfuzzMichael Niedermayer2018-05-161-0/+5
| | | | | | | | | | | | | | | | | A few days ago ossfuzz stoped testing new FFmpeg as it run out of diskspacee https://oss-fuzz-build-logs.storage.googleapis.com/index.html An alternative would be to revert the API. This changes for example -rwxr-x--- 1 michael michael 144803654 May 14 12:54 tools/target_dec_ac3_fixed_fuzzer* to -rwxr-x--- 1 michael michael 30333852 May 14 12:51 tools/target_dec_ac3_fixed_fuzzer* Which should massively decrease space requirements Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: remove duplicate prores decoderPaul B Mahol2018-04-281-1/+0
| | | | | | Removed slower one, couldn't figure out why it is slower. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavc: prefer the mp3float decoder to the mp3 decoderRostislav Pehlivanov2018-04-011-3/+3
| | | | | | | | | On modern x86 systems its around 2x faster. For systems without FPUs it'll be slower, but our policy is to prefer floating point implementations and to let users decide what's best (or just not compile them on systems without FPUs). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* Merge commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda'James Almer2018-03-291-0/+1
|\ | | | | | | | | | | | | | | | | | | * commit '43778a501f1bfbceeddc8eaeea2ea2b3506beeda': Support AV1 encoding using libaom This contains some extra changes taken from the libvpx encoder wrapper, most of them contained in the set_pix_fmt() function. Merged-by: James Almer <jamrial@gmail.com>
| * Support AV1 encoding using libaomLuca Barbato2018-03-121-1/+1
| |
* | Merge commit 'c438899a706422b8362a13714580e988be4d638b'James Almer2018-03-281-0/+1
|\| | | | | | | | | | | | | | | | | | | * commit 'c438899a706422b8362a13714580e988be4d638b': Add AV1 video decoding support through libaom This contains some extra changes taken from the libvpx decoder wrapper, most of them contained in the set_pix_fmt() function. Merged-by: James Almer <jamrial@gmail.com>
| * Add AV1 video decoding support through libaomLuca Barbato2018-03-121-0/+1
| | | | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * Add support for H.264 and HEVC hardware encoding for AMD GPUs based on AMF SDKMichael Wootton2018-01-041-0/+2
| | | | | | | | | | | | | | Requires AMF headers for at least version 1.4.4.1. Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * lavc: Remove register mechanism for hwaccelsMark Thompson2017-12-191-51/+0
| | | | | | | | | | | | | | There is no longer any need for a list of them at runtime, because decoders now carry the pointers to their associated hwaccels internally. The file containing external declarations is now used to make the list of hwaccels for configure.
* | sbc: implement SBC encoder (low-complexity subband codec)Aurelien Jacobs2018-03-071-0/+1
| | | | | | | | This was originally based on libsbc, and was fully integrated into ffmpeg.
* | sbc: implement SBC decoder (low-complexity subband codec)Aurelien Jacobs2018-03-071-0/+1
| | | | | | | | This was originally based on libsbc, and was fully integrated into ffmpeg.
* | Add libcodec2 en/decoderTomas Härdin2018-02-241-0/+2
| |
* | aptx: implement the aptX HD bluetooth codecAurelien Jacobs2018-02-091-0/+2
| |
* | lavc: add new API for iterating codecs and codec parsersJosh de Kock2018-02-061-625/+841
| | | | | | | | Based on an unfinished patch by atomnuker.
* | Add HW H.264 and HEVC encoding for AMD GPUs based on AMF SDKMikhail Mironov2017-11-281-0/+2
| | | | | | | | | | | | | | Requires AMF headers for at least version 1.4.4.1. Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | lavc: Remove register mechanism for hwaccelsMark Thompson2017-11-261-82/+0
| | | | | | | | | | | | | | There is no longer any need for a list of them at runtime, because decoders now carry the pointers to their associated hwaccels internally. The file containing external declarations is now used to make the list of hwaccels for configure.
* | avcodec: Implement mpeg4 nvdec hwaccelPhilip Langdale2017-11-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was predictably nightmarish, given how ridiculous mpeg4 is. I had to stare at the cuvid parser output for a long time to work out what each field was supposed to be, and even then, I still don't fully understand some of them. Particularly: vop_coded: If I'm reading the decoder correctly, this flag will always be 1 as the decoder will not pass the hwaccel any frame where it is not 1. divx_flags: There's obviously no documentation on what the possible flags are. I simply observed that this is '0' for a normal bitstream and '5' for packed b-frames. gmc_enabled: I had a number of guesses as to what this mapped to. I picked the condition I did based on when the cuvid parser was setting flag. Also note that as with the vdpau hwaccel, the decoder needs to consume the entire frame and not the slice.
* | avcodec: Implement mpeg1 nvdec hwaccelPhilip Langdale2017-11-201-0/+1
| | | | | | | | | | Once I remembered that there's a separate decoder type for mpeg1, even though params struct is shared with mpeg2, everything worked.
* | avcodec: Implement mpeg2 nvdec hwaccelPhilip Langdale2017-11-181-0/+1
| | | | | | | | | | | | This is mostly straight-forward. The weird part is that it should just work for mpeg1, but I see corruption in my test cases, so I'm going to try and fix that separately.
* | avcodec: Implement vc1 nvdec hwaccelPhilip Langdale2017-11-141-0/+2
| | | | | | | | | | This hwaccel is interesting because it also works for wmv3/9 content, which is not supported by the nvidia parser used by cuviddec.
* | avcodec/videotoolboxenc: add hevc_videotoolbox encoderAman Gupta2017-11-131-0/+1
| | | | | | | | | | Signed-off-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Rodger Combs <rodger.combs@gmail.com>
* | avcodec: implement vp9 nvdec hwaccelTimo Rothenpieler2017-11-131-0/+1
| |
* | Merge commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88'James Almer2017-11-101-0/+1
|\| | | | | | | | | | | | | | | | | * commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88': hevcdec: add a CUVID hwaccel Adapted for ffmpeg by Timo Rothenpieler. Merged-by: James Almer <jamrial@gmail.com>
| * hevcdec: add a CUVID hwaccelAnton Khirnov2017-07-281-0/+1
| |
| * h264dec: add a CUVID hwaccelAnton Khirnov2017-07-261-0/+1
| | | | | | | | | | Some parts of the code are based on a patch by Timo Rothenpieler <timo@rothenpieler.org>
* | h264dec: add a NVDEC hwaccelAnton Khirnov2017-11-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some parts of the code are based on a patch by Timo Rothenpieler <timo@rothenpieler.org> Merges Libav commit b9129ec4668c511e0a79e25c6f25d748cee172c9. Due to the name clash with our cuvid decoder, rename it to nvdec. This commit also changes the Libav code to dynamic loading of the cuda/cuvid libraries. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | aptx: implement the aptX bluetooth codecAurelien Jacobs2017-11-101-0/+1
| | | | | | | | | | | | The encoder was reverse engineered from binary library and from EP0398973B1 patent (long expired). The decoder was simply deduced from the encoder.
* | Merge commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2'James Almer2017-11-081-0/+1
|\| | | | | | | | | | | | | * commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2': libavcodec/mjpeg_qsv: Add QSV MJPEG encoder Merged-by: James Almer <jamrial@gmail.com>
| * libavcodec/mjpeg_qsv: Add QSV MJPEG encoderHuang, Zhengxu2017-07-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | usage: -hwaccel qsv -c:v h264_qsv -i in -c:v mjpeg_qsv -global_quality 80 -f mjpeg out Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com> Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com> Signed-off-by: Andrew Zhang <huazh407@gmail.com Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
| * Add Cinepak encoderTomas Härdin2017-07-051-1/+1
| | | | | | | | | | | | With permission of Tomas Härdin applied by Rl aetey.se Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-081-0/+5
| | | | | | | | | | | | | | | | | | | | 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>
| * Add ClearVideo decoderKostya Shishkov2017-04-251-0/+1
| | | | | | | | | | | | Only I-frames are decoded for now. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * Add FM Screen Capture Codec decoderPaul B Mahol2017-04-131-0/+1
| | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * vaapi_encode: Add VP9 supportMark Thompson2017-04-021-0/+1
| |
* | avcodec: add MagicYUV encoderPaul B Mahol2017-10-281-1/+1
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge commit 'dd343fd986459f467a2d1d70c26101dff1d47d68'James Almer2017-10-231-16/+0
|\| | | | | | | | | | | | | * commit 'dd343fd986459f467a2d1d70c26101dff1d47d68': lavu: Drop deprecated VDPAU pixel formats Merged-by: James Almer <jamrial@gmail.com>
* | Merge commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198'James Almer2017-10-231-3/+0
|\| | | | | | | | | | | | | * commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198': lavc: Remove deprecated XvMC support hacks Merged-by: James Almer <jamrial@gmail.com>
| * lavc: Remove deprecated XvMC support hacksDiego Biurrun2017-03-231-3/+0
| | | | | | | | Deprecated in 11/2013.
| * Add Cineform HD DecoderKieran Kunhya2017-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | Decodes YUV 4:2:2 10-bit and RGB 12-bit files. Older files with more subbands, skips, Bayer, alpha not supported. Further fixes and refactorings by Anton Khirnov <anton@khirnov.net>, Diego Biurrun <diego@biurrun.de>, Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * Add Apple Pixlet decoderPaul B Mahol2017-03-011-0/+1
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * vaapi_encode: Add VP8 supportMark Thompson2017-01-301-0/+1
| |
| * vaapi_encode: Add MPEG-2 supportMark Thompson2017-01-291-0/+1
| |
| * hevcdec: add a VAAPI hwaccelAnton Khirnov2016-12-191-0/+1
| | | | | | | | | | Partially based on a patch by Timo Rothenpieler <timo@rothenpieler.org>. Additional scaling list handling fix by Jun Zhao <mypopydev@gmail.com>.
* | lavc: drop VDAClément Bœsch2017-10-231-3/+0
| | | | | | | | | | Deprecated (aka removed) in OSX 10.11, and we have a replacement for it (VideoToolbox).
* | avcodec/videotoolbox: add hevc supportAman Gupta2017-09-281-0/+1
| | | | | | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* | lavc: Move V4L2 encoders lower in the listMark Thompson2017-09-271-5/+10
| | | | | | | | | | Their previous positioning would cause them to chosen before software encoders like libx264 or libvpx.
* | lavc: Add support for RockChip Media Process PlatformLionel CHAZALLON2017-09-271-0/+4
| | | | | | | | | | | | | | | | | | This adds hardware decoding for H.264 / HEVC / VP8 / VP9 using the MPP Rockchip API. It returns frames holding an AVDRMFrameDescriptor struct in buf[0] that allows drm / dmabuf usage. Tested on RK3288 (TinkerBoard) and RK3328. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | libavcodec: v4l2: add support for v4l2 mem2mem codecsJorge Ramirez-Ortiz2017-09-231-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patchset enhances Alexis Ballier's original patch and validates it using Qualcomm's Venus hardware (driver recently landed upstream [1]). This has been tested on Qualcomm's DragonBoard 410c and 820c Configure/make scripts have been validated on Ubuntu 10.04 and 16.04. Tested decoders: - h264 - h263 - mpeg4 - vp8 - vp9 - hevc Tested encoders: - h264 - h263 - mpeg4 Tested transcoding (concurrent encoding/decoding) Some of the changes introduced: - v4l2: code cleanup and abstractions added - v4l2: follow the new encode/decode api. - v4l2: fix display size for NV12 output pool. - v4l2: handle EOS (EPIPE and draining) - v4l2: vp8 and mpeg4 decoding and encoding. - v4l2: hevc and vp9 support. - v4l2: generate EOF on dequeue errors. - v4l2: h264_mp4toannexb filtering. - v4l2: fixed make install and fate issues. - v4l2: codecs enabled/disabled depending on pixfmt defined - v4l2: pass timebase/framerate to the context - v4l2: runtime decoder reconfiguration. - v4l2: add more frame information - v4l2: free hardware resources on last reference being released - v4l2: encoding: disable b-frames for upstreaming (patch required) [1] https://lwn.net/Articles/697956/ System Level view: v42l_m2m_enc/dec --> v4l2_m2m --> v4l2_context --> v4l2_buffers Reviewed-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org> Reviewed-by: Alexis Ballier <aballier@gentoo.org> Tested-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org> Signed-off-by: wm4 <nfxjfg@googlemail.com>
* | lavc: Add wrapped_avframe decoderMark Thompson2017-09-131-1/+1
| | | | | | | | | | | | | | Intended for use with hardware frames for which rawvideo is not sufficient. Requires the trusted packet flag to be set - decoding fails if not to avoid security issues (the wrapped AVFrame can contain pointers to arbitrary data).
* | Add FITS EncoderParas Chadha2017-08-301-1/+1
| | | | | | | | Signed-off-by: Paras Chadha <paraschadha18@gmail.com>