modules/sensor: Disable transpose for YUV422 images.

This commit is contained in:
Kwabena W. Agyeman 2024-01-12 18:42:07 -08:00
parent c1eeaefd6a
commit 00500ccdef

View File

@ -562,8 +562,8 @@ __weak int sensor_set_pixformat(pixformat_t pixformat) {
}
// Cropping and transposing (and thus auto rotation) don't work in JPEG mode.
if ((pixformat == PIXFORMAT_JPEG)
&& (sensor_get_cropped() || sensor.transpose || sensor.auto_rotation)) {
if (((pixformat == PIXFORMAT_YUV422) && (sensor.transpose || sensor.auto_rotation)) ||
((pixformat == PIXFORMAT_JPEG) && (sensor_get_cropped() || sensor.transpose || sensor.auto_rotation))) {
return SENSOR_ERROR_PIXFORMAT_UNSUPPORTED;
}
@ -1015,7 +1015,7 @@ __weak int sensor_set_transpose(bool enable) {
// Disable any ongoing frame capture.
sensor_abort();
if (sensor.pixformat == PIXFORMAT_JPEG) {
if ((sensor.pixformat == PIXFORMAT_YUV422) || (sensor.pixformat == PIXFORMAT_JPEG)) {
return SENSOR_ERROR_PIXFORMAT_UNSUPPORTED;
}
@ -1039,7 +1039,7 @@ __weak int sensor_set_auto_rotation(bool enable) {
sensor_abort();
// Operation not supported on JPEG images.
if (sensor.pixformat == PIXFORMAT_JPEG) {
if ((sensor.pixformat == PIXFORMAT_YUV422) || (sensor.pixformat == PIXFORMAT_JPEG)) {
return SENSOR_ERROR_PIXFORMAT_UNSUPPORTED;
}