⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rmhwlibprop.inc

📁 神龙卡开发原代码
💻 INC
📖 第 1 页 / 共 4 页
字号:
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)    /**     Information valid only in video decoding state.    1 for Mpeg1, 2 for Mpeg2.    */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evHwMpegStandard)    /**     1 to enable the clipping of video digital data -> luma 16-235, chroma 16-240    0 to disable the clipping of video digital data -> luma & chroma 1-254    */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evVideoClipEnable)    /**     1 to force 540 for Panscan    0 to get the horizontal size from display extension     */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evForcePanScanDefaultSize)    /**     custom coefficients for luma/chroma filters, used for evDisplayFilter:    CustomHorizontal4tap    CustomVertical2tap,    CustomVertical4tap     */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evCustomDisplayFilterCoef)    /**     evDtvClosedCaptionFifo can be used to retrieve the DTV closed caption    data from stream - from extension_and_user_data() field.    The user should provide the buffer start and size in bytes (at least 8    bytes) at SetProperty.    The CCdata from stream will be written every VSync in the buffer (if    the buffer Start is not NULL) and WrPtr incremented, until the    buffer is full. The user should read the data and increment the RdPtr    to avoid missing data. The data should be send immediatelly to device, in    to avoid asynchronism.    The CC data in fifo starts with one word "header", containing information    about the frame:  15 14   13 12    11..9      8      7      6     5 4    3 2       1 0   cc_type cc_type    0..0  Rpt1stFld  0  TopFld1st 0 0  PicStr   CC Char Cnt  pair1     pair2         0 - 2 Fld      0 - B,T       0 T Fld  0 - No Char                           1 - 3 Fld      1 - T,B       1 B Fld  1 - 2 CC Chars                                                       2 Frame  2 - 4 CC Chars    After header will follow 0, 1 or 2 words (CC data), according to bits 1,0.    cc_type = 00 should be sent on line21 field 1    cc_type = 01 should be sent on line21 field 2    */RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evDtvClosedCaptionFifo)RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evValidFrameIndicator)RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evTopBottomPhase)RM_DEFINE_FULL_PROPERTY(HWLIB, VIDEO_SET, evChromaDecimate444to422)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)    /**     The information is valid only if the audio decoded is Ac3 or Mpeg, otherwise the    property will return invalid mode.    eAudioHwDec_unknown = -1,    eAudioHwDec_acmod_1_1 = 1+1 = 2ch = Ch1,Ch2, em84xx can do LeftOnly/RightOnly    eAudioHwDec_acmod_1_0 = 1/0 = 1ch = C    eAudioHwDec_acmod_2_0 = 2/0 = 2ch = L,R    eAudioHwDec_acmod_3_0 = 3/0 = 3ch = L,C,R    eAudioHwDec_acmod_2_1 = 2/1 = 3ch = L,R,S    eAudioHwDec_acmod_3_1 = 3/1 = 4ch = L,C,R,S    eAudioHwDec_acmod_2_2 = 2/2 = 4ch = L,R,SL,SR    eAudioHwDec_acmod_3_2 = 3/2 = 5ch = L,C,R,SL,SR    eAudioHwDec_mpeg_stereo    eAudioHwDec_mpeg_joint_stereo    eAudioHwDec_mpeg_dual_channel    eAudioHwDec_mpeg_single_channel

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -