| Message ID | 20200902104730.43451-1-jacopo@jmondi.org | 
|---|---|
| Headers | show | 
| Series | 
 | 
| Related | show | 
Hi Jacopo On 02/09/2020 11:47, Jacopo Mondi wrote: > With the recent introduction of JPEG and RAW support in the libcamera > camera HAL, the initialization of formats and sizes wasn't properly > advanced. > > 1) We assumed all sizes were valid for JPEG format > 2) RAW sizes were not enumerated, if not they luckily matched one of the tested > resolutions > > This small series aims to fix this by: > 1) Claiming support for JPEG sizes based on the supported YCbCr_888 sizes > 2) Enumerate the RAW sizes differently from the processed ones > > The result is the following enumeration on Soraka cam0 > > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 320x240 - 0x00000022 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 640x480 - 0x00000022 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1280x720 - 0x00000022 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1920x1080 - 0x00000022 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4160x3104 - 0x00000022 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 320x240 - 0x00000023 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 320x240 - 0x00000021 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 640x480 - 0x00000023 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 640x480 - 0x00000021 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1280x720 - 0x00000023 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1280x720 - 0x00000021 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1920x1080 - 0x00000023 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1920x1080 - 0x00000021 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4160x3104 - 0x00000023 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4160x3104 - 0x00000021 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1056x784 - 0x00000024 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 2112x1188 - 0x00000024 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 2112x1568 - 0x00000024 } > camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4224x3136 - 0x00000024 } Ayeee. We really need a toString on those 21,22,23,24 values ... > > Thanks > j > > Jacopo Mondi (5): > android: camera_device: Refuse unsupported formats > android: camera_device: Generate JPEG sizes > android: camera_device: Add debug to stream initialization > android: camera_device: Break out size calculation > android: camera_device: List RAW resolutions > > src/android/camera_device.cpp | 123 +++++++++++++++++++++++++++------- > src/android/camera_device.h | 7 ++ > 2 files changed, 107 insertions(+), 23 deletions(-) > > -- > 2.28.0 > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel >
With the recent introduction of JPEG and RAW support in the libcamera camera HAL, the initialization of formats and sizes wasn't properly advanced. 1) We assumed all sizes were valid for JPEG format 2) RAW sizes were not enumerated, if not they luckily matched one of the tested resolutions This small series aims to fix this by: 1) Claiming support for JPEG sizes based on the supported YCbCr_888 sizes 2) Enumerate the RAW sizes differently from the processed ones The result is the following enumeration on Soraka cam0 camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 320x240 - 0x00000022 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 640x480 - 0x00000022 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1280x720 - 0x00000022 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1920x1080 - 0x00000022 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4160x3104 - 0x00000022 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 320x240 - 0x00000023 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 320x240 - 0x00000021 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 640x480 - 0x00000023 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 640x480 - 0x00000021 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1280x720 - 0x00000023 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1280x720 - 0x00000021 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1920x1080 - 0x00000023 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1920x1080 - 0x00000021 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4160x3104 - 0x00000023 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4160x3104 - 0x00000021 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 1056x784 - 0x00000024 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 2112x1188 - 0x00000024 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 2112x1568 - 0x00000024 } camera_device.cpp:508 '\_SB_.PCI0.I2C2.CAM0': { 4224x3136 - 0x00000024 } Thanks j Jacopo Mondi (5): android: camera_device: Refuse unsupported formats android: camera_device: Generate JPEG sizes android: camera_device: Add debug to stream initialization android: camera_device: Break out size calculation android: camera_device: List RAW resolutions src/android/camera_device.cpp | 123 +++++++++++++++++++++++++++------- src/android/camera_device.h | 7 ++ 2 files changed, 107 insertions(+), 23 deletions(-) -- 2.28.0