Message ID | 20250824-b4-v0-5-2-gpuisp-v2-a-v2-23-96f4576c814e@linaro.org |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes: > ALIGN_TO() is useful to the GPU debayer logic, move to a shared header to > facilitate its reuse. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > --- > include/libcamera/base/utils.h | 3 +++ > src/android/metadata/camera_metadata.c | 4 +--- > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h > index f21c6dc016ece00e9842ad17ae4dd036fb5683c2..a0d3ffc27804d27c6b225d7da8c74feb3c261f3d 100644 > --- a/include/libcamera/base/utils.h > +++ b/include/libcamera/base/utils.h > @@ -33,6 +33,9 @@ > > #endif > > +#define ALIGN_TO(val, alignment) \ > + (((uintptr_t)(val) + ((alignment) - 1)) & ~((alignment) - 1)) Is uintptr_t the best type in the extended use? Since we use the &~(alignment-1) pattern at more places in software ISP, would it be useful to introduce something like ALIGN_UP and ALIGN_DOWN? > + > namespace libcamera { > > namespace utils { > diff --git a/src/android/metadata/camera_metadata.c b/src/android/metadata/camera_metadata.c > index b86586a7e6857a0920234ea312eb5181b27c3ac0..4fafb54076a4a4be41a31f5ce3bd8c74bf649f59 100644 > --- a/src/android/metadata/camera_metadata.c > +++ b/src/android/metadata/camera_metadata.c > @@ -24,6 +24,7 @@ > */ > #define ALOGE(...) fprintf(stderr, LOG_TAG __VA_ARGS__) > > +#include <libcamera/base/utils.h> > #include <system/camera_metadata.h> > #include <camera_metadata_hidden.h> > > @@ -39,9 +40,6 @@ > #define NOT_FOUND (-ENOENT) > #define SN_EVENT_LOG_ID 0x534e4554 > > -#define ALIGN_TO(val, alignment) \ > - (((uintptr_t)(val) + ((alignment) - 1)) & ~((alignment) - 1)) > - > /** > * A single metadata entry, storing an array of values of a given type. If the > * array is no larger than 4 bytes in size, it is stored in the data.value[]
diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h index f21c6dc016ece00e9842ad17ae4dd036fb5683c2..a0d3ffc27804d27c6b225d7da8c74feb3c261f3d 100644 --- a/include/libcamera/base/utils.h +++ b/include/libcamera/base/utils.h @@ -33,6 +33,9 @@ #endif +#define ALIGN_TO(val, alignment) \ + (((uintptr_t)(val) + ((alignment) - 1)) & ~((alignment) - 1)) + namespace libcamera { namespace utils { diff --git a/src/android/metadata/camera_metadata.c b/src/android/metadata/camera_metadata.c index b86586a7e6857a0920234ea312eb5181b27c3ac0..4fafb54076a4a4be41a31f5ce3bd8c74bf649f59 100644 --- a/src/android/metadata/camera_metadata.c +++ b/src/android/metadata/camera_metadata.c @@ -24,6 +24,7 @@ */ #define ALOGE(...) fprintf(stderr, LOG_TAG __VA_ARGS__) +#include <libcamera/base/utils.h> #include <system/camera_metadata.h> #include <camera_metadata_hidden.h> @@ -39,9 +40,6 @@ #define NOT_FOUND (-ENOENT) #define SN_EVENT_LOG_ID 0x534e4554 -#define ALIGN_TO(val, alignment) \ - (((uintptr_t)(val) + ((alignment) - 1)) & ~((alignment) - 1)) - /** * A single metadata entry, storing an array of values of a given type. If the * array is no larger than 4 bytes in size, it is stored in the data.value[]
ALIGN_TO() is useful to the GPU debayer logic, move to a shared header to facilitate its reuse. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- include/libcamera/base/utils.h | 3 +++ src/android/metadata/camera_metadata.c | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-)