📄 tvpvideo_fw.h
字号:
/*********************************************************************
* Property of Texas Instruments Incorporated, Copyright 2004
* All rights reserved
**********************************************************************/
/*********************************************************************
*
* Description:
* public include file for the video decoder
* It includes only the definitions that are needed for the API
*
**********************************************************************/
/**********************************************************************
*
* $Revision: $
*
* $History: TvpVideo_fw.h $
*
**********************************************************************/
#ifndef TVP_VIDEO_FW_DOT_H_IS_DEFINED
#define TVP_VIDEO_FW_DOT_H_IS_DEFINED
typedef struct
{
unsigned short displayWidth; // Width of screen
unsigned short displayHeight;
TvpVidARDisplay displayAspectRatio;
unsigned short videoLayerWidth; // Width of video layer
unsigned short videoLayerHeight;
unsigned short adjustedOutputWidth; // Width of active video output
unsigned short adjustedOutputHeight;
unsigned short inputWidth; // Width of input video stream
unsigned short inputHeight;
unsigned short adjustedInputWidth; // Width of active input video stream
unsigned short adjustedInputHeight;
TvpVidARDisplay inputAspectRatio;
unsigned short horizPos;
unsigned short vertPos;
unsigned char inputProgressiveFlag;
unsigned char displayProgressiveFlag;
unsigned char eightxtwo_mode;
unsigned char previousCommand;
TvpVidARMethod prefOut;
TvpVidCoefArray coefArray;
unsigned long *coefBufferAddr;
unsigned char coefArrayLoaded;
unsigned char chanChange;
unsigned char WaitingForVBI;
unsigned char WaitingForSeqHdr;
TvpIntNum intNum;
TvpVidIntEvent *status;
TvpVidIntEvent intConfig;
unsigned long skipCount;
unsigned long repeatCount;
unsigned long previousColorSpace;
unsigned long coefBufferSpace;
unsigned long videoLayerOffset;
unsigned long HdEncReg10Update;
unsigned long NtscEncReg0Update;
unsigned long NtscEncOff1CUpdate; // v02.05.29_97
TvpEncHdMode hdMode; // v02.08.29_97
unsigned long HdEncReg10User; // v02.09.29_97
unsigned long HdEncReg10UserAdd; // v02.09.29_97
unsigned long NtscEncReg0UserNtscSlow; // v02.09.29_97
unsigned long NtscEncReg0UserNtscFast; // v02.09.29_97
unsigned long NtscEncOff1CUserNtscSlow; // v02.09.29_97
unsigned long NtscEncOff1CUserNtscFast; // v02.09.29_97
unsigned long NtscEncReg0UserPalSlow; // v02.09.29_97
unsigned long NtscEncReg0UserPalFast; // v02.09.29_97
unsigned long NtscEncOff1CUserPalSlow; // v02.09.29_97
unsigned long NtscEncOff1CUserPalFast; // v02.09.29_97
unsigned long prevOsdBgColor;
unsigned short horizCrop;
unsigned short vertCrop;
unsigned char palDeinterlaceSupport;
unsigned char vidReset;
} TvpVideoGlbl_s;
typedef enum
{
TVP_VID_720_MAX_PIXELS = 0x200,
TVP_VID_1280_MAX_PIXELS = 0x400,
TVP_VID_1920_MAX_PIXELS = 0x600
} TvpVidMaxWidth;
typedef struct
{
unsigned long address;
unsigned long data;
} TvpVcProgram_s;
typedef struct
{
unsigned long TopMotionSum;
unsigned long BottomMotionSum;
unsigned long NoiseThresholdLow;
unsigned long NoiseThresholdHigh;
unsigned char Phase;
unsigned char State;
unsigned int DetectCount;
unsigned long Time;
} TvpFilmModeDebug_s;
/*------------------------------------------------------------------------------------**
** MAX_ARRAY is 3 command size words, 17 Progressive commands, 17 interlace commands, **
** the end of programming indicator, and the 8x1 Line out word **
** 3 + 17 + 17 + 1 + 1 = 39, so the array is from 0 to 38 inclusive **
**------------------------------------------------------------------------------------*/
#define TVP_MAX_VC_ARRAY (38 + 14)
#define TVP_VC_PROGRAM_AVAILABLE 0xffffffff
#define TVP_VID_COEF_OFFSET_WORDS 0x200 // 0x800 bytes
/*------------**
** Prototypes **
**------------*/
static void tvpVidCoefTableLoad_l(TvpVidCoefData *coefIData, TvpVidCoefData *coefPData,
unsigned long *coefBuffer);
static TVP_FERROR tvpVidControlProgram_l(TvpVidCoefData *coefIData, TvpVidCoefData *coefPData);
void tvpVidIsr(void);
void tvpFilmMode(void);
static void tvpVidAdjustInOutSize_l(TvpVidARDisplay displayAspectRatio, TvpVidARDisplay inputAspectRatio,
TvpVidARMethod prefOut, unsigned short *inputHeight,
unsigned short *inputWidth, unsigned short *outputHeight,
unsigned short *outputWidth);
static void tvpVidIntSet_l(TvpVidIntEvent int_reason);
static TVP_FERROR tvpVcWrite_l(unsigned long address, unsigned long data);
static TVP_FERROR tvpVcWriteQueue_l(unsigned long address, unsigned long data);
static TVP_FERROR tvpVidModPicFormat_l(TvpVidPicFormat *pPicSize);
void tvpResetVideo_l(void);
TVP_FERROR tvpVidStcValid(Tvp_True_False valid);
TVP_FERROR tvpVidForceRepeat(void);
TVP_FERROR tvpVidForceSkip(void);
TVP_FERROR tvpVidChangeDeinterlaceMode(unsigned long mode);
TVP_FERROR tvpVidInitCommon_l(unsigned char *coefBuffer);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -