⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 llc_previewer.h

📁 the preview code includes auto focus, auto whitebalance. it is on TI DM6437 platform
💻 H
字号:
/*******************************************************************************
**+--------------------------------------------------------------------------+**
**|                            ****                                          |**
**|                            ****                                          |**
**|                            ******o***                                    |**
**|                      ********_///_****                                   |**
**|                      ***** /_//_/ ****                                   |**
**|                       ** ** (__/ ****                                    |**
**|                           *********                                      |**
**|                            ****                                          |**
**|                            ***                                           |**
**|                                                                          |**
**|         Copyright (c) 2006-2010 Texas Instruments Incorporated           |**
**|                        ALL RIGHTS RESERVED                               |**
**|                                                                          |**
**| Permission is hereby granted to licensees of Texas Instruments           |**
**| Incorporated (TI) products to use this computer program for the sole     |**
**| purpose of implementing a licensee product based on TI products.         |**
**| No other rights to reproduce, use, or disseminate this computer          |**
**| program, whether in part or in whole, are granted.                       |**
**|                                                                          |**
**| TI makes no representation or warranties with respect to the             |**
**| performance of this computer program, and specifically disclaims         |**
**| any responsibility for any damages, special or consequential,            |**
**| connected with the use of this program.                                  |**
**|                                                                          |**
**+--------------------------------------------------------------------------+**
*******************************************************************************/
/**
 *  \file   llc_previewer.h
 *
 *  \brief  LLC header file for Previewer
 *
 *  This file contains the interfaces, data types and symbolic definitions at
 *  LLC layer, which are needed by DDA/DDC/CSL layer source files.
 *
 *  (C) Copyright 2010, Texas Instruments, Inc
 *
 *  \author     EI2
 *
 *  \version    0.1             Created
 *              1.0             First Release
 */


#ifndef _LLC_PREVIEWER_H
#define _LLC_PREVIEWER_H

/******************************************************************************
  Header File Inclusion
 ******************************************************************************/
#include <tistdtypes.h>
#include <std.h>
#include <psp_common.h>
#include <csl_types.h>


/******************************************************************************
  Macros
 ******************************************************************************/

/* Internal RAM table addresses for gamma correction */
#define LLC_PREVIEWER_RED_GAMMA_START_ADDR      0x0000
#define LLC_PREVIEWER_RED_GAMMA_END_ADDR        0x03FF
#define LLC_PREVIEWER_GREEN_GAMMA_START_ADDR    0x0400
#define LLC_PREVIEWER_GREEN_GAMMA_END_ADDR      0x07FF
#define LLC_PREVIEWER_BLUE_GAMMA_START_ADDR     0x0800
#define LLC_PREVIEWER_BLUE_GAMMA_END_ADDR       0x0BFF

/* Internal RAM table addresses for NF */
#define LLC_PREVIEWER_NOISE_FILTER_START_ADDR  0x0C00
#define LLC_PREVIEWER_NOISE_FILTER_END_ADDR    0x0CFF


/* Internal RAM table addresses for Luma enhancement */
#define LLC_PREVIEWER_LUMA_ENHANCE_START_ADDR   0x1000
#define LLC_PREVIEWER_LUMA_ENHANCE_END_ADDR     0x107F

/* Internal RAM table addresses for CFA Coefficients */
#define LLC_PREVIEWER_CFA_COEFF_START_ADDR    0x1400
#define LLC_PREVIEWER_CFA_COEFF_END_ADDR      0x163F

/******************************************************************************
  Data-Structures
 ******************************************************************************/


/******************************************************************************
  Functions
 ******************************************************************************/

/**
 *  \brief LLC_prevResetPreviewer
 *
 *  It will reset all register values in previewer.
 *
 *  \param  regp        [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevResetPreviewer(Ptr regs);

/**
 *  \brief LLC_prevHardwareSetup
 *
 *  It performs register configuration of previewer.
 *
 *  \param  prevChannelCreateMode   [IN]  previewer channel create mode
 *  \param  prevConfigParams   [IN]  previewer configuration parameters
 *  \param  regp   [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevHardwareSetup(
    PSP_previewerChannelCreateMode *prevChannelCreateMode,
    PSP_previewerParams *prevConfigParams, Ptr regs);

/**
 *  \brief LLC_prevOneShotPreviewer
 *
 *  It is used to trigger previewer in one shot mode.
 *  It set source and desti address regsiters and then enable previewer.
 *
 *  \param  prevChannelCreateMode   [IN]  previewer channel create mode
 *  \param  prevPreviewParams   [IN]  previewer - source desti. parameters
 *  \param  regp   [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevOneShotPreviewer(PSP_previewerChannelCreateMode
    *prevChannelCreateMode, PSP_preview *prevPreviewParams, Ptr regs);

/**
 *  \brief LLC_prevChannelStatus
 *
 *  It is used to read previewer status.
 *  It reads busy bit of previewer and according to that set status.
 *
 *  \param  channelStatus   [OUT]  channel status to be get
 *  \param  regp   [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevChannelStatus(Uint8 *channelStatus, Ptr regs);


/**
 *  \brief LLC_prevPreviewerStatus
 *
 *  It is used to read whether previwer is enabled or not.
 *  It reads previewer enable bit.
 *
 *  \param  previewerStatus [OUT]  channel status to be get
 *  \param  regp            [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevPreviewerStatus(Uint8 *previewerStatus, Ptr regs);


/**
 *  \brief LLC_prevDarkFrameStatus
 *
 *  It is used to read dark frame subtract failure status.
 *  It read dark frame subtract failure status and also clear that status in
 *  register.
 *
 *  \param  darkFrameStatus   [OUT]  dark frame status to be get
 *  \param  regp   [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevDarkFrameStatus(Uint8 *darkFrameStatus, Ptr regs);

/**
 *  \brief LLC_prevSetReadReqExpand
 *
 *  It is used to set read request expand in SDR_REQ_EXP.
 *
 *  \param  prevExp [IN]  read request expand value
 *  \param  regp    [IN]  handle to access registers of VPSS
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevSetReadReqExpand(Uint16 prevExp, Ptr regs);

/**
 *  \brief LLC_prevSetDFC
 *
 *  It is used to set dark frame capture parameter.
 *
 *  \param  DFCState [IN]  dark frame capture enable/disable flag
 *  \param  outPitch [IN]  out pitch value for dark frame
 *  \param  regp     [IN]  handle to access registers of previewer
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevSetDFC(Uint8 DFCState, Uint16 outPitch, Ptr regs);

/**
 *  \brief LLC_prevGetWriteBufMemOverflow
 *
 *  It is used to get write buffer memory overflow status.
 *
 *  \param  prevWBLO [IN]  write buffer memory overflow value
 *  \param  regp     [IN]  handle to access registers of VPSS
 *  \return success     CSL_SOK
 *          error       CSL errors
 */
CSL_Status LLC_prevGetWriteBufMemOverflow(Uint8 *prevWBLO, Ptr regs);

#endif /* End of _LLC_PREVIEWER_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -