libcamera-sys 0.7.0

Low-level unsafe bindings to libcamera
#include "pixel_format.h"

#include <libcamera/libcamera.h>
#include <cstring>

extern "C" {

char *libcamera_pixel_format_str(const libcamera_pixel_format_t *format) {
    return strdup(format->toString().c_str());
}

libcamera_pixel_format_t libcamera_pixel_format_from_str(const char *name) {
    if (!name) {
        return libcamera::PixelFormat();
    }
    return libcamera::PixelFormat::fromString(std::string(name));
}

bool libcamera_pixel_format_is_valid(const libcamera_pixel_format_t *format) {
    return format && format->isValid();
}

void libcamera_pixel_formats_destroy(libcamera_pixel_formats_t *formats) {
    delete formats;
}

size_t libcamera_pixel_formats_size(const libcamera_pixel_formats_t *formats) {
    return formats->size();
}

libcamera_pixel_format_t libcamera_pixel_formats_get(const libcamera_pixel_formats_t *formats, size_t index) {
    return (*formats)[index];
}

}