lcameraDev: honor opt-planar when selecting YUV capture format.

Pass fullPlanarIsOptional through session configure so optional planar
mode can succeed with packed YUYV; extend unit and configure HIL coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-14 11:01:40 -04:00
parent 5f3d5c7818
commit 7a47f2bd49
8 changed files with 126 additions and 42 deletions
+2 -7
View File
@@ -17,8 +17,8 @@ struct LcameraDevCameraModeRequest
LcameraDevColourSpace colourSpace = LcameraDevColourSpace::Yuv;
/** EXPLANATION:
* When false, configure must select a fully planar YUV pixel format.
* When true, relaxed non-planar formats are not honored at the configure
* API yet — producer-side deinterleaving is not implemented (Stage 2).
* When true, configure may accept semi-planar or packed YUV; lcameraBuff
* deinterleaves components in later capture stages.
*/
bool fullPlanarIsOptional = false;
};
@@ -34,11 +34,6 @@ struct LcameraDevConfiguredCameraMode
void validateCameraModeRequest(const LcameraDevCameraModeRequest& request);
/** Rejects fullPlanarIsOptional at the configure API until non-planar fallback
* paths exist in lcameraBuff. */
void rejectFullPlanarOptionalAtConfigureApi(
const LcameraDevCameraModeRequest& request);
bool cameraModeRequestsEqual(
const LcameraDevCameraModeRequest& left,
const LcameraDevCameraModeRequest& right);