| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2011 - 2012 Samsung Electronics Co., Ltd. |
|---|
| 3 | 4 | * http://www.samsung.com |
|---|
| 4 | 5 | * |
|---|
| 5 | 6 | * header file for Samsung EXYNOS5 SoC series G-Scaler driver |
|---|
| 6 | 7 | |
|---|
| 7 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 8 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 9 | | - * published by the Free Software Foundation. |
|---|
| 10 | 8 | */ |
|---|
| 11 | 9 | |
|---|
| 12 | 10 | #ifndef GSC_CORE_H_ |
|---|
| .. | .. |
|---|
| 105 | 103 | /** |
|---|
| 106 | 104 | * struct gsc_fmt - the driver's internal color format data |
|---|
| 107 | 105 | * @mbus_code: Media Bus pixel code, -1 if not applicable |
|---|
| 108 | | - * @name: format description |
|---|
| 109 | 106 | * @pixelformat: the fourcc code for this format, 0 if not applicable |
|---|
| 110 | 107 | * @yorder: Y/C order |
|---|
| 111 | 108 | * @corder: Chrominance order control |
|---|
| .. | .. |
|---|
| 116 | 113 | */ |
|---|
| 117 | 114 | struct gsc_fmt { |
|---|
| 118 | 115 | u32 mbus_code; |
|---|
| 119 | | - char *name; |
|---|
| 120 | 116 | u32 pixelformat; |
|---|
| 121 | 117 | u32 color; |
|---|
| 122 | 118 | u32 yorder; |
|---|
| .. | .. |
|---|
| 387 | 383 | u32 get_plane_size(struct gsc_frame *fr, unsigned int plane); |
|---|
| 388 | 384 | const struct gsc_fmt *get_format(int index); |
|---|
| 389 | 385 | const struct gsc_fmt *find_fmt(u32 *pixelformat, u32 *mbus_code, u32 index); |
|---|
| 390 | | -int gsc_enum_fmt_mplane(struct v4l2_fmtdesc *f); |
|---|
| 386 | +int gsc_enum_fmt(struct v4l2_fmtdesc *f); |
|---|
| 391 | 387 | int gsc_try_fmt_mplane(struct gsc_ctx *ctx, struct v4l2_format *f); |
|---|
| 392 | 388 | void gsc_set_frame_size(struct gsc_frame *frame, int width, int height); |
|---|
| 393 | 389 | int gsc_g_fmt_mplane(struct gsc_ctx *ctx, struct v4l2_format *f); |
|---|
| 394 | 390 | void gsc_check_crop_change(u32 tmp_w, u32 tmp_h, u32 *w, u32 *h); |
|---|
| 395 | | -int gsc_g_crop(struct gsc_ctx *ctx, struct v4l2_crop *cr); |
|---|
| 396 | | -int gsc_try_crop(struct gsc_ctx *ctx, struct v4l2_crop *cr); |
|---|
| 391 | +int gsc_try_selection(struct gsc_ctx *ctx, struct v4l2_selection *s); |
|---|
| 397 | 392 | int gsc_cal_prescaler_ratio(struct gsc_variant *var, u32 src, u32 dst, |
|---|
| 398 | 393 | u32 *ratio); |
|---|
| 399 | 394 | void gsc_get_prescaler_shfactor(u32 hratio, u32 vratio, u32 *sh); |
|---|