[FFmpeg-devel] [PATCH] avcodec/nvenc: Include nvEncodeAPI v7 SDK header
James Almer
jamrial at gmail.com
Tue Aug 30 01:13:10 EEST 2016
On 8/29/2016 5:31 PM, Timo Rothenpieler wrote:
> On 8/29/2016 8:43 PM, James Almer wrote:
>> On 8/27/2016 9:58 AM, Timo Rothenpieler wrote:
>>> @@ -5996,6 +5992,22 @@ enabled vdpau && enabled xlib &&
>>> check_lib2 "vdpau/vdpau.h vdpau/vdpau_x11.h" vdp_device_create_x11 -lvdpau &&
>>> enable vdpau_x11
>>>
>>> +case $target_os in
>>> + mingw32*|mingw64*|win32|win64|linux|cygwin*)
>>> + disabled nvenc || enable nvenc
>>> + ;;
>>> + *)
>>> + disable nvenc
>>> + ;;
>>> +esac
>>> +
>>> +if enabled nvenc; then
>>> + {
>>> + echo '#include "compat/nvenc/nvEncodeAPI.h"'
>>> + echo 'int main(void) { return 0; }'
>>> + } | check_cc -I$source_path || disable nvenc
>>
>> In what situation could this test fail? nvenc is only enabled if $target_os
>> is one of the supported ones, and the test does nothing but compile the
>> header.
>
> Strange/broken compiler like ancient MinGW or Cygwin, or old MSVC.
I don't think anything in those could break compilation of this header. It
doesn't seem to use any api, define or struct from windows only headers
aside from RECT, GUID and __stdcall.
If any of the nvenc files from libavcodec depends on something that could
be missing in old and broken compilers then a more specific check should
be done for it.
>
>> If it only supports x86 then you can just check "enabled x86" instead.
>
> NVENC is not supported on FreeBSD or OSX for example.
I figured as much seeing the OS list above. What i meant was that if the
check was meant to make sure it's only enabled on x86 linux/windows
targets, and not for example ARM like when building for WinRT, then you
could simply check for supported OSes and x86 arch.
This test succeeds on every Linux/Windows target. It includes only
stdint.h, stdlib.h, windows.h if necessary, and defines RECT and GUID
on non-Windows platforms.
See http://fate.ffmpeg.org/. All the nvenc files are being compiled on
every platform (arm, aarch64, alpha, mips, etc).
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
More information about the ffmpeg-devel
mailing list