diff mbox series

[FFmpeg-devel,1/5] avcodec: Require AMF SDK v1.4.23 or newer

Message ID a440dce6b5c8b90e80660641d632c60a4cc1c1bd.1642029358.git.info@xaymar.com
State New
Headers show
Series [FFmpeg-devel,1/5] avcodec: Require AMF SDK v1.4.23 or newer | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc success Make fate finished
andriy/make_aarch64_jetson success Make finished
andriy/make_fate_aarch64_jetson success Make fate finished

Commit Message

Michael Fabian 'Xaymar' Dirks Jan. 12, 2022, 11:17 p.m. UTC
From: Michael Fabian 'Xaymar' Dirks <michael.dirks@xaymar.com>

Increasing the minimum AMF SDK version allows us to support
more recent hardware and drivers, which is necessary to fix
some of the discrepancies between older and newer drivers on
AMD hardware with FFmpeg.
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hendrik Leppkes Jan. 12, 2022, 11:20 p.m. UTC | #1
On Thu, Jan 13, 2022 at 12:18 AM Michael Fabian 'Xaymar' Dirks
<info@xaymar.com> wrote:
>
> From: Michael Fabian 'Xaymar' Dirks <michael.dirks@xaymar.com>
>
> Increasing the minimum AMF SDK version allows us to support
> more recent hardware and drivers, which is necessary to fix
> some of the discrepancies between older and newer drivers on
> AMD hardware with FFmpeg.

1.4.23 was just released in December, merely a month ago, correct?
Is there no way to maintain compatibility, or at least more of it, as
well as supporting new hardware?

- Hendrik
Michael Fabian 'Xaymar' Dirks Jan. 12, 2022, 11:49 p.m. UTC | #2
I'm unsure what compatibility is broken here, since AMD's AMF SDK does not verify the drivers AMF Runtime, or the other way around. At least from my experience writing an AMF integration for another software and testing with current hardware, older Drivers work just fine. If necessary I can port the entire compatibility structures I built for another open source software to FFmpeg, which would extend the minimum driver version to 19.7.1 and would include drivers that cause stack and heap corruptions, weird dlopen/LoadLibrary issues, and more.

If you meant compatibility with older versions of the SDK, it is possible. Since this is meant to add new features, increasing the minimum SDK version felt line the better choice than allowing users to build amfenc "wrong" and getting a completely different set of options out of FFmpeg.

On 2022-01-13 00:20, Hendrik Leppkes wrote:
> On Thu, Jan 13, 2022 at 12:18 AM Michael Fabian 'Xaymar' Dirks
> <info@xaymar.com> wrote:
>> From: Michael Fabian 'Xaymar' Dirks <michael.dirks@xaymar.com>
>>
>> Increasing the minimum AMF SDK version allows us to support
>> more recent hardware and drivers, which is necessary to fix
>> some of the discrepancies between older and newer drivers on
>> AMD hardware with FFmpeg.
> 1.4.23 was just released in December, merely a month ago, correct?
> Is there no way to maintain compatibility, or at least more of it, as
> well as supporting new hardware?
>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Michael Fabian 'Xaymar' Dirks July 6, 2022, 8:48 p.m. UTC | #3
On 2022-01-13 00:17, Michael Fabian 'Xaymar' Dirks wrote:
> From: Michael Fabian 'Xaymar' Dirks <michael.dirks@xaymar.com>
>
> Increasing the minimum AMF SDK version allows us to support
> more recent hardware and drivers, which is necessary to fix
> some of the discrepancies between older and newer drivers on
> AMD hardware with FFmpeg.

It appears that this set of patches was overlooked, could I get some eyes to look at it again, and perhaps even have it merged into the main tree? I've been using it in production for a bit now, as it fixes most of the encountered issues with amfenc.
diff mbox series

Patch

diff --git a/configure b/configure
index 1413122d87..515ec1a50f 100755
--- a/configure
+++ b/configure
@@ -6969,7 +6969,7 @@  fi
 
 enabled amf &&
     check_cpp_condition amf "AMF/core/Version.h" \
-        "(AMF_VERSION_MAJOR << 48 | AMF_VERSION_MINOR << 32 | AMF_VERSION_RELEASE << 16 | AMF_VERSION_BUILD_NUM) >= 0x0001000400090000"
+        "AMF_FULL_VERSION >= AMF_MAKE_FULL_VERSION(1, 4, 23, 0)"
 
 # Funny iconv installations are not unusual, so check it after all flags have been set
 if enabled libc_iconv; then