[FFmpeg-devel] [PATCH v10 13/13] configure: add --enable-libvpl option

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang This allows user to build FFmpeg against Intel oneVPL. oneVPL 2.6 is the required minimum version when building Intel oneVPL code. It will fail to run configure script if both libmfx and libvpl are enabled. It is recommended to use oneVPL for new work, even for currently avai

[FFmpeg-devel] [PATCH v10 08/13] qsv: support OPAQUE memory when MFX_VERSION < 2.0

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang OPAQUE memory isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL --- libav

[FFmpeg-devel] [PATCH v10 11/13] lavc/qsv: create mfx session using oneVPL for decoding/encoding

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang If qsv hwdevice is available, use the mfxLoader handle in qsv hwdevice to create mfx session. Otherwise create mfx session with a new mfxLoader handle. This is in preparation for oneVPL support --- libavcodec/qsv.c | 226 +++--- libavc

[FFmpeg-devel] [PATCH v10 12/13] lavfi/qsv: create mfx session using oneVPL for qsv filters

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang Use the mfxLoader handle in qsv hwdevice to create mfx session for qsv filters. This is in preparation for oneVPL support --- libavfilter/qsvvpp.c | 109 --- libavfilter/qsvvpp.h | 5 ++ libavfilter/vf_deinterlace_qsv.c |

[FFmpeg-devel] [PATCH v10 10/13] lavu/hwcontext_qsv: make qsv hwdevice works with oneVPL

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang In oneVPL, MFXLoad() and MFXCreateSession() are required to create a workable mfx session[1] Add config filters for D3D9/D3D11 session (galinart) The default device is changed to d3d11va for oneVPL when both d3d11va and dxva2 are enabled on Microsoft Windows This is in prepa

[FFmpeg-devel] [PATCH v10 07/13] qsvenc: support MFX_RATECONTROL_LA_EXT when MFX_VERSION < 2.0

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang MFX_RATECONTROL_LA_EXT isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL -

[FFmpeg-devel] [PATCH v10 05/13] qsv: build audio related code when MFX_VERSION < 2.0

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang Audio isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL --- libavcodec/qs

[FFmpeg-devel] [PATCH v10 09/13] lavu/hwcontext_qsv: add loader field to AVQSVDeviceContext

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang In oneVPL, a valid mfxLoader handle is needed when creating mfx session for decoding, encoding and processing[1], so add loader field to AVQSVDeviceContext. User should fill this field before calling av_hwdevice_ctx_init() if using oneVPL This is in preparation for oneVPL supp

[FFmpeg-devel] [PATCH v10 06/13] qsvenc: support multi-frame encode when MFX_VERSION < 2.0

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang Multi-frame encode isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL ---

[FFmpeg-devel] [PATCH v10 04/13] qsv: load user plugin for MFX_VERSION < 2.0

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang User plugin isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL Support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL --- libavco

[FFmpeg-devel] [PATCH v10 03/13] qsv: remove mfx/ prefix from mfx headers

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang The following Cflags has been added to libmfx.pc, so mfx/ prefix is no longer needed when including mfx headers in FFmpeg. Cflags: -I${includedir} -I${includedir}/mfx Some old versions of libmfx have the following Cflags in libmfx.pc Cflags: -I${includedir} We may add -

[FFmpeg-devel] [PATCH v10 02/13] configure: fix the check for MFX_CODEC_VP9

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang The data structures for VP9 in mfxvp9.h is wrapped by MFX_VERSION_NEXT, which means those data structures have never been used in a public release. Actually MFX_CODEC_VP9 and other VP9 stuffs is added in mfxstructures.h. In addition, mfxdefs.h is included in mfxvp9.h, so we may

[FFmpeg-devel] [PATCH v10 01/13] configure: ensure --enable-libmfx uses libmfx 1.x

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang Intel's oneVPL is a successor to MediaSDK, but removed some obsolete features of MediaSDK[1], some early versions of oneVPL still use libmfx as library name[2]. However some of obsolete features, including OPAQUE memory, multi-frame encode, user plugins and LA_EXT rate control

[FFmpeg-devel] [PATCH v10 00/10] make QSV works with the Intel's oneVPL

2022-07-11 Thread Xiang, Haihao
From: Haihao Xiang The oneAPI Video Processing Library (oneVPL) is a single interface for encode, decode and video processing[1][2]. oneVPL is a successor to Intel(R) Media SDK, but removed obsolete features. Intel(R) Media SDK lifetime comes to an end now, new features for new Intel Gen platfor

Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: Rework the AVIF parser to handle multiple items

