Lines Matching refs:f
123 static struct vim2m_fmt *find_format(struct v4l2_format *f) in find_format() argument
130 if (fmt->fourcc == f->fmt.pix.pixelformat) in find_format()
437 static int enum_fmt(struct v4l2_fmtdesc *f, u32 type) in enum_fmt() argument
447 if (num == f->index) in enum_fmt()
458 f->pixelformat = fmt->fourcc; in enum_fmt()
467 struct v4l2_fmtdesc *f) in vidioc_enum_fmt_vid_cap() argument
469 return enum_fmt(f, MEM2MEM_CAPTURE); in vidioc_enum_fmt_vid_cap()
473 struct v4l2_fmtdesc *f) in vidioc_enum_fmt_vid_out() argument
475 return enum_fmt(f, MEM2MEM_OUTPUT); in vidioc_enum_fmt_vid_out()
478 static int vidioc_g_fmt(struct vim2m_ctx *ctx, struct v4l2_format *f) in vidioc_g_fmt() argument
483 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); in vidioc_g_fmt()
487 q_data = get_q_data(ctx, f->type); in vidioc_g_fmt()
489 f->fmt.pix.width = q_data->width; in vidioc_g_fmt()
490 f->fmt.pix.height = q_data->height; in vidioc_g_fmt()
491 f->fmt.pix.field = V4L2_FIELD_NONE; in vidioc_g_fmt()
492 f->fmt.pix.pixelformat = q_data->fmt->fourcc; in vidioc_g_fmt()
493 f->fmt.pix.bytesperline = (q_data->width * q_data->fmt->depth) >> 3; in vidioc_g_fmt()
494 f->fmt.pix.sizeimage = q_data->sizeimage; in vidioc_g_fmt()
495 f->fmt.pix.colorspace = ctx->colorspace; in vidioc_g_fmt()
501 struct v4l2_format *f) in vidioc_g_fmt_vid_out() argument
503 return vidioc_g_fmt(file2ctx(file), f); in vidioc_g_fmt_vid_out()
507 struct v4l2_format *f) in vidioc_g_fmt_vid_cap() argument
509 return vidioc_g_fmt(file2ctx(file), f); in vidioc_g_fmt_vid_cap()
512 static int vidioc_try_fmt(struct v4l2_format *f, struct vim2m_fmt *fmt) in vidioc_try_fmt() argument
516 if (f->fmt.pix.height < MIN_H) in vidioc_try_fmt()
517 f->fmt.pix.height = MIN_H; in vidioc_try_fmt()
518 else if (f->fmt.pix.height > MAX_H) in vidioc_try_fmt()
519 f->fmt.pix.height = MAX_H; in vidioc_try_fmt()
521 if (f->fmt.pix.width < MIN_W) in vidioc_try_fmt()
522 f->fmt.pix.width = MIN_W; in vidioc_try_fmt()
523 else if (f->fmt.pix.width > MAX_W) in vidioc_try_fmt()
524 f->fmt.pix.width = MAX_W; in vidioc_try_fmt()
526 f->fmt.pix.width &= ~DIM_ALIGN_MASK; in vidioc_try_fmt()
527 f->fmt.pix.bytesperline = (f->fmt.pix.width * fmt->depth) >> 3; in vidioc_try_fmt()
528 f->fmt.pix.sizeimage = f->fmt.pix.height * f->fmt.pix.bytesperline; in vidioc_try_fmt()
529 f->fmt.pix.field = V4L2_FIELD_NONE; in vidioc_try_fmt()
535 struct v4l2_format *f) in vidioc_try_fmt_vid_cap() argument
540 fmt = find_format(f); in vidioc_try_fmt_vid_cap()
542 f->fmt.pix.pixelformat = formats[0].fourcc; in vidioc_try_fmt_vid_cap()
543 fmt = find_format(f); in vidioc_try_fmt_vid_cap()
548 f->fmt.pix.pixelformat); in vidioc_try_fmt_vid_cap()
551 f->fmt.pix.colorspace = ctx->colorspace; in vidioc_try_fmt_vid_cap()
553 return vidioc_try_fmt(f, fmt); in vidioc_try_fmt_vid_cap()
557 struct v4l2_format *f) in vidioc_try_fmt_vid_out() argument
562 fmt = find_format(f); in vidioc_try_fmt_vid_out()
564 f->fmt.pix.pixelformat = formats[0].fourcc; in vidioc_try_fmt_vid_out()
565 fmt = find_format(f); in vidioc_try_fmt_vid_out()
570 f->fmt.pix.pixelformat); in vidioc_try_fmt_vid_out()
573 if (!f->fmt.pix.colorspace) in vidioc_try_fmt_vid_out()
574 f->fmt.pix.colorspace = V4L2_COLORSPACE_REC709; in vidioc_try_fmt_vid_out()
576 return vidioc_try_fmt(f, fmt); in vidioc_try_fmt_vid_out()
579 static int vidioc_s_fmt(struct vim2m_ctx *ctx, struct v4l2_format *f) in vidioc_s_fmt() argument
584 vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); in vidioc_s_fmt()
588 q_data = get_q_data(ctx, f->type); in vidioc_s_fmt()
597 q_data->fmt = find_format(f); in vidioc_s_fmt()
598 q_data->width = f->fmt.pix.width; in vidioc_s_fmt()
599 q_data->height = f->fmt.pix.height; in vidioc_s_fmt()
605 f->type, q_data->width, q_data->height, q_data->fmt->fourcc); in vidioc_s_fmt()
611 struct v4l2_format *f) in vidioc_s_fmt_vid_cap() argument
615 ret = vidioc_try_fmt_vid_cap(file, priv, f); in vidioc_s_fmt_vid_cap()
619 return vidioc_s_fmt(file2ctx(file), f); in vidioc_s_fmt_vid_cap()
623 struct v4l2_format *f) in vidioc_s_fmt_vid_out() argument
628 ret = vidioc_try_fmt_vid_out(file, priv, f); in vidioc_s_fmt_vid_out()
632 ret = vidioc_s_fmt(file2ctx(file), f); in vidioc_s_fmt_vid_out()
634 ctx->colorspace = f->fmt.pix.colorspace; in vidioc_s_fmt_vid_out()