platform_hardware_interfaces/camera
Avichal Rakesh 9dcc9eff81 ExternalCameraHAL: Pad AllocatedFrame by DCTSIZE
jpeglib expects height and width of Y component to be an integral
multiple of 2*DCTSIZE, and heights and widths of Cb and Cr components
to be an integral multiple of DCTSIZE. If the image size does not
meet this requirement, libjpeg expects its input to be padded to
meet the constraints.

The current implementation of AllocatedFrame::allocate did not consider
this padding when allocating buffers. This could lead to crashes when
attempting to call libjpeg functions on images with dimensions that
are _not_ an exact multiple of 2*DCTSIZE (=16), for example: 424x240.

This CL ensures that the allocated buffer is padded such that libjpeg
never attempts to access unallocated buffer.

Bug: 333961771
Test: Verified that the HAL no longer crashes for certain resolutions.
Change-Id: I05b5f3390385ad005481141312a2e3e281433f7a
2024-04-15 18:39:19 -07:00
..
common Merge "[DON'T BLOCK] Test ownership migration rules" into main am: 27e97308c4 2024-02-07 01:45:21 +00:00
device ExternalCameraHAL: Pad AllocatedFrame by DCTSIZE 2024-04-15 18:39:19 -07:00
metadata Vendor API level 202404 is now frozen 2024-02-20 21:05:23 +00:00
provider Merge "Camera:Update condition to validate flash keys." into main 2024-04-11 17:46:35 +00:00
OWNERS cleanup camera OWNERS 2023-01-18 21:06:05 +00:00
README.md Add pointer to default AIDL Camera HAL Implementation in README.md 2022-11-13 04:29:49 +00:00

Camera HALs


Overview:

The camera.* HAL tree is used by the Android camera service to discover and operate camera devices available on the device.

More details and versioning information can be found within each particular HAL.

More complete information about the Android camera HAL and subsystem can be found at source.android.com.

AIDL Camera HAL Interfaces

The AIDL Camera HAL interfaces can be found in the respective /aidl directories.