Lines Matching refs:f

440 			 struct v4l2_fmtdesc *f)  in coda_enum_fmt()  argument
447 if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) in coda_enum_fmt()
449 else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { in coda_enum_fmt()
469 f->pixelformat = V4L2_PIX_FMT_YUV422P; in coda_enum_fmt()
470 return f->index ? -EINVAL : 0; in coda_enum_fmt()
477 if (f->index >= CODA_MAX_FORMATS || formats[f->index] == 0) in coda_enum_fmt()
481 if (!ctx->vdoa && f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && in coda_enum_fmt()
482 formats[f->index] == V4L2_PIX_FMT_YUYV) in coda_enum_fmt()
485 f->pixelformat = formats[f->index]; in coda_enum_fmt()
491 struct v4l2_format *f) in coda_g_fmt() argument
496 q_data = get_q_data(ctx, f->type); in coda_g_fmt()
500 f->fmt.pix.field = V4L2_FIELD_NONE; in coda_g_fmt()
501 f->fmt.pix.pixelformat = q_data->fourcc; in coda_g_fmt()
502 f->fmt.pix.width = q_data->width; in coda_g_fmt()
503 f->fmt.pix.height = q_data->height; in coda_g_fmt()
504 f->fmt.pix.bytesperline = q_data->bytesperline; in coda_g_fmt()
506 f->fmt.pix.sizeimage = q_data->sizeimage; in coda_g_fmt()
507 f->fmt.pix.colorspace = ctx->colorspace; in coda_g_fmt()
508 f->fmt.pix.xfer_func = ctx->xfer_func; in coda_g_fmt()
509 f->fmt.pix.ycbcr_enc = ctx->ycbcr_enc; in coda_g_fmt()
510 f->fmt.pix.quantization = ctx->quantization; in coda_g_fmt()
515 static int coda_try_pixelformat(struct coda_ctx *ctx, struct v4l2_format *f) in coda_try_pixelformat() argument
521 if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) in coda_try_pixelformat()
523 else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) in coda_try_pixelformat()
530 if (!ctx->vdoa && f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && in coda_try_pixelformat()
534 if (formats[i] == f->fmt.pix.pixelformat) { in coda_try_pixelformat()
535 f->fmt.pix.pixelformat = formats[i]; in coda_try_pixelformat()
541 q_data = get_q_data(ctx, f->type); in coda_try_pixelformat()
542 f->fmt.pix.pixelformat = q_data->fourcc; in coda_try_pixelformat()
547 static int coda_try_fmt_vdoa(struct coda_ctx *ctx, struct v4l2_format *f, in coda_try_fmt_vdoa() argument
552 if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) in coda_try_fmt_vdoa()
563 err = vdoa_context_configure(NULL, round_up(f->fmt.pix.width, 16), in coda_try_fmt_vdoa()
564 f->fmt.pix.height, f->fmt.pix.pixelformat); in coda_try_fmt_vdoa()
587 struct v4l2_format *f) in coda_try_fmt() argument
593 field = f->fmt.pix.field; in coda_try_fmt()
601 f->fmt.pix.field = field; in coda_try_fmt()
604 v4l_bound_align_image(&f->fmt.pix.width, MIN_W, max_w, W_ALIGN, in coda_try_fmt()
605 &f->fmt.pix.height, MIN_H, max_h, H_ALIGN, in coda_try_fmt()
608 switch (f->fmt.pix.pixelformat) { in coda_try_fmt()
616 f->fmt.pix.bytesperline = round_up(f->fmt.pix.width, 16); in coda_try_fmt()
617 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * in coda_try_fmt()
618 f->fmt.pix.height * 3 / 2; in coda_try_fmt()
621 f->fmt.pix.bytesperline = round_up(f->fmt.pix.width, 16) * 2; in coda_try_fmt()
622 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * in coda_try_fmt()
623 f->fmt.pix.height; in coda_try_fmt()
626 f->fmt.pix.bytesperline = round_up(f->fmt.pix.width, 16); in coda_try_fmt()
627 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * in coda_try_fmt()
628 f->fmt.pix.height * 2; in coda_try_fmt()
634 f->fmt.pix.bytesperline = 0; in coda_try_fmt()
635 f->fmt.pix.sizeimage = coda_estimate_sizeimage(ctx, in coda_try_fmt()
636 f->fmt.pix.sizeimage, in coda_try_fmt()
637 f->fmt.pix.width, in coda_try_fmt()
638 f->fmt.pix.height); in coda_try_fmt()
648 struct v4l2_format *f) in coda_try_fmt_vid_cap() argument
657 ret = coda_try_pixelformat(ctx, f); in coda_try_fmt_vid_cap()
670 f->fmt.pix.width = q_data_src->width; in coda_try_fmt_vid_cap()
671 f->fmt.pix.height = q_data_src->height; in coda_try_fmt_vid_cap()
676 f->fmt.pix.pixelformat == V4L2_PIX_FMT_YUV422P) in coda_try_fmt_vid_cap()
677 f->fmt.pix.pixelformat = V4L2_PIX_FMT_NV12; in coda_try_fmt_vid_cap()
680 f->fmt.pix.pixelformat = V4L2_PIX_FMT_YUV422P; in coda_try_fmt_vid_cap()
684 f->fmt.pix.colorspace = ctx->colorspace; in coda_try_fmt_vid_cap()
685 f->fmt.pix.xfer_func = ctx->xfer_func; in coda_try_fmt_vid_cap()
686 f->fmt.pix.ycbcr_enc = ctx->ycbcr_enc; in coda_try_fmt_vid_cap()
687 f->fmt.pix.quantization = ctx->quantization; in coda_try_fmt_vid_cap()
691 f->fmt.pix.pixelformat); in coda_try_fmt_vid_cap()
695 ret = coda_try_fmt(ctx, codec, f); in coda_try_fmt_vid_cap()
701 f->fmt.pix.bytesperline = round_up(f->fmt.pix.width, 16); in coda_try_fmt_vid_cap()
702 f->fmt.pix.height = round_up(f->fmt.pix.height, 16); in coda_try_fmt_vid_cap()
704 f->fmt.pix.pixelformat == V4L2_PIX_FMT_YUV422P) { in coda_try_fmt_vid_cap()
705 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * in coda_try_fmt_vid_cap()
706 f->fmt.pix.height * 2; in coda_try_fmt_vid_cap()
708 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * in coda_try_fmt_vid_cap()
709 f->fmt.pix.height * 3 / 2; in coda_try_fmt_vid_cap()
712 ret = coda_try_fmt_vdoa(ctx, f, &use_vdoa); in coda_try_fmt_vid_cap()
716 if (f->fmt.pix.pixelformat == V4L2_PIX_FMT_YUYV) { in coda_try_fmt_vid_cap()
720 f->fmt.pix.bytesperline = round_up(f->fmt.pix.width, 16) * 2; in coda_try_fmt_vid_cap()
721 f->fmt.pix.sizeimage = f->fmt.pix.bytesperline * in coda_try_fmt_vid_cap()
722 f->fmt.pix.height; in coda_try_fmt_vid_cap()
747 struct v4l2_format *f) in coda_try_fmt_vid_out() argument
755 ret = coda_try_pixelformat(ctx, f); in coda_try_fmt_vid_out()
759 if (f->fmt.pix.colorspace == V4L2_COLORSPACE_DEFAULT) in coda_try_fmt_vid_out()
760 coda_set_default_colorspace(&f->fmt.pix); in coda_try_fmt_vid_out()
763 codec = coda_find_codec(dev, f->fmt.pix.pixelformat, q_data_dst->fourcc); in coda_try_fmt_vid_out()
765 return coda_try_fmt(ctx, codec, f); in coda_try_fmt_vid_out()
768 static int coda_s_fmt(struct coda_ctx *ctx, struct v4l2_format *f, in coda_s_fmt() argument
774 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); in coda_s_fmt()
778 q_data = get_q_data(ctx, f->type); in coda_s_fmt()
784 __func__, v4l2_type_names[f->type], vq->num_buffers); in coda_s_fmt()
788 q_data->fourcc = f->fmt.pix.pixelformat; in coda_s_fmt()
789 q_data->width = f->fmt.pix.width; in coda_s_fmt()
790 q_data->height = f->fmt.pix.height; in coda_s_fmt()
791 q_data->bytesperline = f->fmt.pix.bytesperline; in coda_s_fmt()
792 q_data->sizeimage = f->fmt.pix.sizeimage; in coda_s_fmt()
798 q_data->rect.width = f->fmt.pix.width; in coda_s_fmt()
799 q_data->rect.height = f->fmt.pix.height; in coda_s_fmt()
802 switch (f->fmt.pix.pixelformat) { in coda_s_fmt()
823 !coda_try_fmt_vdoa(ctx, f, &ctx->use_vdoa) && in coda_s_fmt()
826 round_up(f->fmt.pix.width, 16), in coda_s_fmt()
827 f->fmt.pix.height, in coda_s_fmt()
828 f->fmt.pix.pixelformat); in coda_s_fmt()
833 v4l2_type_names[f->type], q_data->width, q_data->height, in coda_s_fmt()
841 struct v4l2_format *f) in coda_s_fmt_vid_cap() argument
849 ret = coda_try_fmt_vid_cap(file, priv, f); in coda_s_fmt_vid_cap()
859 ret = coda_s_fmt(ctx, f, &r); in coda_s_fmt_vid_cap()
868 f->fmt.pix.pixelformat); in coda_s_fmt_vid_cap()
875 ctx->colorspace = f->fmt.pix.colorspace; in coda_s_fmt_vid_cap()
876 ctx->xfer_func = f->fmt.pix.xfer_func; in coda_s_fmt_vid_cap()
877 ctx->ycbcr_enc = f->fmt.pix.ycbcr_enc; in coda_s_fmt_vid_cap()
878 ctx->quantization = f->fmt.pix.quantization; in coda_s_fmt_vid_cap()
884 struct v4l2_format *f) in coda_s_fmt_vid_out() argument
892 ret = coda_try_fmt_vid_out(file, priv, f); in coda_s_fmt_vid_out()
896 ret = coda_s_fmt(ctx, f, NULL); in coda_s_fmt_vid_out()
900 ctx->colorspace = f->fmt.pix.colorspace; in coda_s_fmt_vid_out()
901 ctx->xfer_func = f->fmt.pix.xfer_func; in coda_s_fmt_vid_out()
902 ctx->ycbcr_enc = f->fmt.pix.ycbcr_enc; in coda_s_fmt_vid_out()
903 ctx->quantization = f->fmt.pix.quantization; in coda_s_fmt_vid_out()
909 codec = coda_find_codec(ctx->dev, f->fmt.pix.pixelformat, in coda_s_fmt_vid_out()
933 f_cap.fmt.pix.width = f->fmt.pix.width; in coda_s_fmt_vid_out()
934 f_cap.fmt.pix.height = f->fmt.pix.height; in coda_s_fmt_vid_out()
1318 struct v4l2_frmivalenum *f) in coda_enum_frameintervals() argument
1324 if (f->index) in coda_enum_frameintervals()
1328 if (!ctx->vdoa && f->pixel_format == V4L2_PIX_FMT_YUYV) in coda_enum_frameintervals()
1331 if (coda_format_normalize_yuv(f->pixel_format) == V4L2_PIX_FMT_YUV420) { in coda_enum_frameintervals()
1333 codec = coda_find_codec(ctx->dev, f->pixel_format, in coda_enum_frameintervals()
1337 f->pixel_format); in coda_enum_frameintervals()
1342 if (f->width < MIN_W || f->width > codec->max_w || in coda_enum_frameintervals()
1343 f->height < MIN_H || f->height > codec->max_h) in coda_enum_frameintervals()
1346 f->type = V4L2_FRMIVAL_TYPE_CONTINUOUS; in coda_enum_frameintervals()
1347 f->stepwise.min.numerator = 1; in coda_enum_frameintervals()
1348 f->stepwise.min.denominator = 65535; in coda_enum_frameintervals()
1349 f->stepwise.max.numerator = 65536; in coda_enum_frameintervals()
1350 f->stepwise.max.denominator = 1; in coda_enum_frameintervals()
1351 f->stepwise.step.numerator = 1; in coda_enum_frameintervals()
1352 f->stepwise.step.denominator = 1; in coda_enum_frameintervals()