[FFmpeg-devel] [PATCH 03/16] avutil: add ioctl definitions for tegra devices

Timo Rothenpieler timo at rothenpieler.org
Sat Jun 1 00:16:25 EEST 2024


On 31.05.2024 23:06, averne wrote:
> Le 30/05/2024 à 22:42, Rémi Denis-Courmont a écrit :
>> Le torstaina 30. toukokuuta 2024, 22.43.05 EEST averne a écrit :
>>> These files are taken with minimal modifications from nvidia's Linux4Tegra
>>> (L4T) tree. nvmap enables management of memory-mapped buffers for hardware
>>> devices. nvhost enables interaction with different hardware modules
>>> (multimedia engines, display engine, ...), through a common block, host1x.
>>>
>>> Signed-off-by: averne <averne381 at gmail.com>
>>> ---
>>>   libavutil/Makefile       |   2 +
>>>   libavutil/nvhost_ioctl.h | 511 +++++++++++++++++++++++++++++++++++++++
>>>   libavutil/nvmap_ioctl.h  | 451 ++++++++++++++++++++++++++++++++++
>>>   3 files changed, 964 insertions(+)
>>>   create mode 100644 libavutil/nvhost_ioctl.h
>>>   create mode 100644 libavutil/nvmap_ioctl.h
>>>
>>> diff --git a/libavutil/Makefile b/libavutil/Makefile
>>> index 6e6fa8d800..9c112bc58a 100644
>>> --- a/libavutil/Makefile
>>> +++ b/libavutil/Makefile
>>> @@ -52,6 +52,8 @@ HEADERS = adler32.h
>>>               \ hwcontext_videotoolbox.h
>>>   \ hwcontext_vdpau.h                                             \
>>> hwcontext_vulkan.h                                            \ +
>>> nvhost_ioctl.h                                                \ +
>>> nvmap_ioctl.h                                                 \ iamf.h
>>>                                                    \ imgutils.h
>>>                                        \ intfloat.h
>>>                            \ diff --git a/libavutil/nvhost_ioctl.h
>>> b/libavutil/nvhost_ioctl.h
>>> new file mode 100644
>>> index 0000000000..b0bf3e3ae6
>>> --- /dev/null
>>> +++ b/libavutil/nvhost_ioctl.h
>>> @@ -0,0 +1,511 @@
>>> +/*
>>> + * include/uapi/linux/nvhost_ioctl.h
>>
>> Well, then that should be provided by linux-libc-dev or equivalent. I don't
>> think that this should be vendored into FFmpeg.
>>
> 
> Agreed. On L4T this is provided by nvidia-l4t-kernel-headers, but
> on the HOS side there is no such equivalent yet. If this patch
> series moves forward, I will integrate the relevant bits in libnx
> and get rid of those headers.
> As for the hardware definitions (in the following patch), I think
> they should be put in nv-codec-headers.

I disagree there, the nv-codec-headers track the upstream codec SDK.
Making it track two independent things would be a mess.

This patchset is implementing parts of an entire video-driver into 
FFmpeg. Which really looks out of scope to me.
Can't all that be moved into a library, which then also comes with the 
necessary headers for applications to use it?

On that note, how stable are those headers? Given they're part of the 
nvidia driver, couldn't they randomly change at any time?


More information about the ffmpeg-devel mailing list