[FFmpeg-devel] [PATCH] avutil/hwcontext_d3d12va: Use av_image_copy() wrapper

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Dec 22 11:02:44 EET 2023


Avoids casts all over the place; in this case, it also
replaces the unsafe cast uint8_t**->const uint8_t **
by the safe cast uint8_t**->const uint8_t * const*.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavutil/hwcontext_d3d12va.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavutil/hwcontext_d3d12va.c b/libavutil/hwcontext_d3d12va.c
index 414dd44290..3acd5ac43a 100644
--- a/libavutil/hwcontext_d3d12va.c
+++ b/libavutil/hwcontext_d3d12va.c
@@ -469,8 +469,8 @@ static int d3d12va_transfer_data(AVHWFramesContext *ctx, AVFrame *dst,
         DX_CHECK(ID3D12Resource_Map(s->staging_download_buffer, 0, NULL, (void **)&mapped_data));
         av_image_fill_pointers(data, ctx->sw_format, ctx->height, mapped_data, linesizes);
 
-        av_image_copy(dst->data, dst->linesize,  (const uint8_t **)data, linesizes,
-                      ctx->sw_format, ctx->width, ctx->height);
+        av_image_copy2(dst->data, dst->linesize, data, linesizes,
+                       ctx->sw_format, ctx->width, ctx->height);
 
         ID3D12Resource_Unmap(s->staging_download_buffer, 0, NULL);
     } else {
@@ -487,8 +487,8 @@ static int d3d12va_transfer_data(AVHWFramesContext *ctx, AVFrame *dst,
         DX_CHECK(ID3D12Resource_Map(s->staging_upload_buffer, 0, NULL, (void **)&mapped_data));
         av_image_fill_pointers(data, ctx->sw_format, ctx->height, mapped_data, linesizes);
 
-        av_image_copy(data, linesizes,  (const uint8_t **)src->data, src->linesize,
-                      ctx->sw_format, ctx->width, ctx->height);
+        av_image_copy2(data, linesizes, src->data, src->linesize,
+                       ctx->sw_format, ctx->width, ctx->height);
 
         ID3D12Resource_Unmap(s->staging_upload_buffer, 0, NULL);
 
-- 
2.34.1



More information about the ffmpeg-devel mailing list