현재 가장 마지막 버전으로 사용하고 있는 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)