5517ref 소스 비교
현재 가장 마지막 버전으로 사용하고 있는 5517 소스와 가장 처음 받았던 소스와의 차이점 내지는 바뀐 것들에 대한 문서이다. 가장 최근의 소스는 lib 파일을 만들었던, 5517ref 소스이고, 가장 처음의 소스는 3가지(여기석소스, 5517ref-1.0.0-DVB.zip, 5517ref-1.0.0B-DVB.zip) 이다. 나는 여기서 총 3번에 걸린 파일 비교를 통해 어떤 점이 바뀌었는지를 알아볼 것이다.
5517ref vs 여기석소스
각각의 디렉토리 별로 비교를 했다.
bin/setup.bat
5517ref
여기석 보다 아래의 내용이 더 첨가 되었다.
set DVD_TRANSPORT=stpti set DVD_PLATFORM=mb382 rem set DVD_PLATFORM=mb361 set DVD_SERVICE=DVB set TARGET=c2hw_jei rem set TARGET=5517 set DVD_TV_OUTPUT=RATIO_4TO3 set UNIFIED_MEMORY=1 set DVD_IO=UART
여기석
5517ref 와는 달리 UART 가 주석처리되 있다.
rem set DVD_IO=UART
config/clks_5516.cfg, mb382.cfg, mb382_emi.cfg, mb382_um.cfg, sti5516sd.cfg
clks_5516.cfg(5517ref)
PLL_FREQ = 540 AUD_DSP_DIV = 10 COMMS_DIV = 10 EMI_FLASH_DIV = 6 ... if (freq==540) value = 0x640a; ... poke 0x20010008 0x0cff8000 ## ASB ...
clks_5516.cfg(여기석)
PLL_FREQ = 486 AUD_DSP_DIV = 8 COMMS_DIV = 8 EMI_FLASH_DIV = 12 ... setDivider (EMI) (EMI_DIV) (WHOLE_VALUE) setDivider (HDDI) (HDDI_DIV) (WHOLE_VALUE) setDivider (EMI_MPX) (EMI_MPX_DIV) (WHOLE_VALUE) ... poke 0x20010008 0x08800000 ...
mb382.cfg(5517ref)
memory FLASH0 0x7Fe00000 (2*M) ROM
mb382.cfg(여기석)
memory FLASH0 0x7F800000 (8*M) ROM
mb382_emi.cfg(5517ref)
POD 와 FLASH 를 위한 bank 세팅이 수정되었다.
## bank 3 poke -d 0x202001c0 0x04000e99 ## 가장 처음 보드 원래 세팅값 version 3,4 마지막 poke -d 0x202001c8 0x1800d500 ## IO Read LSI(read & write), SCM(read) 250ns fat81 250 ns poke -d 0x202001d0 0x1774c400 ## IO Write 250ns fat81 250 ns poke -d 0x202001d8 0x00000040 ## bank 4 poke -d 0x20200200 0x04000e99 poke -d 0x20200208 0x1800d500 poke -d 0x20200210 0x1774c400 poke -d 0x20200218 0x00000040 ## bank 5 poke -d 0x20200240 0x02000e91 ... ## other ##config_E_val = peek -q 0x20010028 ##config_E_val |= 0x00020000 ## Set bit 17, leave others unchanged. ##poke -d 0x20010028 (config_E_val) ## Gen Config E register.
mb382_emi.cfg(여기석)
바뀌기 전의 모습이다.
## bank3 poke -d 0x202001c0 0x00360791 ## EMIConfigData0. Peripheral format settings poke -d 0x202001c8 0x10028722 ## EMIConfigData1. Peripheral read configuration poke -d 0x202001d0 0x10028722 ## EMIConfigData2. Peripheral write configuration poke -d 0x202001d8 0x0000000a ## EMIConfigData3. Peripheral read/write configuration ## bank 4 -> bank 4 에 대한 세팅이 3개 뿐이다. poke -d 0x20200200 0x00000e91 poke -d 0x20200208 0x10004000 poke -d 0x20200210 0x10220000 ## bank 5 poke -d 0x20200240 0x00000e91 ... config_E_val = peek -q 0x20010028 config_E_val |= 0x00020000 ## Set bit 17, leave others unchanged. poke -d 0x20010028 (config_E_val) ## Gen Config E register.
mb382_um.cfg(5517ref)
include "C:/STM/5517ref/config/board/dcu_mb382.cfg" include "C:/STM/5517ref/config/board/mb382_emi.cfg" include "C:/STM/5517ref/config/board/sti5516sd.cfg" ## unchanged from mb361 include "C:/STM/5517ref/config/board/clks_5516.cfg" ## unchanged from mb361 include "C:/STM/5517ref/config/platform/targets.cfg" ... SMI_SIZE = (13 * M) ... memory SMI_TOP 0xC1000000 (16*M) RAM memory FLASH0 0x7Fe00000 (2*M) ROM
mb382_um.cfg(여기석)
include "dcu_mb382.cfg" include "mb382_emi.cfg" include "sti5516sd.cfg" ## unchanged from mb361 include "clks_5516.cfg" ## unchanged from mb361 include "targets.cfg" ... SMI_SIZE = (5 * M) ... memory SMI_TOP 0xC0800000 (8*M) RAM memory FLASH0 0x7F800000 (8*M) ROM
sti5516sd.cfg(5517ref)
x = peek 0xC0000000 -d -q x = peek 0xC0000000 -d -q x = peek 0xC0000000 -d -q
sti5516sd.cfg(여기석)
write (x) x =(peek 0xC0000000 -d -q) write (x) x =(peek 0xC0000000 -d -q) write (x) x =(peek 0xC0000000 -d -q) write (x)
mb361.mak(5517ref)
# Define to set EMI banks correctly for MB361 # Used in initfuncs.c CFLAGS += -DM58LW032
mb361.mak(여기석)
추가된 것이 없음. 5517ref 는 위의 것을 더한 것임
mb382.mak(5517ref)
# SCART_HARDWARE := 6410 # CFLAGS += -DSCART_HARDWARE=6410
mb382.mak(여기석)
SCART_HARDWARE := 6410 CFLAGS += -DSCART_HARDWARE=6410
include
mb382.h(5517ref)
#define STEM0_BASE_ADDRESS 0x50000000 /* EMI region 3, bank 1 */ #define STEM1_BASE_ADDRESS 0x60000000 /* EMI region 3, bank 2 */ #define STEM_BASE_ADDRESS STEM0_BASE_ADDRESS /* for backwards compatibility */ ... #define FLASH_BANK_0_BASE_ADDRESS 0x7Fa00000 /* EMI region 3, bank 5 */ ... #define MB382_SDRAM_BASE_ADDRESS 0xC0000000 /* EMI region 1 */ #define MB382_SDRAM_SIZE 0x1000000 /* 16 Mbytes, 128 Mbits */ #define MB382_SDRAM_FREQUENCY 108000 ... #ifdef ST_7020 /* Support db573/577 7020 STEM board, and describe its SDRAM (cf mb290.h) */ #define STI7020_BASE_ADDRESS STEM1_BASE_ADDRESS /* STEM1; must be EMI bank 2 to use address expansion */ /* On db573, the 7020 host interface has 16-bit data, 25-bit address, so a total address space of 64 MB (0x4000000). The first half is reserved for registers, the rest maps the bottom half of the 7020 SDRAM */ #define DB573_SDRAM_BASE_ADDRESS (STI7020_BASE_ADDRESS+0x02000000) /* True size of A/V memory attached to 7020 and visible to it from 0x00000000 */ #define DB573_SDRAM_SIZE 0x2000000 /* 32 Mbytes, 256 Mbits */ /* frequency in kHz of A/V memory (100 MHz) */ #define DB573_SDRAM_FREQUENCY 100000 /* Also use db573 values for the generic macros */ #define SDRAM_BASE_ADDRESS DB573_SDRAM_BASE_ADDRESS #define SDRAM_SIZE DB573_SDRAM_SIZE #define SDRAM_FREQUENCY DB573_SDRAM_FREQUENCY /* Only part of the 7020 memory can be seen through the host interface */ #define SDRAM_WINDOW_BASE_ADDRESS SDRAM_BASE_ADDRESS #define SDRAM_WINDOW_SIZE 0x2000000 /* 32 Mbytes, 256 Mbits */ #else /* no db573, just mb382 - put its values in the generic macros */ #define SDRAM_BASE_ADDRESS MB382_SDRAM_BASE_ADDRESS #define SDRAM_SIZE MB382_SDRAM_SIZE #define SDRAM_FREQUENCY MB382_SDRAM_FREQUENCY #endif
mb382.h(여기석)
#define STEM_BASE_ADDRESS 0x50000000 /* EMI region 3, bank 1 */ ... #define FLASH_BANK_0_BASE_ADDRESS 0x7F800000 /* EMI region 3, bank 5 */ ... #define SDRAM_BASE_ADDRESS 0xC0000000 /* EMI region 1 */ /* Size of A/V memory */ #define SDRAM_SIZE 0x1000000 /* 16 Mbytes, 128 Mbits */ /* SDRAM frequency in KHz */ #define SDRAM_FREQUENCY 108000
pti.h(5517ref)
#define VERSION_STRING "PTI Driver - 26th June 2003 - Version 3.9.0 - TC version 3.9.0" #define TC_VERSION 0x00030900 #define PTI_VERSION 0x00030900 ... boolean pti_halt( void ); boolean pti_restart( void );
pti.h(여기석)
#define VERSION_STRING "PTI Driver - 27th February 2003 - Version 3.8.4 - TC version 3.8.4" #define TC_VERSION 0x00030804 #define PTI_VERSION 0x00030804
stboot.h(5517ref)
#define STBOOT_ERROR_STI2C (STBOOT_ERROR_BASE + 8)
...
STBOOT_DEVICE_5517 = 0x01F,
/* values that don't come out of device_id;
extra digit to avoid accidental value clashes */
STBOOT_DEVICE_5520 = 0x1000,
STBOOT_DEVICE_TT1
...
#if defined (ST_7020) && !defined(mb290) && !defined(mb295)
ST_ErrorCode_t STBOOT_Init7020STEM( const ST_DeviceName_t I2CDeviceName,
U32 SDRAMFrequency );
#endif /* db573 support */
...
#endif /* ifndef __STBOOT_H */
stboot.h(여기석)
STBOOT_DEVICE_5520, STBOOT_DEVICE_TT1, STBOOT_DEVICE_5517 = 0x01F ... #endif /* ifndef __STBOOT_H */
stdenc.h(5517ref)
STDENC_MODE_SECAM, STDENC_MODE_SECAM_AUX ... STDENC_OPTION_BLACK_LEVEL_PEDESTAL_AUX, STDENC_OPTION_CHROMA_DELAY, STDENC_OPTION_CHROMA_DELAY_AUX, STDENC_OPTION_LUMA_TRAP_FILTER, STDENC_OPTION_LUMA_TRAP_FILTER_AUX, ... BOOL BlackLevelPedestalAux; BOOL YCbCr444Input; ... BOOL BlackLevelPedestalAux; /* only for macrocell version >= 12 */ S8 ChromaDelayAux; BOOL LumaTrapFilterAux;
stdenc.h(여기석)
STDENC_MODE_SECAM
stgxobj.h(5517ref)
STGXOBJ_BITMAP_TYPE_MB, STGXOBJ_BITMAP_TYPE_MB_HDPIP ...
stgxobj.h(여기석)
STGXOBJ_BITMAP_TYPE_MB
stlayer.h(5517ref)
#include "stevt.h"
...
STLAYER_OMEGA1_STILL,
STLAYER_SDDISPO2_VIDEO1,
STLAYER_SDDISPO2_VIDEO2
...
ST_DeviceName_t InterruptEventName;
STEVT_EventConstant_t VideoDisplayInterrupt;
...
/* Video filter enum access (way to access to sepcific video filter) */
typedef enum STLAYER_VideoFiltering_s
{
/* Please keep enum order. */
STLAYER_VIDEO_CHROMA_AUTOFLESH,
STLAYER_VIDEO_CHROMA_GREENBOOST,
STLAYER_VIDEO_CHROMA_TINT,
STLAYER_VIDEO_CHROMA_SAT,
STLAYER_VIDEO_LUMA_EDGE_REPLACEMENT,
STLAYER_VIDEO_LUMA_PEAKING,
STLAYER_VIDEO_LUMA_DCI,
/* Insert new filter names here ...... */
STLAYER_MAX_VIDEO_FILTER_POSITION /* Last position of filter enum. */
/* Please insert new one above this line.*/
} STLAYER_VideoFiltering_t;
/* Video filter enum control (action to perform to specific video filter) */
typedef enum STLAYER_VideoFilteringControl_s
{
/* Please keep enum order. */
STLAYER_DISABLE, /* Filter is disabled. */
/* default values will be loaded !!! */
STLAYER_ENABLE_AUTO_MODE1, /* Filter is enable with auto parameters 1 */
STLAYER_ENABLE_AUTO_MODE2, /* Filter is enable with auto parameters 2 */
STLAYER_ENABLE_AUTO_MODE3, /* Filter is enable with auto parameters 3 */
STLAYER_ENABLE_MANUAL /* Filter is enable with parameters */
/* set by API. */
} STLAYER_VideoFilteringControl_t;
/* Video filters individual manual parameters. */
typedef struct STLAYER_AutoFleshParameters_s {
U32 AutoFleshControl; /* percent unit of maximum effect */
enum {
LARGE_WIDTH,
MEDIUM_WIDTH,
SMALL_WIDTH
} QuadratureFleshWidthControl;
enum {
AXIS_116_6, /* 116.60 */
AXIS_121_0, /* 121.00 */
AXIS_125_5, /* 125.50 */
AXIS_130_2 /* 130.20 */
} AutoFleshAxisControl;
} STLAYER_AutoFleshParameters_t;
typedef struct STLAYER_GreenBoostParameters_s {
S32 GreenBoostControl; /* percent unit of maximum effect */
/* Allowed : -100% to 100% */
} STLAYER_GreenBoostParameters_t;
typedef struct STLAYER_TintRotationControl_s {
S32 TintRotationControl;/* percent unit of maximum effect */
/* Allowed : -100% to 100% */
} STLAYER_TintParameters_t;
typedef struct STLAYER_SatParameters_s {
S32 SaturationGainControl; /* 1100% of gain to apply to chroma */
/* -100% = Max decrease of saturation. */
/* 0% = No effect. */
/* 100% = Max Increase of saturation. */
} STLAYER_SatParameters_t;
typedef struct STLAYER_EdgeReplacementParameters_s {
U32 GainControl; /* percent unit of maximum effect */
enum {
HIGH_FREQ_FILTER = 1,
MEDIUM_FREQ_FILTER,
LOW_FREQ_FILTER
} FrequencyControl;
} STLAYER_EdgeReplacementParameters_t;
typedef struct STLAYER_PeakingParameters_s {
S32 VerticalPeakingGainControl; /* percent unit of maximum effect */
/* Allowed : -100% to 100% */
U32 CoringForVerticalPeaking; /* percent unit of maximum effect */
S32 HorizontalPeakingGainControl; /* percent unit of maximum effect */
/* Allowed : -100% to 100% */
U32 CoringForHorizontalPeaking; /* percent unit of maximum effect */
U32 HorizontalPeakingFilterSelection; /* Ratio (%) = 100 * Fs/Fc */
/* with Fs : Output sample freq. */
/* with Fs : Centered filter freq*/
BOOL SINECompensationEnable; /* Sinx/x compensation enable/disable */
} STLAYER_PeakingParameters_t;
typedef struct STLAYER_DCIParameters{
U32 CoringLevelGainControl; /* percent unit of maximum effect */
U32 FirstPixelAnalysisWindow;
U32 LastPixelAnalysisWindow;
U32 FirstLineAnalysisWindow;
U32 LastLineAnalysisWindow;
} STLAYER_DCIParameters_t;
/* Video filters overall manual parameters. */
typedef union STLAYER_VideoFilteringParameters_s
{
STLAYER_AutoFleshParameters_t AutoFleshParameters;
STLAYER_GreenBoostParameters_t GreenBoostParameters;
STLAYER_TintParameters_t TintParameters;
STLAYER_SatParameters_t SatParameters;
STLAYER_EdgeReplacementParameters_t EdgeReplacementParameters;
STLAYER_PeakingParameters_t PeakingParameters;
STLAYER_DCIParameters_t DCIParameters;
} STLAYER_VideoFilteringParameters_t;
...
STLAYER_VideoFiltering_t VideoFiltering;
STLAYER_VideoFilteringControl_t VideoFilteringControl;
STLAYER_VideoFilteringParameters_t VideoFilteringParameters;
}}}
=== stlayer.h(여기석) ===
{{{
#ifdef HW_5508 /* st5508 workarounds */
/* no workaround */
#endif
#ifdef HW_5510 /* st5510 workarounds */
/* no workaround */
#endif
#ifdef HW_5512 /* st5512 workarounds */
/* no workaround */
#endif
#ifdef HW_5514 /* st5514 workarounds */
/* no workaround */
#endif
#ifdef HW_5516 /* st5516 workarounds */
/* no workaround */
#endif
#ifdef HW_5517 /* st5517 workarounds */
/* no workaround */
#endif
#ifdef HW_5518 /* st5518 workarounds */
/* no workaround */
#endif
#ifdef HW_5578 /* st5578 workarounds */
/* no workaround */
#endif
...
STLAYER_OMEGA1_STILL
...
U32 dummy; /* TBD */
stpti.h(5517ref)
#define STPTI_REVISION "STPTI_BASIC-REL_5.2.10" ... STPTI_ERROR_WILDCARD_PID_NOT_SUPPORTED, STPTI_ERROR_SLOT_ALREADY_LINKED ... #define STPTI_NegativePid() 0xbeef ... BOOL TC3_SignalEveryTransportPacket;
stpti.h(여기석)
#define STPTI_REVISION "STPTI_DVB-REL_5.2.8"; ... STPTI_ERROR_WILDCARD_PID_NOT_SUPPORTED
sttuner.h(5517ref)
/* parameter passed to STTUNER_GetLLARevision() for retrieving LLA versions of all the demods in the current build */
#define STTUNER_ALL_IN_CURRENT_BUILD 0xFF
...
STTUNER_TUNER_MAX2118, /* satellite */
STTUNER_TUNER_DSF8910, /* satellite */
...
STTUNER_OFFSET = 1,
STTUNER_OFFSET_POSITIVE = 2,
STTUNER_OFFSET_NEGATIVE = 3
...
typedef enum STTUNER_22KHzToneControl_e
{
STTUNER_22KHz_TONE_DemodOP0Pin,
STTUNER_22KHz_TONE_DemodDiseqcPin
}
STTUNER_22KHzToneControl_t;
typedef enum STTUNER_PowerControl_e
{
STTUNER_LNB_POWER_DemodDACPin,
STTUNER_LNB_POWER_LNBPDefault
}
STTUNER_PowerControl_t;
...
/* Commnad for DISEqC API IMPLEMENTATION (Satellite )*/
typedef enum STTUNER_DiSEqCCommand_e
{
STTUNER_DiSEqC_TONE_BURST_OFF, /* Generic */
STTUNER_DiSEqC_TONE_BURST_OFF_F22_HIGH, /* f22 pin high after tone off */
STTUNER_DiSEqC_TONE_BURST_OFF_F22_LOW, /* f22 pin low after tone off*/
STTUNER_DiSEqC_CONTINUOUS_TONE_BURST_ON, /* unmodulated */
STTUNER_DiSEqC_TONE_BURST_SEND_0_UNMODULATED, /* send of 0 for 12.5 ms ;continuous tone*/
STTUNER_DiSEqC_TONE_BURST_SEND_0_MODULATED, /* 0-2/3 duty cycle tone*/
STTUNER_DiSEqC_TONE_BURST_SEND_1, /* 1-1/3 duty cycle tone*/
STTUNER_DiSEqC_COMMAND /* DiSEqC (1.2/2)command */
}
STTUNER_DiSEqCCommand_t;
...
S32 ResidualOffset; /* (ter) */
...
S32 ResidualOffset; /* (ter) */
...
/* Send and Receive strcutures for DISEqC API */
/*sat*/
typedef struct
{
STTUNER_DiSEqCCommand_t DiSEqCCommandType; /* Command type */
unsigned char uc_TotalNoOfBytes ; /* No of Data bytes to be sent including framing and address bytes*/
unsigned char *pFrmAddCmdData ; /* Pointer to data to be sent; Data has to be sequentially placed*/
unsigned char uc_msecBeforeNextCommand; /* Time gap required in milliseconds (ms) */
}
STTUNER_DiSEqCSendPacket_t;
/*sat*/
typedef struct
{
unsigned char uc_TotalBytesReceived ; /* No of Data bytes received including framing byte*/
unsigned char *ReceivedFrmAddData ; /* Pointer to data received; Data has to be sequentially placed*/
unsigned char uc_ExpectedNoOfBytes; /* Higher limit of expected bytes from peripheral*/
}
STTUNER_DiSEqCResponsePacket_t;
...
ST_Revision_t STTUNER_GetLLARevision(int);
sttuner.h(여기석)
STTUNER_OFFSET = 1
stvid.h(5517ref)
STVID_DEVICE_TYPE_5517_MPEG,
STVID_DEVICE_TYPE_GENERIC_DIGITAL_INPUT,
STVID_DEVICE_TYPE_5528_MPEG,
STVID_DEVICE_TYPE_5578_MPEG
...
BOOL HDPIPCapable; /* TRUE if supported */
...
typedef struct STVID_HDPIPParams_s{
BOOL Enable;
U32 WidthThreshold;
U32 HeightThreshold;
} STVID_HDPIPParams_t;
...
void * BaseAddress2_p;
void * BaseAddress3_p;
...
U32 ApiPbLiveResetWaitForFirstPictureDetected; /* Counts number of LiveReset while waiting for a 1st picture parsed (automatic Stop()/Start() when idle for too long in real-time) */
U32 ApiPbLiveResetWaitForFirstPictureDecoded; /* Counts number of LiveReset while waiting for a 1st picture decoded (automatic Stop()/Start() when idle for too long in real-time) */
U32 ApiPbLiveResetWaitForNextPicture; /* Counts number of LiveReset while waiting for the next picture decoded (automatic Stop()/Start() when idle for too long in real-time) */
...
U32 AvsyncPTSInconsistency; /* Counts number of time the PTS of the current picture is not greater than the PTS of the previous picture */
U32 DecodeStartConditionVbvDelay; /* Counts number of times the 1st decode after STVID_Start occurs according to the Vbv_Delay information. */
U32 DecodeStartConditionPtsTimeComparison; /* Counts number of times the 1st decode after STVID_Start occurs according to the comparison PTS - STC. */
U32 DecodeStartConditionVbvBufferSize; /* Counts number of times the 1st decode after STVID_Start occurs according to the Vbv_Buffer_Size information. */
...
U32 DecodePbMaxNbInterruptSyntaxErrorPerPicture; /* Counts number of SyntaxError interrupts */
...
U32 DecodePbDecodeTimeOutError; /* Counts number of decode time out */
U32 DecodePbInterruptMisalignmentError; /* Counts number of decode misalignments */
...
U32 DisplayPictureInsertedInQueueDecimated; /* Counts number of pictures inserted in display queue */
U32 DisplayPictureDisplayedByMain; /* Counts number of pictures displayed (not decimated) */
U32 DisplayPictureDisplayedByAux; /* Counts number of pictures displayed (not decimated) */
U32 DisplayPictureDisplayedDecimatedByMain; /* Counts number of decimated pictures displayed */
U32 DisplayPictureDisplayedDecimatedByAux; /* Counts number of decimated pictures displayed */
U32 DisplayPbQueueLockedByLackOfPicture;/* Counts number of time the display queue is locked by lack of picture to display */
U32 DisplayPbPictureTooLateRejectedByMain; /* Counts number of pictures rejected by display because too late */
U32 DisplayPbPictureTooLateRejectedByAux; /* Counts number of pictures rejected by display because too late */
...
#if defined(ST_5510) || defined(ST_5512) || defined(ST_5508) || defined(ST_5518) || defined(ST_5514) || defined(ST_5516) || defined(ST_5517) || defined(ST_5578)
...
ST_ErrorCode_t STVID_GetHDPIPParams(const STVID_Handle_t Handle, STVID_HDPIPParams_t * const HDPIPParams_p);
...
ST_ErrorCode_t STVID_SetHDPIPParams(const STVID_Handle_t Handle, const STVID_HDPIPParams_t * const HDPIPParams_p);
...
typedef struct STVID_PictureInfos_s
{
STGXOBJ_Bitmap_t BitmapParams;
STVID_VideoParams_t VideoParams;
#if 0 /* needed only for De-Interlacer */
STVID_PictureBufferHandle_t PictureBufferHandle;
#endif /* if 0 :needed for De-Interlacer */
} STVID_PictureInfos_t;
...
#if 0 /* needed for De-Interlacer */
typedef enum STVID_DisplaySynchronisationMode_e
{
STVID_DISPLAY_SYNCHRO_AUTOMATIC_VTG_VSYNC_EVENT = 1,
STVID_DISPLAY_SYNCHRO_MANUAL = 2
} STVID_DisplaySynchronisationMode_t;
ST_ErrorCode_t STVID_RequestPictureBuffer(const STVID_Handle_t Handle,
const STVID_PictureBufferHandle_t PictureBufferHandle);
ST_ErrorCode_t STVID_PresentPictureBuffer(const STVID_Handle_t Handle,
const ST_DeviceName_t LayerName,
const STVID_PictureBufferHandle_t PictureBufferHandle,
const STVID_Freeze_t * const Freeze_p);
ST_ErrorCode_t STVID_SynchronizeDisplay(const STVID_Handle_t Handle,
const STVTG_VSYNC_t ParitySimu,
const ST_DeviceName_t LayerName);
ST_ErrorCode_t STVID_DisablePresentation(const STVID_Handle_t Handle,
const ST_DeviceName_t LayerName);
ST_ErrorCode_t STVID_EnablePresentation(const STVID_Handle_t Handle,
const ST_DeviceName_t LayerName);
ST_ErrorCode_t STVID_SetDisplaySynchronizationMode(const STVID_Handle_t Handle,
const ST_DeviceName_t LayerName,
const STVID_DisplaySynchronisationMode_t DisplaySynchronisationMode);
ST_ErrorCode_t STVID_SetDisplayPresentationDelay(const STVID_Handle_t Handle,
const ST_DeviceName_t LayerName,
const U32 DisplayPresentationDelay);
ST_ErrorCode_t STVID_DirectShowPicture(const STVID_Handle_t Handle,
const ST_DeviceName_t LayerName,
STGXOBJ_Bitmap_t * BitmapParams_p);
#endif /* if O needed for De-Interlacer */
stvid.h(여기석)
STVID_DEVICE_TYPE_GENERIC_DIGITAL_INPUT
...
U32 ApiPbLiveReset; /* Counts number of LiveReset (automatic Stop()/Start() when idle for too long in real-time) */
...
U32 DisplayPictureDisplayed; /* Counts number of pictures displayed (not decimated) */
U32 DisplayPictureDisplayedDecimated; /* Counts number of decimated pictures displayed */
U32 DisplayPbQueueLockedByLackOfPicture;/* Counts number of time the display queue is locked by lack of picture to display */
U32 DisplayPbPictureTooLateRejected; /* Counts number of pictures rejected by display because too late */
...
typedef struct STVID_PictureInfos_s
{
STGXOBJ_Bitmap_t BitmapParams;
STVID_VideoParams_t VideoParams;
} STVID_PictureInfos_t;
...
#if defined(ST_5510) || defined(ST_5512) || defined(ST_5508) || defined(ST_5518) || defined(ST_5514) || defined(ST_5516)