📄 rm84cmn.h
字号:
/** setting for audio channels selection for the speakers: eAudioMode_Stereo eAudioMode_MonoLeft eAudioMode_MonoRight eAudioMode_MonoMix @remark The default value is eAudioMode_Stereo. */ eAudioMode, // eAudioMode_type /** 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. */ eaInOutConfig, // AudioInOutConfig_type /** audio volume right from 0 to 100 @remark The default value is 50. */ eaVolumeRight, // RMuint32: [0..100], right volume /** audio volume left from 0 to 100 @remark The default value is 50. */ eaVolumeLeft, // RMuint32: [0..100], left volume /** 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. */ eAudioFormat, // eAudioFormat_type /** Sample rate of the audio stream ( 32kHz, 48kHz, ... ) @remark The default value is 48KHz. */ eAudioSampleRate, // RMuint32 /** 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. */ eAudioNumberOfChannels, // RMuint32: 1,2,...,8 /** 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. */ eAudioNumberOfBitsPerSample, // RMuint32: 24, 20 or 16. /** eAudioI2SOutput enable or disable the I2S output @li eAudioI2SOutput_Disabled @li eAudioI2SOutput_Active @li eAudioI2SOutput_ActiveData0 @remark The default value is eAudioI2SOutput_Active. */ eAudioI2SOutput, // eAudioI2SOutput_type /** eAudioSpdifOutput enable or disable the SPDIF output @li eAudioSpdifOutput_Disabled @li eAudioSpdifOutput_Active @li eAudioSpdifOutput_ActiveData0 @remark The default value is eAudioSpdifOutput_Active. */ eAudioSpdifOutput, // eAudioSpdifOutput_type /** 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. */ eAudioDigitalOutput, // eAudioDigitalOutput_type, (MpegAttrAudioOutput) /** 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. */ eAudioChannelStatus, // ResetSetMask_type, set, get /** Information available only in audio decoding AC3 or Mpeg state. Get 32000, 44100, 48000 from the hardware audio decoder. */ eAudioHwDecSampleRate, // RMuint32, get only /** 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 */ eAudioHwDecMode, // eAudioHwDecMode_type, get only /** 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 */ eAudioHwDecEmphasis, // RMuint32, get only /** Information valid only in audio decoding Mpeg state. */ eAudioHwDecCopyright, // RMuint32, get only /** setting for DVD AUDIO parameters: ChannelAssign HwLib default eaDvdAudio33_LfRfCLfeLsRs GR1BitsPerSample HwLib default 24 GR2BitsPerSample HwLib default 16 GR1SampleRate HwLib default 96000Hz GR2SampleRate HwLib default 48000Hz */ eaDvdAudioConf, // eaDvdAudioConf_type structure eaMax}AUDIO_SET_ID;// TIME_SET uses TIME_INFO or etimSystemTimeClock_typetypedef enum { /** etimPcrInfo (set/get) uses PCR_INFO structure Name Default Comments/Unit ----------------------------------------------------------------------------- PcrEnable 0 // 0/1 disables/enables Pcr mode; RecoveryTime 16 // log2 ( RecoveryTime / 200us ) // e.g. For 16 -> RecoveryTime = 2^16 =13.1072sec PcrIntrPeriodUs 20000 // microsecond; e.g 200000 = 200ms ->5 intr/sec // It can be changed to 20000=20ms->50 intr/sec, // for a smoother control of the voltage control TimeResolution 90000 // 90K unit; e.g. 90000 = 1sec - specifies the unit for the PCR_time DeltaPCR_SCR_Max 9000 // Max. accepted diff. between incoming PCR and board's clock SCR // 90K unit; e.g. 9000 = 100ms DeltaSCR_APTS_Max 180 // Max. accepted diff. between SCR and the incoming AudioPTS // 90K unit; e.g. 180 = 2ms HwVcxo 5 // Galaxy2 Siemens use PIO 5 for Vcxo PpmRange 150 // +/- 150ppm */ etimPcrInfo = 0, // PCR_INFO /** etimPcrTime uses etimSystemTimeClock_type structure, where dwTimeResolution = 90000 for 90k pts unit, 1000 for ms unit dwlTime = time stamp */ etimPcrTime, // etimSystemTimeClock_type, set, get /** Replaces IDecodeBoard_ReadSCR/WriteSCR. Without setting etimSystemTimeClock, after VideoHwStop or AudioHwStop the first Pts received in SendVideoPayload or SendAudioPayload will be used to update the decoder's reference clock. If etimSystemTimeClock is set after VideoHwStop or AudioHwStop and before sending data and Pts the Pts from data will be disregarded. */ etimSystemTimeClock, // etimSystemTimeClock_type, set, get /** Returns the timestamp of the last decoded video frame (displayed or not). Replaces IDecoderBoard_ReadHwPts45k. */ etimLastDecodedVideoFrameTime, // etimSystemTimeClock_type, set, get /** Returns the timestamp of the last decoded audio frame. */ etimLastDecodedAudioFrameTime, // etimSystemTimeClock_type, set, get /** etimVOPTimeIncrRes - only for Mpeg4. Should be set before starting play with the value from DSI info. Returns the previously set: - fixed VOP time increment resolution if the playback has forced rate, else - VOP time increment resolution, HwLib default 30. */ etimVOPTimeIncrRes, // RMuint32, set, get /** etimVideoCTSTimeScale - only for Mpeg4. It should be set by mp4 parser. HwLib default 1000. */ etimVideoCTSTimeScale, // RMuint32, set, get /** etimAudioCTSTimeScale - only for Mpeg4. It should be set by mp4 parser. HwLib default 1000. */ etimAudioCTSTimeScale, // RMuint32, set, get /** Returns the timestamp of the last displayed video frame. */ etimVideoFrameDisplayedTime, // etimSystemTimeClock_type, set, get etimMax}TIME_SET_ID;// SUBPICTURE_SETtypedef enum { /** RMuint32. This represents what will be set in the control register of the SubPicture block of the chip. This register is named SP_CTRL. For reference, here is its content: 15:9 --> Reserved. 8 --> Button Enable (Enables Highlight). 7 --> Field Enable (1: top, 0: Bottom) - microcode use 6 --> Field Alternate (1: Alternate, 0:Same) - microcode use 5 --> Vertical Downsampling Enable - microcode use 4 --> Horizontal Downsampling Enable - microcode use 3 --> Vertical Upsampling Enable - microcode use 2 --> Horizontal Upsampling Enable - microcode use 1 --> SubPicture Enable. 0 --> Reset - microcode use The user can change through HwLib only bits 8 and 1 to enable/disable the subpicture and the hilites = buttons. */ eSubpictureCmd, /** An array of 16*4 bytes layed out as: RYUV RYUV RYUV ... RYUV Where each letter represents one byte. R means reserved. Y is the Y color component. U is the U color component. V is the V color component. */ eSubpictureUpdatePalette, /** a eSubpictureUpdateButton_type */ eSubpictureUpdateButton, eSubpictureMax}SUBPICTURE_SET_ID;// VIDEO_DECODER_SET uses RMuint32 = unsigned long = DWORDtypedef enum { evdAccessRegister = 0, // genericReg_type (ADDR_DATA) evdTvStandard, evdAudioClock, evdInputSource, evdMax}VIDEO_DECODER_SET_ID;// MPEG_ENCODER_SETtypedef enum { /** genericReg_type */ emeAccessRegister = 0, // genericReg_type (ADDR_DATA)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -