65 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/**
 | 
						|
	@brief Header file of vendor videoprocess module.\n
 | 
						|
	This file contains the functions which is related to vendor videoprocess.
 | 
						|
 | 
						|
	@file vendor_videoprocess.h
 | 
						|
 | 
						|
	@ingroup mhdal
 | 
						|
 | 
						|
	@note Nothing.
 | 
						|
 | 
						|
	Copyright Novatek Microelectronics Corp. 2020.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef _VENDOR_VIDEOPROCESS_H_
 | 
						|
#define _VENDOR_VIDEOPROCESS_H_
 | 
						|
 | 
						|
/********************************************************************
 | 
						|
	INCLUDE FILES
 | 
						|
********************************************************************/
 | 
						|
#include "hd_type.h"
 | 
						|
#include "hd_common.h"
 | 
						|
#include "hd_videoprocess.h"
 | 
						|
/********************************************************************
 | 
						|
	MACRO CONSTANT DEFINITIONS
 | 
						|
********************************************************************/
 | 
						|
#define HD_VIDEOPROC_FUNC_DIRECT_SCALEUP 0x04000000 ///< enable scaling up in direct mode
 | 
						|
/********************************************************************
 | 
						|
	MACRO FUNCTION DEFINITIONS
 | 
						|
********************************************************************/
 | 
						|
 | 
						|
/********************************************************************
 | 
						|
	TYPE DEFINITION
 | 
						|
********************************************************************/
 | 
						|
 | 
						|
typedef struct _VENDOR_VIDEOPROC_SLICE_MODE {
 | 
						|
	UINT8 enable[HD_VP_MAX_OUT];                            ///< [in]  enable slice push on some path output
 | 
						|
	UINT8 cnt;                                              ///< [in]  slice count
 | 
						|
} VENDOR_VIDEOPROC_SLICE_MODE;
 | 
						|
 | 
						|
typedef struct _VENDOR_VIDEOPROC_OUT_ONEBUF_MAX {
 | 
						|
	UINT32 max_size;                         ///< output max size. onebuf allocate max buf
 | 
						|
} VENDOR_VIDEOPROC_OUT_ONEBUF_MAX;
 | 
						|
 | 
						|
typedef enum _VENDOR_VIDEOPROC_PARAM_ID {
 | 
						|
	VENDOR_VIDEOPROC_PARAM_HEIGHT_ALIGN,    ///< using device id, config output height align,only more buffer
 | 
						|
	VENDOR_VIDEOPROC_PARAM_IN_DEPTH,	  	///< using in id
 | 
						|
	VENDOR_VIDEOPROC_PARAM_DMA_ABORT,		///< using device id, do DMA abort.
 | 
						|
	VENDOR_VIDEOPROC_PARAM_SLICE_MODE,		///< set with ctrl path, enable slice mode.
 | 
						|
	VENDOR_VIDEOPROC_PARAM_USER_CROP_TRIG,  ///< using path id, trigger user crop flow
 | 
						|
	VENDOR_VIDEOPROC_CFG_DIS_SCALERATIO,	///< config scale-ratio of DIS func (1100, 1200, 1400)
 | 
						|
	VENDOR_VIDEOPROC_CFG_DIS_SUBSAMPLE,		///< config sub-sample of DIS func (0, 1, 2)
 | 
						|
	VENDOR_VIDEOPROC_PARAM_STRIP,		    ///< set with ctrl path, set strip level.
 | 
						|
	VENDOR_VIDEOPROC_PARAM_OUT_ONEBUF_MAX,  ///< using out path, using VENDOR_VIDEOPROC_OUT_ONEBUF_MAX struct (output frame max dim)
 | 
						|
	VENDOR_VIDEOPROC_PARAM_DIS_CROP_ALIGN,  ///< using out path, config dis crop addr align
 | 
						|
	VENDOR_VIDEOPROC_PARAM_LINEOFFSET_ALIGN,  ///< using out path, config line offset align
 | 
						|
	VENDOR_VIDEOPROC_PARAM_EIS_FUNC,        ///< using ctrl path, set TRUE for enabling EIS function.
 | 
						|
	ENUM_DUMMY4WORD(VENDOR_VIDEOPROC_PARAM_ID)
 | 
						|
} VENDOR_VIDEOPROC_PARAM_ID;
 | 
						|
/********************************************************************
 | 
						|
	EXTERN VARIABLES & FUNCTION PROTOTYPES DECLARATIONS
 | 
						|
********************************************************************/
 | 
						|
HD_RESULT vendor_videoproc_set(UINT32 id, VENDOR_VIDEOPROC_PARAM_ID param_id, VOID *p_param);
 | 
						|
#endif
 | 
						|
 |