summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/hevcdsp: Constify src pointersAndreas Rheinhardt2022-08-05
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/loongarch: Add wrapper for __lsx_vldxAndreas Rheinhardt2022-08-05
| | | | | | | | | __lsx_vldx does not accept a pointer to const (in fact, no function in lsxintrin.h does so), although it is not allowed to modify the pointed-to buffer. Therefore this commit adds a wrapper for it in order to constify the HEVC DSP functions in a later commit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavf/hevc: replace the unicode signal quotation with normal quotationJun Zhao2022-08-05
| | | | | | | replace the unicode left/right signal quotation mark with normal signal quotation. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/Makefile: fix make checkheaders failJun Zhao2022-08-05
| | | | | | | Fix the build break when used make checkheaders Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/vaapi: Declare support for decoding 8bit 4:4:4 contentPhilip Langdale2022-08-03
| | | | | | | | | | | Now that we have a combination of capable hardware (new enough Intel) and a mutually understood format ("AYUV"), we can declare support for decoding 8bit 4:4:4 content via VAAPI. This requires listing AYUV as a supported format, and then adding VAAPI as a supported hwaccel for the relevant codecs (HEVC and VP9). I also had to add VP9Profile1 to the set of supported profiles for VAAPI as it was never relevant before.
* lavu/hwcontext_vaapi: Map the AYUV formatPhilip Langdale2022-08-03
| | | | This is the format used by Intel VAAPI for 8bit 4:4:4 content.
* lavu/pixfmt: Add packed 4:4:4 formatPhilip Langdale2022-08-03
| | | | | | | | | The "AYUV" format is defined by Microsoft as their preferred format for 4:4:4 content, and so it is the format used by Intel VAAPI and QSV. As Microsoft like to define their byte ordering in little-endian fashion, the memory order is reversed, and so our pix_fmt, which follows memory order, has a reversed name (VUYA).
* avcodec/intrax8: Avoid indirection when accessing VLC tableAndreas Rheinhardt2022-08-03
| | | | | | | | | | To do so, store the pointer to the VLC table and not to the VLC. This is possible, because all the VLCs of the same type use the same number of bits. Also use a const VLCElem*, because the target is static and must therefore not be modified after its initialization. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Add msmpeg4(dec|enc) subsystemsAndreas Rheinhardt2022-08-03
| | | | | | | | | | The msmpeg4 decoders/encoders share a common set of prerequisites, ergo it makes sense to use common subsystems for them. This also allows to remove the CONFIG_MSMPEG4_DECODER/ENCODER ad-hoc defines (which violated the CONFIG_ namespace). Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure, avcodec/Makefile: Make IntraX8 select WMV2DSP, fix MIPS buildAndreas Rheinhardt2022-08-03
| | | | | | | | | | | IntraX8 uses WMV2DSP directly, so it should have a direct dependency on it. Also remove the indirect Makefile dependency of the VC-1 decoder on wmv2dsp.o. Notice that since the addition of the MIPS WMV2DSP implementation building only the VC-1 decoder would fail, because no Makefile dependency VC1->wmv2dsp_init_mips.o has been added. This is of course fixed by this commit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/intrax8: Remove unused IDCTDSPContextAndreas Rheinhardt2022-08-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/opt: Combine multiple av_log statementsAndreas Rheinhardt2022-08-03
| | | | | Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/flvenc: fix shadowed variable tsZhao Zhili2022-08-03
|
* avformat/flvdec: make key frame timestamps more accurateZhao Zhili2022-08-03
| | | | | There was an implicit cast from double to int64_t in time unit of second.
* avformat/flvenc: fix timestamp of key frame indexZhao Zhili2022-08-03
| | | | | | | | | Firstly, the timestamps generated from framerate are inaccurate for variable framerate mode. Secondly, the timestamps always start from zero, while pts/dts can start from nonzero. FLV demuxer rejects such index with message: "Found invalid index entries, clearing the index".
* avdevice/v4l2: fix leak of timefilterZhao Zhili2022-08-03
| | | | | | Fixes ticket #9844. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* ffmpeg_opt: consider HW acceleration method when selecting decoderHaihao Xiang2022-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually a HW decoder is expected when user specifies a HW acceleration method via -hwaccel option, however the current implementation doesn't take HW acceleration method into account, it is possible to select a SW decoder. For example: $ ffmpeg -hwaccel vaapi -i av1.mp4 -f null - $ ffmpeg -hwaccel nvdec -i av1.mp4 -f null - $ ffmpeg -hwaccel vdpau -i av1.mp4 -f null - [...] Stream #0:0 -> #0:0 (av1 (libdav1d) -> wrapped_avframe (native)) libdav1d is selected in this case even if vaapi, nvdec or vdpau is specified. After applying this patch, the native av1 decoder (with vaapi, nvdec or vdpau support) is selected for decoding(libdav1d is still used for probing format). $ ffmpeg -hwaccel vaapi -i av1.mp4 -f null - $ ffmpeg -hwaccel nvdec -i av1.mp4 -f null - $ ffmpeg -hwaccel vdpau -i av1.mp4 -f null - [...] Stream #0:0 -> #0:0 (av1 (native) -> wrapped_avframe (native)) Tested-by: Mario Roy <marioeroy@gmail.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* ffmpeg_opt: select a decoder after getting values for per-stream hwdec optionsHaihao Xiang2022-08-03
| | | | | | | | | | | After applying this patch, the desired HW acceleration method is known before selecting decoder, so we may take HW acceleration method into account when selecting decoder for input stream in the next commit There should be no functional changes in this patch Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avcodec/libaomenc: support AV_CODEC_CAP_ENCODER_RECON_FRAMEJames Almer2022-08-02
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/libx264: support AV_CODEC_CAP_ENCODER_RECON_FRAMEAnton Khirnov2022-08-02
| | | | Bump the version requirement to 122, which introduced b_full_recon.
* lavc: add API for exporting reconstructed frames from encodersAnton Khirnov2022-08-02
|
* lavu/frame: allow calling av_frame_make_writable() on non-refcounted framesAnton Khirnov2022-08-02
| | | | | This is an easy way to make a refcounted frame from a non-refcounted one.
* fftools/ffmpeg_opt: Fix copyinkfAndreas Rheinhardt2022-08-02
| | | | | | | Broken in 9c2b800203a5a8f3d83f3b8f28e8c50d28186b39. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/alpha/me_cmp_alpha: Remove commented-out functionAndreas Rheinhardt2022-08-02
| | | | | | | This function is bitrotten: It uses different parameters than the corresponding ASM functions which replaced it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/alpha/me_cmp_alpha: Use proper me_cmp_func typeAndreas Rheinhardt2022-08-02
| | | | | | | | | | | | | ea41e6d6373063c3a2a9bf48ce8e1c2e6340b694 forgot the int->ptrdiff_t switch for the stride. Libav didn't do it because Libav had already dropped support for Alpha at that point. Only compilation has been tested for this commit. (It might be that the ASM-versions of me_cmp_func functions need to be updated as well.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/lavf-image: Disable file checksums for exr testsAndreas Rheinhardt2022-08-02
| | | | | | | | | | The generated files are endian-dependent, so no checksums may be part of the ref files. Fixes ticket #9854. Tested-by: Sebastian Ramacher <sramacher@debian.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/fate-run: Allow to skip file checksums for lavf_imageAndreas Rheinhardt2022-08-02
| | | | | | | | | | | | | | The output file (even the filesize) of the recently added EXR tests depends on the endianness; therefore checksums of these files must not be part of the ref file. Therefore this commit adds an option (unused for now) to disable these checksums on a per-test basis. In order to avoid having to check twice, the checksum and the filesize info are moved to immediately follow one another; this results into updates to the ref files of all lavf-image tests. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/aacdec_fixed: also clip samples on the second channel for stereo HE-AACJames Almer2022-08-01
| | | | | | | | | Fixes outputting silence on the second channel when decoding Parametic Stereo HE-AAC. Closes ticekt #3361. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aacdec_fixed: add missing priv_classJames Almer2022-08-01
| | | | | | This enables the same input options as the float decoder. Signed-off-by: James Almer <jamrial@gmail.com>
* configure: Check for DXGI_OUTDUPL_FRAME_INFO for the ddagrab filterMartin Storsjö2022-08-01
| | | | | | | | | | | The DXGI_OUTDUPL_FRAME_INFO type isn't available in Windows API subsets other than "desktop", while the IDXGIOutput1 interface is available for all API subsets. This fixes compilation for UWP/"Windows Store" configurations (and older API subsets like Windows Phone). Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ttmlenc: Use string literal macro for default namespacingAndreas Rheinhardt2022-07-31
| | | | | | | | Fixes -Werror=format-security build failures when building with disabled optimizations and (according to fate.ffmpeg.org also with several other old GCC versions). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/exr: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/diracdec: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/dvdec: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/dxv: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/jpeg2000dec: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/magicyuv: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/proresdec2: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp8: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/wavpack: Constify slice threads' ptr to main contextAndreas Rheinhardt2022-07-31
| | | | | | | | Modifying the main context from a slice thread is (usually) a data race, so it must not happen. So only use a pointer to const to access the main context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vp9dec: Constify VP9TileData->VP9Context pointer targetAndreas Rheinhardt2022-07-31
| | | | | | | | This is possible now that ff_thread_await_progress() accepts a const ThreadFrame*. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: Constify ThreadFrames if possibleAndreas Rheinhardt2022-07-31
| | | | | | | This is possible now that ff_thread_await_progress() accepts a const ThreadFrame*. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/motion_est: Constify pointers to frame dataAndreas Rheinhardt2022-07-31
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideodsp: Constify src pointersAndreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideoencdsp: Allow pointers to const where possibleAndreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/me_cmp: Constify me_cmp_func buffer parametersAndreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/cfhdencdsp: Constify input pointersAndreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/lossless_videoencdsp: Constify src sub_left_predictAndreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/videodsp: Constify buf in VideoDSPContext.prefetchAndreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/half2float: Constify arrays in half2float()Andreas Rheinhardt2022-07-31
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>