media: v4l2-common: get rid of struct v4l2_discrete_probe
This struct is there just two store two arguments of v4l2_find_nearest_format(). The other two arguments are passed as parameter. IMHO, there isn't much sense on doing that, and that will just add one more struct to document ;) So, let's get rid of the struct, passing the parameters directly. Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Родитель
01154ef582
Коммит
0545629e50
|
@ -93,11 +93,6 @@ static const struct v4l2_fract webcam_intervals[VIVID_WEBCAM_IVALS] = {
|
|||
{ 1, 60 },
|
||||
};
|
||||
|
||||
static const struct v4l2_discrete_probe webcam_probe = {
|
||||
webcam_sizes,
|
||||
VIVID_WEBCAM_SIZES
|
||||
};
|
||||
|
||||
static int vid_cap_queue_setup(struct vb2_queue *vq,
|
||||
unsigned *nbuffers, unsigned *nplanes,
|
||||
unsigned sizes[], struct device *alloc_devs[])
|
||||
|
@ -578,7 +573,9 @@ int vivid_try_fmt_vid_cap(struct file *file, void *priv,
|
|||
mp->field = vivid_field_cap(dev, mp->field);
|
||||
if (vivid_is_webcam(dev)) {
|
||||
const struct v4l2_frmsize_discrete *sz =
|
||||
v4l2_find_nearest_format(&webcam_probe, mp->width, mp->height);
|
||||
v4l2_find_nearest_format(webcam_sizes,
|
||||
VIVID_WEBCAM_SIZES,
|
||||
mp->width, mp->height);
|
||||
|
||||
w = sz->width;
|
||||
h = sz->height;
|
||||
|
|
|
@ -371,18 +371,19 @@ void v4l_bound_align_image(u32 *w, unsigned int wmin, unsigned int wmax,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(v4l_bound_align_image);
|
||||
|
||||
const struct v4l2_frmsize_discrete *v4l2_find_nearest_format(
|
||||
const struct v4l2_discrete_probe *probe,
|
||||
s32 width, s32 height)
|
||||
const struct v4l2_frmsize_discrete *
|
||||
v4l2_find_nearest_format(const struct v4l2_frmsize_discrete *sizes,
|
||||
size_t num_sizes,
|
||||
s32 width, s32 height)
|
||||
{
|
||||
int i;
|
||||
u32 error, min_error = UINT_MAX;
|
||||
const struct v4l2_frmsize_discrete *size, *best = NULL;
|
||||
|
||||
if (!probe)
|
||||
return best;
|
||||
if (!sizes)
|
||||
return NULL;
|
||||
|
||||
for (i = 0, size = probe->sizes; i < probe->num_sizes; i++, size++) {
|
||||
for (i = 0, size = sizes; i < num_sizes; i++, size++) {
|
||||
error = abs(size->width - width) + abs(size->height - height);
|
||||
if (error < min_error) {
|
||||
min_error = error;
|
||||
|
|
|
@ -249,14 +249,10 @@ void v4l_bound_align_image(unsigned int *w, unsigned int wmin,
|
|||
unsigned int hmax, unsigned int halign,
|
||||
unsigned int salign);
|
||||
|
||||
struct v4l2_discrete_probe {
|
||||
const struct v4l2_frmsize_discrete *sizes;
|
||||
int num_sizes;
|
||||
};
|
||||
|
||||
const struct v4l2_frmsize_discrete *v4l2_find_nearest_format(
|
||||
const struct v4l2_discrete_probe *probe,
|
||||
s32 width, s32 height);
|
||||
const struct v4l2_frmsize_discrete *
|
||||
v4l2_find_nearest_format(const struct v4l2_frmsize_discrete *sizes,
|
||||
const size_t num_sizes,
|
||||
s32 width, s32 height);
|
||||
|
||||
void v4l2_get_timestamp(struct timeval *tv);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче