avfilter/scale_cuda: fix pitch calculation for >8 bit formats

This commit is contained in:
Timo Rothenpieler 2020-11-05 00:46:54 +01:00
parent 442d53f409
commit a1553b0cfb
1 changed files with 4 additions and 2 deletions

View File

@ -406,8 +406,6 @@ static int call_resize_kernel(AVFilterContext *ctx, CUfunction func, int channel
&src_width, &src_height, &bit_depth, &s->param };
int ret;
dst_pitch /= channels;
CUDA_TEXTURE_DESC tex_desc = {
.filterMode = s->interp_use_linear ?
CU_TR_FILTER_MODE_LINEAR :
@ -427,6 +425,10 @@ static int call_resize_kernel(AVFilterContext *ctx, CUfunction func, int channel
.res.pitch2D.devPtr = (CUdeviceptr)src_dptr,
};
// Handling of channels is done via vector-types in cuda, so their size is implicitly part of the pitch
// Same for pixel_size, which is represented via datatypes on the cuda side of things.
dst_pitch /= channels * pixel_size;
ret = CHECK_CU(cu->cuTexObjectCreate(&tex, &res_desc, &tex_desc, NULL));
if (ret < 0)
goto exit;