Skip to content
Snippets Groups Projects
Commit ccf3e770 authored by Nicolas Dufresne's avatar Nicolas Dufresne
Browse files

media: cedrus: Propagate OUTPUT resolution to CAPTURE


As per spec, the CAPTURE resolution should be automatically set based on the
OTUPUT resolution. This patch properly propagate width/height to the capture
when the OUTPUT format is set and override the user provided width/height with
configured OUTPUT resolution when the CAPTURE fmt is updated.

This also prevents userspace from selecting a CAPTURE resolution that is too
small, avoiding unwanted page faults.

Signed-off-by: default avatarNicolas Dufresne <nicolas.dufresne@collabora.com>
parent 743ff235
No related branches found
No related tags found
No related merge requests found
......@@ -247,6 +247,8 @@ static int cedrus_try_fmt_vid_cap(struct file *file, void *priv,
return -EINVAL;
pix_fmt->pixelformat = fmt->pixelformat;
pix_fmt->width = ctx->src_fmt.width;
pix_fmt->height = ctx->src_fmt.height;
cedrus_prepare_format(pix_fmt);
return 0;
......@@ -319,11 +321,14 @@ static int cedrus_s_fmt_vid_out(struct file *file, void *priv,
break;
}
/* Propagate colorspace information to capture. */
/* Propagate format information to capture. */
ctx->dst_fmt.colorspace = f->fmt.pix.colorspace;
ctx->dst_fmt.xfer_func = f->fmt.pix.xfer_func;
ctx->dst_fmt.ycbcr_enc = f->fmt.pix.ycbcr_enc;
ctx->dst_fmt.quantization = f->fmt.pix.quantization;
ctx->dst_fmt.width = ctx->src_fmt.width;
ctx->dst_fmt.height = ctx->src_fmt.height;
cedrus_prepare_format(&ctx->dst_fmt);
return 0;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment