Files

61 lines
1.7 KiB
C

/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @file example_pipeline.h
* @brief ISP Pipeline Processing Module
*
* This module implements configuration for various ISP image processing pipeline units, including:
* - BLC (Black Level Correction): Black level correction
* - BF (Bayer Filter): Denoising processing
* - LSC (Lens Shading Correction): Lens shading correction
* - DEMOSAIC: Demosaicing, converting RAW data to RGB
* - CCM (Color Correction Matrix): Color correction matrix
* - GAMMA: Gamma correction
* - SHARPEN: Sharpening processing
* - COLOR: Color adjustment (contrast, saturation, hue, brightness)
* - CROP: Image cropping
*
* These functions process image data sequentially according to the ISP hardware pipeline order.
*/
#pragma once
#include "esp_err.h"
#include "driver/isp.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Initialize ISP processor
*
* @param[in] config ISP processor configuration
* @param[out] isp_proc Output ISP processor handle
* @return
* - ESP_OK: Success
* - ESP_ERR_INVALID_ARG: Invalid arguments
* - ESP_ERR_NO_MEM: Out of memory
*/
esp_err_t example_create_isp_processor(const esp_isp_processor_cfg_t *config, isp_proc_handle_t *isp_proc);
/**
* @brief Initialize all ISP pipeline modules with default configuration
*
* This function configures all available ISP modules in the correct order.
*
* @param[in] isp_proc ISP processor handle
* @return
* - ESP_OK: Success
* - ESP_ERR_INVALID_ARG: Invalid arguments
*/
esp_err_t example_isp_init_all_pipelines(isp_proc_handle_t isp_proc);
#ifdef __cplusplus
}
#endif