diff options
author | Clément Bœsch <u@pkh.me> | 2017-03-20 08:37:40 +0100 |
---|---|---|
committer | Clément Bœsch <u@pkh.me> | 2017-03-20 08:37:40 +0100 |
commit | a5cf6628d68edd1c14d483e07bb5e68026eb707a (patch) | |
tree | c6122359a8b80c6212f6ed3ca26837eaee83675b /libavutil/hwcontext_dxva2.c | |
parent | 8200b16a9c77e66759a5b992bd1ae93c984702c7 (diff) | |
parent | f01f7a7846529b7c3ef343f117eaa2c0a1457af0 (diff) | |
download | ffmpeg-a5cf6628d68edd1c14d483e07bb5e68026eb707a.tar.gz |
Merge commit 'f01f7a7846529b7c3ef343f117eaa2c0a1457af0'
* commit 'f01f7a7846529b7c3ef343f117eaa2c0a1457af0':
hwcontext_dxva2: use the special UC copy for downloading frames
Merged-by: Clément Bœsch <u@pkh.me>
Diffstat (limited to 'libavutil/hwcontext_dxva2.c')
-rw-r--r-- | libavutil/hwcontext_dxva2.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c index 4feb0a7306..8d03c5aeda 100644 --- a/libavutil/hwcontext_dxva2.c +++ b/libavutil/hwcontext_dxva2.c @@ -293,8 +293,13 @@ static int dxva2_transfer_data(AVHWFramesContext *ctx, AVFrame *dst, (uint8_t*)LockedRect.pBits, surf_linesize); if (download) { - av_image_copy(dst->data, dst->linesize, surf_data, surf_linesize, - ctx->sw_format, src->width, src->height); + ptrdiff_t src_linesize1[4], dst_linesize1[4]; + for (i = 0; i < 4; i++) { + dst_linesize1[i] = dst->linesize[i]; + src_linesize1[i] = surf_linesize[i]; + } + av_image_copy_uc_from(dst->data, dst_linesize1, surf_data, src_linesize1, + ctx->sw_format, src->width, src->height); } else { av_image_copy(surf_data, surf_linesize, src->data, src->linesize, ctx->sw_format, src->width, src->height); |