horizon --enable-pic --enable-gpl
--enable-nvtegra
```
It should probably be noted that NVDEC usage on discrete gpus is
very similar. As far as I know, the main difference is that the
interfacing is done through the GPFIFO block (same block that
manages the 3D engine), instead of host1x.
Thank you for
This is useful eg. for memory-mapped buffers that need page-aligned memory,
when dealing with hardware devices
Signed-off-by: averne
---
libavutil/buffer.c | 31 +++
libavutil/buffer.h | 7 +++
2 files changed, 38 insertions(+)
diff --git a/libavutil/buffer.c
kernel and system daemons, termed sysmodules).
Signed-off-by: averne
---
configure | 8
libavutil/cpu.c | 7 +++
2 files changed, 15 insertions(+)
diff --git a/configure b/configure
index 96b181fd21..09fb2aed1b 100755
--- a/configure
+++ b/configure
@@ -5967,6 +5967,10 @@ case
ost1x.
Signed-off-by: averne
---
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 1
command lists sent to the engines).
Signed-off-by: averne
---
configure |2 +
libavutil/Makefile |4 +
libavutil/nvtegra.c| 1035
libavutil/nvtegra.h| 258 +
libavutil/nvtegra_host1x.h | 94
) did not support 10+ bit formats,
these go through two separate copy steps for the luma and chroma planes.
The second method copies on the CPU, and is used as a fallback if the VIC
constraints are not satisfied.
Signed-off-by: averne
---
libavutil/Makefile | 7 +-
libavutil
To save on energy, the clock speed of multimedia engines should be adapted to
their workload.
Signed-off-by: averne
---
libavutil/hwcontext_nvtegra.c | 165 ++
libavutil/hwcontext_nvtegra.h | 7 ++
2 files changed, 172 insertions(+)
diff --git a/libavutil
This includes decode common de/initialization code, decode-job management, and
constraint checks.
Signed-off-by: averne
---
configure | 1 +
libavcodec/Makefile | 2 +
libavcodec/hwconfig.h | 2 +
libavcodec/nvtegra_decode.c | 517
This is probably the most straightforward codec to implement on NVDEC. Since
mpeg2 is a superset of mpeg1, both are supported by the same backend.
Signed-off-by: averne
---
configure | 4 +
libavcodec/Makefile | 2 +
libavcodec/hwaccels.h | 2 +
libavcodec
Signed-off-by: averne
---
configure | 2 +
libavcodec/Makefile| 1 +
libavcodec/h263dec.c | 6 +
libavcodec/hwaccels.h | 1 +
libavcodec/mpeg4videodec.c | 3 +
libavcodec/nvtegra_mpeg4.c | 344 +
6 files changed
Since L4T does not hook up the vc1 code to a user-facing library, this was
written solely based on static reverse engineering.
Signed-off-by: averne
---
configure| 3 +
libavcodec/Makefile | 1 +
libavcodec/hwaccels.h| 2 +
libavcodec/nvtegra_vc1.c | 455
This uses NVJPG, a hardware engine separate from NVDEC. On the tegra 210 (and
possibly later hardware), it has the specificity of being unable to decode to
tiled surfaces, along with some quirks that have been observed to hang the
hardware.
Signed-off-by: averne
---
configure
This hardware block was based on/licensed from the hantro implementation (as
evidenced by the identical structures). Relevant V4L2 kernel code was
referenced when implementing backward entropy updates.
Signed-off-by: averne
---
configure| 2 +
libavcodec/Makefile | 1
Due to the hardware modus operandi, dpb references must stay at a fixed slot
for their entire lifetime.
Signed-off-by: averne
---
configure | 2 +
libavcodec/Makefile | 1 +
libavcodec/h264_slice.c | 6 +-
libavcodec/h264dec.c | 3 +
libavcodec/hwaccels.h
Same remark as for h264. In addition, a number of bits to be skipped must be
calculated. This is done in the main header parsing routine, instead of
reimplementing it in the hwaccel backend.
On the tegra 210, this is the only hardware codec that can output 10-bit data.
Signed-off-by: averne
Signed-off-by: averne
---
configure| 2 +
libavcodec/Makefile | 1 +
libavcodec/hwaccels.h| 1 +
libavcodec/nvtegra_vp8.c | 334 +++
libavcodec/vp8.c | 6 +
5 files changed, 344 insertions(+)
create mode 100644
Le 30/05/2024 à 22:37, Rémi Denis-Courmont a écrit :
> Le torstaina 30. toukokuuta 2024, 22.43.04 EEST averne a écrit :
>> HorizonOS (HOS) is the operating system of the Nintendo Switch.
>> This patch enables integration with the homebrew toolchain developped by the
>> devkitP
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 hardwar
Le 30/05/2024 à 22:38, Rémi Denis-Courmont a écrit :
> Le torstaina 30. toukokuuta 2024, 22.43.03 EEST averne a écrit :
>> This is useful eg. for memory-mapped buffers that need page-aligned memory,
>> when dealing with hardware devices
>>
>> Signed-off-by: averne
&g
Le 31/05/2024 à 10:32, Rémi Denis-Courmont a écrit :
>
>
> Le 30 mai 2024 22:43:07 GMT+03:00, averne a écrit :
>> This includes a new pixel format for nvtegra hardware frames, and several
>> objects for interaction with hardware blocks.
>> In particular, this
Le 31/05/2024 à 23:16, Timo Rothenpieler a écrit :
> 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 modificat
Le 31/05/2024 à 23:44, Michael Niedermayer a écrit :
> On Fri, May 31, 2024 at 11:06:49PM +0200, averne wrote:
>> Le 30/05/2024 à 22:38, Rémi Denis-Courmont a écrit :
>>> Le torstaina 30. toukokuuta 2024, 22.43.03 EEST averne a écrit :
>>>> This is useful eg. for m
Le 05/06/2024 à 22:29, Mark Thompson a écrit :
> On 30/05/2024 20:43, averne wrote:
>> This includes a new pixel format for nvtegra hardware frames, and several
>> objects for interaction with hardware blocks.
>> In particular, this contains code for channels (handles to
Le 05/06/2024 à 22:47, Mark Thompson a écrit :>
> On 30/05/2024 20:43, averne wrote:
>> This includes hwdevice and hwframes objects.
>> As the multimedia engines work with tiled surfaces (block linear in nvidia
>> jargon), two frame transfer methods are implemented.
>&
Le 05/06/2024 à 22:50, Mark Thompson a écrit :
> On 30/05/2024 20:43, averne wrote:
>> To save on energy, the clock speed of multimedia engines should be adapted
>> to their workload.
>>
>> Signed-off-by: averne
>> ---
>&g
This allow to specify additional parameters with
`./configure -ar='ar -...`.
Previously this resulted in an error (no operation specified).
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsu
---
configure | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index b61a189b07..428180273b 100755
--- a/configure
+++ b/configure
@@ -4869,10 +4869,10 @@ if $ar 2>&1 | grep -q Microsoft; then
arflags="-nologo"
ar_o='-out:$@'
elif $ar 2>&1 |
Le 20/09/2024 à 20:41, Carlos Ruiz a écrit :> The native hevc codec doesn't
> support resizing, so you decode video at full 4k on the gpu, which means
> allocating
> something like 5-10 surfaces at 3840x2160 which becomes 250MB of GPU memory,
> and then you have immediately take all of those frames
.:
https://drive.google.com/file/d/1WJyiRhcdU4FHTW3sVMitS7UdrZM1NBy-/view?usp=sharing
This was investigated using my nvdec tracing tool:
https://github.com/averne/NvdecTrace
Signed-off-by: averne
---
libavcodec/nvdec_vc1.c | 45 -
1 file changed, 44
Le 08/04/2025 à 11:19, Zhao Zhili a écrit :
> Sorry for the long delay.
No problem, thank you for the review.
>
>> On Mar 5, 2025, at 01:17, averne wrote:
>>
>>
>> ---
>> Insert the relevant marker into the bitstream on
>> slice submission.
>>
nvdec tracing tool:
https://github.com/averne/NvdecTrace
Signed-off-by: averne
---
libavcodec/nvdec_vc1.c | 50 --
1 file changed, 48 insertions(+), 2 deletions(-)
diff --git a/libavcodec/nvdec_vc1.c b/libavcodec/nvdec_vc1.c
index
Bump
Le 04/03/2025 à 18:17, averne a écrit :
>
>
> ---
> Insert the relevant marker into the bitstream on
> slice submission.
> This is analogous to the logic found in DXVA and
> D3D hwaccels.
>
> Fixes decoding of various VC-1 streams, eg.:
> h
/sigdb/spevideo/VideoForm-s.aspx?val=102002641),
on my WIP hwaccel backend (https://github.com/averne/FFmpeg/tree/envideo).
Potentially fixes more hwaccels using this value (dxva2, vaapi, vdpau,
vulkan).
This patch was verified to not cause any regression of the software
decoder.
Signed-off-by: averne
---
libavutil/vulkan.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index
a989e080abd372b8977dce107100b9370fac8305..eea80d0775a87ed6683cb58d30ba9ba8d6c1dd26
100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -298,6 +298,8 @@ void ff_vk_ex
This fixes a few leaks reported by LeakSanitizer.
I tested this on my Intel laptop running anv, with
these patches no more leaks are detected.
Signed-off-by: averne
---
averne (3):
vulkan: fix leak in FFVkExecPool
vulkan/ffv1dec: fix leak in FFVulkanDecodeShared
vulkan/ffv1dec
---
libavcodec/vulkan_ffv1.c | 58 +++-
1 file changed, 23 insertions(+), 35 deletions(-)
diff --git a/libavcodec/vulkan_ffv1.c b/libavcodec/vulkan_ffv1.c
index
8329b5d7dfad18de96884ea2c1f6f186682e430c..b02bc71683fd7d06dad3f4cf667ee3e8c57f3c83
100644
---
libavcodec/vulkan_ffv1.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavcodec/vulkan_ffv1.c b/libavcodec/vulkan_ffv1.c
index
c839f4c3879e158e0c0bfb4f5a833fff0b83d2f0..8329b5d7dfad18de96884ea2c1f6f186682e430c
100644
--- a/libavcodec/vulkan_ffv1.c
+++ b/libavcodec/vulkan_ffv1.c
@@
37 matches
Mail list logo