Commit 13168ecb authored by Philip Langdale's avatar Philip Langdale

avfilter/vf_scale_cuda: Simplify output plane addressing

I'm not sure why this was written the way it was originally. We
initialise the plane addresses correctly in hwcontext_cuda so
why try and play games to calculate the plane offsets directly
in this code?
parent bfbde996
...@@ -390,12 +390,12 @@ static int scalecuda_resize(AVFilterContext *ctx, ...@@ -390,12 +390,12 @@ static int scalecuda_resize(AVFilterContext *ctx,
out->data[0], out->width, out->height, out->linesize[0], out->data[0], out->width, out->height, out->linesize[0],
1); 1);
call_resize_kernel(ctx, s->cu_func_uchar, 1, call_resize_kernel(ctx, s->cu_func_uchar, 1,
in->data[0]+in->linesize[0]*in->height, in->width/2, in->height/2, in->linesize[0]/2, in->data[1], in->width/2, in->height/2, in->linesize[0]/2,
out->data[0]+out->linesize[0]*out->height, out->width/2, out->height/2, out->linesize[0]/2, out->data[1], out->width/2, out->height/2, out->linesize[0]/2,
1); 1);
call_resize_kernel(ctx, s->cu_func_uchar, 1, call_resize_kernel(ctx, s->cu_func_uchar, 1,
in->data[0]+ ALIGN_UP((in->linesize[0]*in->height*5)/4, s->tex_alignment), in->width/2, in->height/2, in->linesize[0]/2, in->data[2], in->width/2, in->height/2, in->linesize[0]/2,
out->data[0]+(out->linesize[0]*out->height*5)/4, out->width/2, out->height/2, out->linesize[0]/2, out->data[2], out->width/2, out->height/2, out->linesize[0]/2,
1); 1);
break; break;
case AV_PIX_FMT_YUV444P: case AV_PIX_FMT_YUV444P:
...@@ -404,12 +404,12 @@ static int scalecuda_resize(AVFilterContext *ctx, ...@@ -404,12 +404,12 @@ static int scalecuda_resize(AVFilterContext *ctx,
out->data[0], out->width, out->height, out->linesize[0], out->data[0], out->width, out->height, out->linesize[0],
1); 1);
call_resize_kernel(ctx, s->cu_func_uchar, 1, call_resize_kernel(ctx, s->cu_func_uchar, 1,
in->data[0]+in->linesize[0]*in->height, in->width, in->height, in->linesize[0], in->data[1], in->width, in->height, in->linesize[0],
out->data[0]+out->linesize[0]*out->height, out->width, out->height, out->linesize[0], out->data[1], out->width, out->height, out->linesize[0],
1); 1);
call_resize_kernel(ctx, s->cu_func_uchar, 1, call_resize_kernel(ctx, s->cu_func_uchar, 1,
in->data[0]+in->linesize[0]*in->height*2, in->width, in->height, in->linesize[0], in->data[2], in->width, in->height, in->linesize[0],
out->data[0]+out->linesize[0]*out->height*2, out->width, out->height, out->linesize[0], out->data[2], out->width, out->height, out->linesize[0],
1); 1);
break; break;
case AV_PIX_FMT_YUV444P16: case AV_PIX_FMT_YUV444P16:
...@@ -433,7 +433,7 @@ static int scalecuda_resize(AVFilterContext *ctx, ...@@ -433,7 +433,7 @@ static int scalecuda_resize(AVFilterContext *ctx,
1); 1);
call_resize_kernel(ctx, s->cu_func_uchar2, 2, call_resize_kernel(ctx, s->cu_func_uchar2, 2,
in->data[1], in->width/2, in->height/2, in->linesize[1], in->data[1], in->width/2, in->height/2, in->linesize[1],
out->data[0] + out->linesize[0] * ((out->height + 31) & ~0x1f), out->width/2, out->height/2, out->linesize[1]/2, out->data[1], out->width/2, out->height/2, out->linesize[1]/2,
1); 1);
break; break;
case AV_PIX_FMT_P010LE: case AV_PIX_FMT_P010LE:
...@@ -443,7 +443,7 @@ static int scalecuda_resize(AVFilterContext *ctx, ...@@ -443,7 +443,7 @@ static int scalecuda_resize(AVFilterContext *ctx,
2); 2);
call_resize_kernel(ctx, s->cu_func_ushort2, 2, call_resize_kernel(ctx, s->cu_func_ushort2, 2,
in->data[1], in->width / 2, in->height / 2, in->linesize[1]/2, in->data[1], in->width / 2, in->height / 2, in->linesize[1]/2,
out->data[0] + out->linesize[0] * ((out->height + 31) & ~0x1f), out->width / 2, out->height / 2, out->linesize[1] / 4, out->data[1], out->width / 2, out->height / 2, out->linesize[1] / 4,
2); 2);
break; break;
case AV_PIX_FMT_P016LE: case AV_PIX_FMT_P016LE:
...@@ -453,7 +453,7 @@ static int scalecuda_resize(AVFilterContext *ctx, ...@@ -453,7 +453,7 @@ static int scalecuda_resize(AVFilterContext *ctx,
2); 2);
call_resize_kernel(ctx, s->cu_func_ushort2, 2, call_resize_kernel(ctx, s->cu_func_ushort2, 2,
in->data[1], in->width / 2, in->height / 2, in->linesize[1] / 2, in->data[1], in->width / 2, in->height / 2, in->linesize[1] / 2,
out->data[0] + out->linesize[0] * ((out->height + 31) & ~0x1f), out->width / 2, out->height / 2, out->linesize[1] / 4, out->data[1], out->width / 2, out->height / 2, out->linesize[1] / 4,
2); 2);
break; break;
default: default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment