mirror of
https://github.com/marqs85/ossc
synced 2026-10-31 04:07:14 +03:00
TX improvements
* tweak audio parameters * set AFE level based on PCLK
This commit is contained in:
1 parent
687905780e
commit
2bac00fd82
9 files changed
+7096
-6999
No files matched your search
@@ -78,18 +78,18 @@ bool HDMITX_HPD(void){
|
||||
}
|
||||
|
||||
|
||||
void HDMITX_SetAVIInfoFrame(alt_u8 VIC, bool b16x9, bool ITU709, bool ITC, alt_u8 pixelrep)
|
||||
void HDMITX_SetAVIInfoFrame(alt_u8 VIC, alt_u8 OutputColorMode, bool b16x9, bool ITU709, bool ITC, alt_u8 pixelrep)
|
||||
{
|
||||
AVI_InfoFrame AviInfo;
|
||||
|
||||
OS_PRINTF("HDMITX_SetAVIInfoFrame: VIC=%d, Aspect-Ratio=%s, ITU709=%s, ITC=%s, pixelrep=%u\n",
|
||||
VIC, b16x9?"16:9":"4:3", ITU709?"Yes":"No", ITC?"Yes":"No", pixelrep);
|
||||
OS_PRINTF("HDMITX_SetAVIInfoFrame: VIC=%d, ColorMode=%d, Aspect-Ratio=%s, ITU709=%s, ITC=%s, pixelrep=%u\n",
|
||||
VIC, OutputColorMode, b16x9?"16:9":"4:3", ITU709?"Yes":"No", ITC?"Yes":"No", pixelrep);
|
||||
|
||||
AviInfo.pktbyte.AVI_HB[0] = AVI_INFOFRAME_TYPE|0x80 ;
|
||||
AviInfo.pktbyte.AVI_HB[1] = AVI_INFOFRAME_VER ;
|
||||
AviInfo.pktbyte.AVI_HB[2] = AVI_INFOFRAME_LEN ;
|
||||
|
||||
/*switch(OutputColorMode)
|
||||
switch(OutputColorMode)
|
||||
{
|
||||
case F_MODE_YUV444:
|
||||
// AviInfo.info.ColorMode = 2 ;
|
||||
@@ -104,8 +104,8 @@ void HDMITX_SetAVIInfoFrame(alt_u8 VIC, bool b16x9, bool ITU709, bool ITC, alt_u
|
||||
// AviInfo.info.ColorMode = 0 ;
|
||||
AviInfo.pktbyte.AVI_DB[0] = (0<<5)|(1<<4) ;
|
||||
break ;
|
||||
}*/
|
||||
AviInfo.pktbyte.AVI_DB[0] = (0<<5)|(1<<4) ;
|
||||
}
|
||||
//AviInfo.pktbyte.AVI_DB[0] = (0<<5)|(1<<4) ;
|
||||
AviInfo.pktbyte.AVI_DB[0] |= 2; // indicate "no overscan"
|
||||
AviInfo.pktbyte.AVI_DB[1] = 8 ;
|
||||
//AviInfo.pktbyte.AVI_DB[1] |= (!b16x9)?(1<<4):(2<<4) ; // 4:3 or 16:9
|
||||
@@ -314,12 +314,17 @@ bool HDMITX_DevLoopProc()
|
||||
|
||||
void HDMITX_SetAudioInfoFrame(BYTE bAudioDwSampling)
|
||||
{
|
||||
int i;
|
||||
Audio_InfoFrame AudioInfo;
|
||||
|
||||
AudioInfo.info.Type = AUDIO_INFOFRAME_TYPE;
|
||||
AudioInfo.info.Ver = AUDIO_INFOFRAME_VER;
|
||||
AudioInfo.info.Len = AUDIO_INFOFRAME_LEN;
|
||||
|
||||
for (i=0; i<AUDIO_INFOFRAME_LEN; i++) {
|
||||
AudioInfo.pktbyte.AUD_DB[i] = 0;
|
||||
}
|
||||
|
||||
AudioInfo.info.AudioChannelCount = 1; // 2 channels
|
||||
AudioInfo.info.AudioCodingType = 1; // PCM
|
||||
AudioInfo.info.SampleSize = 3; // 24bit
|
||||
|
||||
@@ -12,7 +12,7 @@ bool HDMITX_ChipVerify(void);
|
||||
bool HDMITX_HPD(void);
|
||||
void HDMITX_ChangeVideoTiming(int VIC);
|
||||
void HDMITX_ChangeVideoTimingAndColor(int VIC, COLOR_TYPE Color);
|
||||
void HDMITX_SetAVIInfoFrame(alt_u8 VIC, bool b16x9, bool ITU709, bool ITC, alt_u8 pixelrep);
|
||||
void HDMITX_SetAVIInfoFrame(alt_u8 VIC, alt_u8 OutputColorMode, bool b16x9, bool ITU709, bool ITC, alt_u8 pixelrep);
|
||||
|
||||
void HDMITX_DisableVideoOutput(void);
|
||||
void HDMITX_EnableVideoOutput(void);
|
||||
|
||||
@@ -572,14 +572,14 @@ BOOL EnableAudioOutput4OSSC(ULONG VideoPixelClock,BYTE bAudioDwSampl,BYTE bAudio
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDIO_CTRL1,Instance[0].bOutputAudioMode);
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDIO_FIFOMAP,0xE4); // default mapping.
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDIO_CTRL3,(Instance[0].bAudioChannelSwap&0xF)|(AudioEnable&B_AUD_SPDIF));
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUD_SRCVALID_FLAT,B_AUD_SPXFLAT_SRC3|B_AUD_SPXFLAT_SRC2|B_AUD_SPXFLAT_SRC1|B_AUD_ERR2FLAT); // only two channels
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUD_SRCVALID_FLAT,B_AUD_ERR2FLAT); // only two channels
|
||||
|
||||
Switch_HDMITX_Bank(1) ;
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_MODE,0); // 2 audio channel without pre-emphasis
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_MODE,(1<<3)); // 2 audio channel without pre-emphasis, no copyright
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_CAT,0);
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_SRCNUM,1);
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUD0CHST_CHTNUM,0);
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_CA_FS,0xC0|fs); // choose clock
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_CA_FS,0x00|fs); // choose clock
|
||||
fs = ~fs; // OFS is the one's complement of FS
|
||||
HDMITX_WriteI2C_Byte(REG_TX_AUDCHST_OFS_WL,(fs<<4)|AUD_SWL_24); // 24 bit Audio
|
||||
|
||||
|
||||
Reference in new issue
Block a user