2022-07-11 Thread James Zern
On Thu, Jun 30, 2022 at 2:04 PM Vignesh Venkatasubramanian wrote: > > Stores the item ids of all the items found in the file and > processes the primary item at the end of the meta box. This patch > does not change any behavior. It sets up the code for parsing > alpha channel (and possibly images

[FFmpeg-devel] [PATCH 2/3] avformat/mpc8: Check and propagate more errors

2022-07-11 Thread Michael Niedermayer
Fixes: Timeout Fixes: 48846/clusterfuzz-testcase-minimized-ffmpeg_dem_MPC8_fuzzer-5278532493770752 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavformat/mpc8.c | 40 +---

[FFmpeg-devel] [PATCH 1/3] avformat/mxfdec: SMPTE RDD 48:2018 support

2022-07-11 Thread Michael Niedermayer
Signed-off-by: Michael Niedermayer --- libavformat/mxf.c| 3 +++ libavformat/mxf.h| 1 + libavformat/mxfdec.c | 48 3 files changed, 52 insertions(+) diff --git a/libavformat/mxf.c b/libavformat/mxf.c index 36d662b58c..8ef928b8fc 100644 ---

[FFmpeg-devel] [PATCH 3/3] tools/target_dec_fuzzer: Adjust threshold for ANM

2022-07-11 Thread Michael Niedermayer
Fixes: Timeout Fixes: 48923/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ANM_fuzzer-6391662321991680 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- tools/target_dec_fuzzer.c | 1 + 1 file changed,

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Martin Storsjö
On Tue, 12 Jul 2022, Martin Storsjö wrote: On Mon, 11 Jul 2022, Henrik Gramner wrote: On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö wrote: +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && (defined(__ELF__) || defined(__MACH__)) +#define av_visibility_hidden __attribute__((

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Martin Storsjö
On Mon, 11 Jul 2022, Henrik Gramner wrote: On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö wrote: +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && (defined(__ELF__) || defined(__MACH__)) +#define av_visibility_hidden __attribute__((visibility("hidden"))) +#else +#define av

Re: [FFmpeg-devel] [PATCH 2/2] lavc/aarch64: Add pix_abs16_x2 neon implementation

2022-07-11 Thread Martin Storsjö
On Wed, 29 Jun 2022, Hubert Mazur wrote: Provide neon implementation for pix_abs16_x2 function. Performance tests of implementation are below. - pix_abs_0_1_c: 291.9 - pix_abs_0_1_neon: 73.7 Benchmarks and tests run with checkasm tool on AWS Graviton 3. Signed-off-by: Hubert Mazur --- libavc

Re: [FFmpeg-devel] [PATCH 1/2] lavc/aarch64: Assign callback with function

2022-07-11 Thread Martin Storsjö
On Wed, 29 Jun 2022, Hubert Mazur wrote: Assign c->sad[0] callback with already existing neon implementation of pix_abs16 function. Signed-off-by: Hubert Mazur --- libavcodec/aarch64/me_cmp_init_aarch64.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/aarch64/me_cmp_init_aarch

Re: [FFmpeg-devel] [PATCH] avformat/flacdec: Implement decoding of 32-bit PCM

2022-07-11 Thread Martijn van Beurden
Op ma 20 jun. 2022 om 22:14 schreef Martijn van Beurden : > Recently libFLAC gained the ability (not in any released version yet > though) to create FLAC files containing 32-bit int PCM samples. To > keep complexity reasonable, the choice was made to limit residuals > to 32-bit integers, which the

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Andreas Rheinhardt
Timo Rothenpieler: > On 11.07.2022 16:26, Andreas Rheinhardt wrote: >> Henrik Gramner: >>> On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö >>> wrote: +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && (defined(__ELF__) || defined(__MACH__)) +#    define av_visibility_hidde

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Timo Rothenpieler
On 11.07.2022 16:26, Andreas Rheinhardt wrote: Henrik Gramner: On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö wrote: +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && (defined(__ELF__) || defined(__MACH__)) +#define av_visibility_hidden __attribute__((visibility("hidden"))) +#

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Andreas Rheinhardt
Henrik Gramner: > On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö wrote: >> +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && >> (defined(__ELF__) || defined(__MACH__)) >> +#define av_visibility_hidden __attribute__((visibility("hidden"))) >> +#else >> +#define av_visibility_hi

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Triang3l
Yes, making everything except for av_ hidden by default would be more consistent with the current build process, which includes libavcodec.v. Though, this is a special case that results not only in increasing the shared object file size if libavcodec.v is not used, which is undesirable, yet har

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Henrik Gramner
On Mon, Jul 11, 2022 at 11:19 AM Martin Storsjö wrote: > +#if (AV_GCC_VERSION_AT_LEAST(4,0) || defined(__clang__)) && > (defined(__ELF__) || defined(__MACH__)) > +#define av_visibility_hidden __attribute__((visibility("hidden"))) > +#else > +#define av_visibility_hidden > +#endif The usu

Re: [FFmpeg-devel] [PATCH 2/2] libavcodec: Set hidden visibility on global symbols accessed from AArch64 assembly

2022-07-11 Thread Andreas Rheinhardt
Martin Storsjö: > The AArch64 assembly accesses those symbols directly, without > indirection via e.g. the GOT on ELF. In order for this not to > require text relocations, those symbols need to be resolved fully > at link time, i.e. those symbols can't be interposable. > > Normally, so far, this i

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Andreas Rheinhardt
Martin Storsjö: > On Mon, 11 Jul 2022, Andreas Rheinhardt wrote: > >> Martin Storsjö: >>> Signed-off-by: Martin Storsjö >>> --- >>>  doc/APIchanges | 3 +++ >>>  libavutil/attributes.h | 6 ++ >>>  libavutil/version.h    | 2 +- >>>  3 files changed, 10 insertions(+), 1 deletion(-) >>> >

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Martin Storsjö
On Mon, 11 Jul 2022, Andreas Rheinhardt wrote: Martin Storsjö: Signed-off-by: Martin Storsjö --- doc/APIchanges | 3 +++ libavutil/attributes.h | 6 ++ libavutil/version.h| 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges ind

Re: [FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Andreas Rheinhardt
Martin Storsjö: > Signed-off-by: Martin Storsjö > --- > doc/APIchanges | 3 +++ > libavutil/attributes.h | 6 ++ > libavutil/version.h| 2 +- > 3 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index 20b944933a..5d84bc27d7 100644

[FFmpeg-devel] [PATCH 2/2] libavcodec: Set hidden visibility on global symbols accessed from AArch64 assembly

2022-07-11 Thread Martin Storsjö
The AArch64 assembly accesses those symbols directly, without indirection via e.g. the GOT on ELF. In order for this not to require text relocations, those symbols need to be resolved fully at link time, i.e. those symbols can't be interposable. Normally, so far, this is achieved when linking shar

[FFmpeg-devel] [PATCH 1/2] libavutil: Add av_visibility_hidden for setting hidden symbol visibility

2022-07-11 Thread Martin Storsjö
Signed-off-by: Martin Storsjö --- doc/APIchanges | 3 +++ libavutil/attributes.h | 6 ++ libavutil/version.h| 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 20b944933a..5d84bc27d7 100644 --- a/doc/APIchanges +++ b/doc/API

Re: [FFmpeg-devel] [PATCH] avcodec/aarch64: Access externs via GOT with PIC

2022-07-11 Thread Martin Storsjö
On Mon, 11 Jul 2022, Triang3l wrote: However, static libraries barely have anything to configure overall as far as I know, so disabling exports specifically for FFmpeg may be complicated — but thankfully, we can (and even should, to reduce the file size) use -fvisibility=hidden globally in our

[FFmpeg-devel] [PATCH v2 2/2] lavfi/cropdetect: Add new mode to detect crop-area based on motion vectors and edges

2022-07-11 Thread Thilo Borgmann
$subject -ThiloFrom ccc2b5ab29c4ca00c0a59af318fc865d37832377 Mon Sep 17 00:00:00 2001 From: Thilo Borgmann Date: Mon, 11 Jul 2022 10:48:53 +0200 Subject: [PATCH v2 2/2] lavfi/cropdetect: Add new mode to detect crop-area based on motion vectors and edges This filter allows crop detection even i

[FFmpeg-devel] [PATCH v2 1/2] lavfi/edge_common: Add 16bit versions of gaussian_blur and sobel

2022-07-11 Thread Thilo Borgmann
Hi, 1/2 adds 16 bit versions of ff_gaussian_blur and ff_sobel. 2/2 adds new mode to cropdetect. Thanks, ThiloFrom fc8c179e2de4dee3d32d2e02684f3e3215af63c6 Mon Sep 17 00:00:00 2001 From: Thilo Borgmann Date: Sun, 10 Jul 2022 12:40:27 +0200 Subject: [PATCH v2 1/2] lavfi/edge_common: Add 16bit ve