[FFmpeg-devel] [PATCH] [WIP] lavc: add an av1_vulkan encoder

Michael Niedermayer michael at niedermayer.cc
Tue Mar 11 00:17:34 EET 2025


Hi Lynne

On Mon, Mar 10, 2025 at 04:17:04AM +0100, Lynne wrote:
> This commit adds a Vulkan AV1 encoder, using the native acceleration API.
> 
> This commit and patchset needs more testing, hence WIP for now.
> ---
>  configure                      |    1 +
>  libavcodec/Makefile            |    2 +
>  libavcodec/allcodecs.c         |    1 +
>  libavcodec/vulkan_encode_av1.c | 1381 ++++++++++++++++++++++++++++++++
>  libavcodec/vulkan_video.c      |   82 ++
>  libavcodec/vulkan_video.h      |    4 +
>  libavutil/hwcontext_vulkan.c   |    2 +
>  libavutil/vulkan_functions.h   |    1 +
>  libavutil/vulkan_loader.h      |    1 +
>  9 files changed, 1475 insertions(+)
>  create mode 100644 libavcodec/vulkan_encode_av1.c
[...]

> +        if (fabs(avctx->b_quant_factor) > 0.0)
> +            enc->q_idx_b =
> +                av_clip((fabs(avctx->b_quant_factor) * enc->q_idx_p  +
> +                         avctx->b_quant_offset) + 0.5,
> +                        0, 255);

av_clip_uint8() (multiple)


[...]

> +        .order_hint_bits_minus_1 = av_clip(av_log2(ctx->base.gop_size), 0, 7),

av_clip_uintp2()

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Take away the freedom of one citizen and you will be jailed, take away
the freedom of all citizens and you will be congratulated by your peers
in Parliament.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250310/11dbdc9a/attachment.sig>


More information about the ffmpeg-devel mailing list