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

📄 rm84cmn.h

📁 RMF-1.7.153.0-NODOLBY.tar.gz 神龙卡的驱动
💻 H
📖 第 1 页 / 共 5 页
字号:
    evVOBULastPack,         // evVOBULastPack_type    evVOBUReverseSpeed,     // evSpeed_type    /** @li 1 for BROADCASTED_VIDEO -  the video is streamed and contains I blocks.        @li 0 for DVD_VIDEO - the video contains complete I frames.         @remark The default value is DVD_VIDEO.    */    evBroadcastedVideo,    /** @li 1 - displays progressive or interlaced like in the video stream        @li 0 - displays only progressive if the stream switches very fast from interlaced to progressive        @remark The default value is 0.     */    evForcedProgressiveSourceOff,    /** @li 1 - displays progressive for any video stream        @li 0 - displays progressive only for movies        @remark The default value is 0.     */    evForcedProgressiveAlways,    /** @li 1 - it drops frames when it converts Ntsc clip to PAL TV.        @li 0 - it drops fields when it converts Ntsc clip to PAL TV.        @remark The default value is 0.    */    evNtscPalFrameDrop,    /** @li 1 - displays only BOB on progressive device output        @li 0 - displays BOB or WEAVE on progressive device output, depending on stream        @remark The default value is 0.    */    evForcedBobDisplayOnOutputDevice,    /** 4 bits info from video stream        bit 1,0 = APS= analogue protection system= pseudo sync pulse, inverted split color burst        bit 3,2 = CGMS= copy generation management system= copyright, copy generation    */    evMacrovisionFlags,     // RMuint32, set only (similar with MpegAttrVideoMacrovisionFlags)    /**         Information valid only in video decoding state.        Index in table defined in Mpeg1/2 standard    */    evHwFrameRateIndex,     // RMuint32, get only    /**         Information valid only in video decoding state.        Index in table defined in Mpeg1/2 standard    */    evHwAspectRatioIndex,   // RMuint32, get only    /**     Is effective during the video PAUSE and STOP status after DICOM_Update flag is set to 1.    evStreamDefaultAtPause    evTopFieldAtPause,    evBottomFieldAtPause,    evBothFieldsAtPause    */    evFieldFrameAtPause,  // set, get, evFieldFrameAtPause_type    evVideoHwPlay,        // evVideoHwPlay_type, set    evVideoHwPause,       // set, no parameters needed    evVideoHwStop,        // set, no parameters needed    evVideoHwBlackFrame,  // set, no parameters needed - same as ebiCommand_VideoHwBlackFrame    /** evSkippedFramesCounter gives the number of frames skipped since    previous video play.    */    evSkippedFramesCounter,// RMuint32, get only    /** evCGMSWSS property gives completely control to the user to program    the CGMS data on line 20/283 in NTSC (IEC61880) or    WSS data on line 22,285 in PAL(ITU-R BT.1119-2).    CGMS stands for Copy generation Management System data, for NTSC.     WSS stands for WideScreeenSignalig data, for PAL.    According to IEC 61880 there are 3 words of info (total 20 bits):       WORD0 = 2 bits (aspect ratio = 00,01,10,11 = 4x3,16x9,letterbox,reserved)       WORD1 = 4 bits (0000, 1111 = WORD2 contains valid info, no info)       WORD2 = 14 bits (bit 7,8= copyright, bits 9,10 = APS; bit 11=analog source)    For a simple implementation the mapping from standard to evCGMSWSS settings are:           +-WORD0-+-WORD1-+-------WORD2------------+-----CRCC------+    IEC_Bit: 1  2   3 4 5 6  7 8 9 10 11 12 13 14 15  16 17 18 19 20    CGMSWSS: 0  1   2 3 4 5  6 7 8  9 10 11 12 13 14  15 16 17 18 19 ... 29 30 31,    where bit29= SoftwareCRC generation and bit31/30= CGMS enabled on odd/even field.    If bits 31,30,29 are 0 the hardware will generate the CRC and the info    will be enabled and transmitted on both fields.    HwLib code already programs some bits from CGMSWSS registers:     - IEC_Bits 7,8,9,10 - reprogrammed according to evMacrovisionFlags.    By default all the other bits are 0, the hardware will generate the CRC and    the data will be enabled and transmitted on both fields.    If bit 29 is 0 (hardware CRCC) the bits IEC_16..20 (CRCC) will be ignored.    evCGMSWSS SetProperty can modify any bit, using ResetMask and SetMask.    The logical operation is:      CGMSWSS = (CGMSWSS & ~ResetMask) | SetMask.    It is application responsability to protect or reprogram the bits IEC_Bits 7,8,9,10.    GetProperty will return the value of CGMSWSS in SetMask.    */    evCGMSWSS,     // ResetSetMask_type, set, get    /** evCCEnable permits to enable disable ClosedCaption.    A value of 0 disables, 1 enables ClosedCaption.    By default the ClosedCaption is enabled    */    evCCEnable,           // RMuint32, set, get    /** evPixelClockPolarity.    0 is active low, 1 active hi.    By default is active low.    */    evPixelClockPolarity, // RMuint32, set, get    /** evDigitalVideoDataNBits    It programs how many bits per video clock (VClk) are valid at the    digital output of the EM8xxx.    A value of 24 enables the 24 bit digital output, used for DVI output.    By default the 24 bits are converted to RGB. Only for EM847x-revC and    EM848x the 24 bits can be converted in YUV444 using evDigitalColorimetry property.    A value of 8/16 enables YUV422 digital video data on 8 or 16 bits.    evNBitsDigitalVideoData is used only for SET_TV, SET_HDTV modes, not in    evOutputDevice_DigOvOnly mode.    There are some hardware restrictions on EM847X-revA,B - see next table,    in order to keep the analog output OK.    Note:    SD= standard definition = less or equal than 576P = supported only in 8bit by    the analog output.    HD= high definition = greater than 576P = supported only in 16bit by the    analog output.                   +-------------------------------+----------------------------+                   |         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).   */    evDigitalVideoDataNBits,    // RMuint32, set, get    /** 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.   */    evAnalogColorimetry,    // set, get        /** 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.   */    evDigitalColorimetry,   // set, get    /** 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.    */    evMpegPacked,         // RMuint32, set, get    /** 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    */    evVideoHwPlayType,   // evVideoHwPlay_type, set, get    /**     Information valid only in video decoding state.    1 for Mpeg1, 2 for Mpeg2.    */    evHwMpegStandard,   // RMuint32, get only    /**     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    */    evVideoClipEnable,  // RMuint32, set, get    /**     1 to force 540 for Panscan    0 to get the horizontal size from display extension     */    evForcePanScanDefaultSize,  // RMuint32, set, get    /**     custom coefficients for luma/chroma filters, used for evDisplayFilter:    CustomHorizontal4tap    CustomVertical2tap,    CustomVertical4tap     */    evCustomDisplayFilterCoef,  // evCustomDisplayFilterCoef_type    /**     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    */    evDtvClosedCaptionFifo,  // DATA_FIFO, set, get	evValidFrameIndicator,   // RMuint32, set only, supported only by EM848x	evTopBottomPhase,        // evTopBottomPhase_type, set, get, supported only by EM848x	evChromaDecimate444to422,// RMuint32, set, get, supported only by EM847xC, EM848x    evMax}VIDEO_SET_ID;// AUDIO_SETtypedef enum {    /** setting for the "ppm value" for 27MHz input for audio clock.    Supported only for Ne2kTv board.    Accepted values: -150ppm, -75ppm, 0ppm, +75ppm, +150ppm    */    eAudioFineVcxo = 0,         // int    /** 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.    */    eAudioVcxo,                 // VCXO_SET, set only    /** setting for AC3 parameters:    Ac3ComprDlgNorm      HwLib default eAc3LineOut    Ac3SpeakerConfig     HwLib default eAc3SpeakerSurround    Ac3HiLoDynamicRange  HwLib default 0xFFFF    Ac3RepeatCounter     HwLib default 0x0000    */    eaAc3Conf,                  // AC3_CONF structure    /** setting for audio channels selection for the speakers:    eAudioMode_Stereo    eAudioMode_MonoLeft

⌨️ 快捷键说明

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