📄 rmhwlibprop.inc
字号:
+-------------------------------+----------------------------+ | SET_TV | SET_HDTV | +--------------+-------------------------------+----------------------------+ | Disp |evNBits| 847X-revAB |848X,847X-revC | 847X-revAB |848X,847X-revC | + |Digital+---------------+---------------+------------+---------------+ | mode | Video | Anlg. | Dig. | Anlg. | Dig. | Anlg.| Dig.| Anlg. | Dig. | +------+-------+---------------+-------+-------+------------+-------+-------+ | | 8 | OK 8 | 8 | | 8 | | 8 | | 8 | | +-------+---------------+ +-------+ |-----+ +-------+ | SD | 16 |Disabled| 16 | OK 8 | 16 | OK 8 | 8 | OK 8 | 16 | | +-------+---------------+ +-------+ |-----+ +-------+ | | 24 |Disabled| 24 | | 24 | |24rgb| | 24 | | | | | rgb | |rgb/yuv| |2xclk| |rgb/yuv| +------+-------+--------+------+-------+-------+------+-----+-------+-------+ | | 8 | - | - | - | - | | 16 | | 16 | | +-------+---------------+-------+-------+ |-----+ +-------+ | HD | 16 | - | - | - | - | OK 16| 16 | OK 16 | 16 | | +-------+---------------+-------+-------+ |-----+ +-------+ | | 24 | - | - | - | - | | 24 | | 24 | | | | | | | | | rgb | |rgb/yuv| +------+-------+--------+------+-------+-------+------+-----+-------+-------+ In evOutputDevice_DigOvOnly mode the evNBitsDigitalVideoData property is ignored. The "BitsPerClock" member in evDigOvOnlyParams_type structure will be used. In evOutputDevice_DigOvOnly mode it is the responsability of user to enable or disable the analog output. Eg. In this mode we can force the SD 480P in 16bits, and the digital output will be OK but the analog output should be disabled. By default evNBitsDigitalVideoData (8 or 16) corresponds to eVmi_16bits (0 or 1). */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evDigitalVideoDataNBits) /** evAnalogColorimetry is supported only for EM848x and only when evTvOutputFormat is set to evTvOutputFormat_COMPONENT_RGB or evTvOutputFormat_COMPONENT_RGB_SCART. By changing the coefficients the output can change the color space from RGB to YUV. There are 12 coefficients to be programmed for the colorimetry block. The matricial equation is: Q = A * P + B, where A is 3x3 matrix and B is a 3 element column. pData should contain the 9+3 coefficients in fixed point 16.16 format. Every coefficient is represented by RMint32 = LONG = 32bits with sign, in fixed point 16.16. Here are the two default matrix for YUV and RGB: LONG ColorYUV[9+3] = // A identity, B null { 0x00010000, 0, 0, // A00, A01, A02 0, 0x00010000, 0, // A10, A11, A12 0, 0, 0x00010000, // A20, A21, A22 0, 0, 0, // B0, B1, B2 }; LONG ColorRGB[9+3] = { 0x00010000, 0xFFFFAA00, 0xFFFF4D10, // 1.0 -0.3359375 -0.698974609375 0x00010000, 0x0001BBE0, 0, // 1.0 1.73388671875 0.0 0x00010000, 0, 0x00016000, // 1.0 0.0 1.375 0x00848000, 0xFF221000, 0xFF500000, // 132.5 -221.9375 -176.0 }; For A matrix there are 9 coefficients fixed point 16.16. For EM848x integer's range is (-4,..3) and fractional accuracy is only 12 bits. For B matrix there are 3 coefficients fixed point 16.16. For EM848x integer's range is (-512,...511) and fractional accuracy is only 4 bits. */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evAnalogColorimetry) /** evDigitalColorimetry is supported only for EM848x. There are 12 coefficients to be programmed for the colorimetry block. The matricial equation is: Q = A * P + B, where A is 3x3 matrix and B is a 3 element column. pData should contain the 9+3 coefficients in fixed point 16.16 format. Every coefficient is represented by RMint32 = LONG = 32bits with sign, in fixed point 16.16. Here are the two default matrix for YUV and RGB: LONG ColorYUV[9+3] = // A identity, B null { 0x00010000, 0, 0, // A00, A01, A02 0, 0x00010000, 0, // A10, A11, A12 0, 0, 0x00010000, // A20, A21, A22 0, 0, 0, // B0, B1, B2 }; LONG ColorRGB[9+3] = { 0x00010000, 0xFFFFAA00, 0xFFFF4D10, // 1.0 -0.3359375 -0.698974609375 0x00010000, 0x0001BBE0, 0, // 1.0 1.73388671875 0.0 0x00010000, 0, 0x00016000, // 1.0 0.0 1.375 0x00848000, 0xFF221000, 0xFF500000, // 132.5 -221.9375 -176.0 }; For A matrix there are 9 coefficients fixed point 16.16. For EM848x integer's range is (-4,..3) and fractional accuracy is only 12 bits. For B matrix there are 3 coefficients fixed point 16.16. For EM848x integer's range is (-512,...511) and fractional accuracy is only 4 bits. When evDigitalVideoDataNBits is set to 8 or 16 matrix A and B are automatically changed by hardware to identity and NULL. When evDigitalVideoDataNBits is set to 24 matrix A and B are automatically changed by hardware to the RGB coefficients used in EM847X-revA,B. */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evDigitalColorimetry) /** evMpegPacked programs the decoder to use packed or unpacked display buffers. By default the decoder has packed buffers (1). For a better video quality use the property for unpacked buffers (0). Supported only by EM847x, EM848x in any playback mode except vobu reverse, when the decoder will disregard the flag and it will switch to packed buffers. Visual artifacts will appear at reverse<->normal transition. */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evMpegPacked) /** evVideoHwPlayType sets the next type that will be used for VideoHwPlay command Usefull for some applications to first store the type then send the command */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evVideoHwPlayType)RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evMax)/*****************************************************/ /** setting for the "ppm value" for 27MHz input for audio clock. Supported only for Ne2kTv board. Accepted values: -150ppm, -75ppm, 0ppm, +75ppm, +150ppm */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioFineVcxo) /** setting for the audio NovaLite Pll used for some hardware designs. In the VCXO_SET set: Coefficients[0] = (N & 0xFF) | ((M & 0xFF)<<8) | ((K & 0xFF)<<16); See NovaLite spec for values of N,M,K. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioVcxo) /** setting for AC3 parameters: Ac3ComprDlgNorm HwLib default eAc3LineOut Ac3SpeakerConfig HwLib default eAc3SpeakerSurround Ac3HiLoDynamicRange HwLib default 0xFFFF Ac3RepeatCounter HwLib default 0x0000 */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eaAc3Conf) /** setting for audio channels selection for the speakers: eAudioMode_Stereo eAudioMode_MonoLeft eAudioMode_MonoRight eAudioMode_MonoMix @remark The default value is eAudioMode_Stereo. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioMode) /** select the hardware configuration ( what audio signals are used for input/output). Next settings will be supported only on specified hardware designs. eAudioInOutDefault - Harmony only: MD5?I2S_SCkinJDA1CK_Jda1CkinGCK_ScinOUT_DamckOUT:JDA1_SCkinJDA1CK_Jda1CkinGCK_ScinOUT_DamckOUT DAMCK clock is disabled using Pios. eAudioInOutVcxoJda1Ckin - Harmony only: MD5?I2S_SCkinJDA1CK_Jda1CkinDAMCK_ScinOUT_DamckIN:JDA1_SCkinJDA1CK_Jda1CkinDAMCK_ScinOUT_DamckIN DAMCK clock is VCXO(27MHz), using Pios. eAudioInOutExternJda1Ckin - Harmony only: MD5?I2S_SCkinDAMCK_Jda1CkinGCK_ScinOUT_DamckIN:JDA1_SCkinDAMCK_Jda1CkinGCK_ScinOUT_DamckIN DAMCK is capture clock(256Fs from SAA7115), using Pios. eAudioInOutSCkinCapture - Harmony only: MD5?I2S_SCkinJDA1CK_Jda1CkinDAMCK_ScinOUT_DamckIN:JDA1_SCkinJDA1CK_Jda1CkinDAMCK_ScinOUT_DamckIN DAMCK is 1.5x(40MHz), using Pios. eAudioInOut_BitClockACLK - em848x & em847x-revC DAMCK is input (256x48k), used for internal SCkin == bit clock. ACLK is output (256x48k), generated internaly, not in sync with DAMCK. SCOUT is output (64x48k for 24 bits per sample, 32x48k for 16 bits). SFOUT is output(48k) eAudioInOut_BitClockDAMCK - em848x & em847x-revC DAMCK is input (256x48k), used for internal SCkin == bit clock. ACLK is output (256x48k), generated internaly, not in sync with DAMCK. SCOUT is output (64x48k for 24 bits per sample, 32x48k for 16 bits). SFOUT is output(48k). eAudioInOut_BitClockInternDivMClk - em848x & em847x-revC DAMCK is output (256x48k), used for internal SCkin == bit clock, generated internaly from "audio clock divider". ACLK is output (256x48k), generated internaly from "audio clock divider", same as DAMCK. SCOUT is output (64x48k for 24 bits per sample, 32x48k for 16 bits). SFOUT is output(48k). eAudioInOut_BitClockInternDivDAMCK - em848x & em847x-revC DAMCK is input, passed through an "audio clock divider" used to generate the internal SCkin == bit clock (256x48k), Fout = Fin * M / [2*(M+N)]. ACLK is output (256x48k), generated internaly from "audio clock divider". SCOUT is output (64x48k for 24 bits per sample, 32x48k for 16 bits). SFOUT is output(48k). @remark The default value is eAudioInOutDefault. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eaInOutConfig) /** audio volume right from 0 to 100 @remark The default value is 50. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eaVolumeRight) /** audio volume left from 0 to 100 @remark The default value is 50. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eaVolumeLeft) /** format of the audio stream ( mpeg, ac3, pcm,... ) Setting should be applied in Stop state of the decoder. @remark The default value is eAudioFormat_AC3. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioFormat) /** Sample rate of the audio stream ( 32kHz, 48kHz, ... ) @remark The default value is 48KHz. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioSampleRate) /** Number of PCM channels of the audio stream, used only for PCM format. Setting should be applied in Stop state of the decoder. @remark The default value is 2. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioNumberOfChannels) /** Number bits per sample of PCM audio stream, used only for PCM format. Setting should be applied in Stop state of the decoder. @remark The default value is 16. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioNumberOfBitsPerSample) /** eAudioI2SOutput enable or disable the I2S output @li eAudioI2SOutput_Disabled @li eAudioI2SOutput_Active @li eAudioI2SOutput_ActiveData0 @remark The default value is eAudioI2SOutput_Active. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioI2SOutput) /** eAudioSpdifOutput enable or disable the SPDIF output @li eAudioSpdifOutput_Disabled @li eAudioSpdifOutput_Active @li eAudioSpdifOutput_ActiveData0 @remark The default value is eAudioSpdifOutput_Active. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioSpdifOutput) /** eAudioDigitalOutput selects if the audio data are decoded in Pcm or just passtrough @li eAudioDigitalOutput_Pcm @li eAudioDigitalOutput_Compressed @remark The default value is eAudioDigitalOutput_Pcm. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioDigitalOutput) /** ChannelStatus in SPDIF has 192 bits. EM84xx has the possibility to program the first 32 bits using two 16 bits registers. MSB = bit 31 from ChannelStatus corresponds to bit 31 in SPDIF spec. LSB = bit 0 from ChannelStatus corresponds to bit 0 in SPDIF spec. Ex: Bit2 == copyright == (use SetMask = ResetMask = 0x00000004). HwLib code changes some bits from ChannelStatus registers: - bit 1 - programmed 0/1 according to PCM/digital content of the audio output, reprogrammed at every change of AudioFormat or AudioDigitalOutput. - bits 15,..,8 - initialized to 00011001 = 0x19, not reprogrammed. - bits 27,..,24 - programmed according to the audio sample rate, reprogrammed at every change of AudioSampleRate. The default ChannelStatus value is 0x02001902 (48k, DVD, digital content). SetProperty can modify any bit from the 32 available, using ResetMask and SetMask. The logical operation is: ChannelStatus = (ChannelStatus & ~ResetMask) | SetMask. It is application responsability to keep the sample rate and digital content correct ( protective mask 0x0F000002 ). GetProperty will return the value of ChannelStatus in SetMask. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioChannelStatus) /** Information available only in audio decoding AC3 or Mpeg state. Get 32000, 44100, 48000 from the hardware audio decoder. */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioHwDecSampleRate) /** Information valid only in audio decoding Mpeg state. Mpeg standard states: 0 - stereo 1 - joint_stereo 2 - dual_channel 3 - single_channel */RM_DEFINE_FULL_PROPERTY(HWLIB, AUDIO_SET, eAudioHwDecMode) /** Information valid only in audio decoding Mpeg state. Mpeg standard states: 0 - no emphasis 1 - 50/15 microsec. emphasis 2 - reserved 3 - CCITT J.17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -