0002-lavc-vaapi_encode_h265-Use-surface-alignment.patch 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. From d0facac679faf45d3356dff2e2cb382580d7a521 Mon Sep 17 00:00:00 2001
  2. From: David Rosca <[email protected]>
  3. Date: Tue, 22 Oct 2024 17:26:59 +0200
  4. Subject: [PATCH 2/2] lavc/vaapi_encode_h265: Use surface alignment
  5. This is needed to correctly set conformance window crop with Mesa AMD.
  6. Signed-off-by: Timo Rothenpieler <[email protected]>
  7. ---
  8. libavcodec/vaapi_encode_h265.c | 6 ++++--
  9. 1 file changed, 4 insertions(+), 2 deletions(-)
  10. diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c
  11. index 2283bcc0b4..44d9fdbbd5 100644
  12. --- a/libavcodec/vaapi_encode_h265.c
  13. +++ b/libavcodec/vaapi_encode_h265.c
  14. @@ -951,8 +951,10 @@ static av_cold int vaapi_encode_h265_get_encoder_caps(AVCodecContext *avctx)
  15. "min CB size %dx%d.\n", priv->ctu_size, priv->ctu_size,
  16. priv->min_cb_size, priv->min_cb_size);
  17. - base_ctx->surface_width = FFALIGN(avctx->width, priv->min_cb_size);
  18. - base_ctx->surface_height = FFALIGN(avctx->height, priv->min_cb_size);
  19. + base_ctx->surface_width = FFALIGN(avctx->width,
  20. + FFMAX(priv->min_cb_size, priv->common.surface_alignment_width));
  21. + base_ctx->surface_height = FFALIGN(avctx->height,
  22. + FFMAX(priv->min_cb_size, priv->common.surface_alignment_height));
  23. base_ctx->slice_block_width = base_ctx->slice_block_height = priv->ctu_size;
  24. --
  25. 2.43.0