diff options
author | Hans de Goede <hdegoede@redhat.com> | 2023-06-01 15:58:58 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2023-06-09 15:42:05 +0100 |
commit | 930d333a00e1c7ac6caa83b70402367069f6c377 (patch) | |
tree | c080d8821c661a78cbfc80a0c8b377205dab6058 /drivers/staging/media | |
parent | 0f417dc1b7330aae06f155ea505899fa74b2eabe (diff) |
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.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/staging/media')
-rw-r--r-- | drivers/staging/media/atomisp/pci/atomisp_cmd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp_cmd.c b/drivers/staging/media/atomisp/pci/atomisp_cmd.c index 68550cd49a83..e27f9dc8e7aa 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_cmd.c +++ b/drivers/staging/media/atomisp/pci/atomisp_cmd.c @@ -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; } |