Commit 930d333a authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

media: atomisp: Fix binning check in atomisp_set_crop()

The fmt / size passed to atomisp_set_crop() includes padding,
so the binning check should be against 1/2 of the native rect.
of the sensor, rather then 1/2 of the active rect.

This fixes binning not being used when using e.g. 800x600 on
a 1600x1200 sensor leading to a very small field of view.

Link: https://lore.kernel.org/r/20230601145858.59652-4-hdegoede@redhat.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 0f417dc1
......@@ -3769,8 +3769,8 @@ static int atomisp_set_crop(struct atomisp_device *isp,
return 0;
/* Cropping is done before binning, when binning double the crop rect */
if (input->binning_support && sel.r.width <= (input->active_rect.width / 2) &&
sel.r.height <= (input->active_rect.height / 2)) {
if (input->binning_support && sel.r.width <= (input->native_rect.width / 2) &&
sel.r.height <= (input->native_rect.height / 2)) {
sel.r.width *= 2;
sel.r.height *= 2;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment