📄 avi_control.h
字号:
WORD cbSize;
} WAVEFORMATEX;
typedef struct tagTEXTINFO{
WORD wCodePage;
WORD wCountryCode;
WORD wLanguageCode;
WORD wDialect;
} TEXTINFO;
*/
/* <<< :@ 5010.joe.kang 051122: DRM */
/* DRM format enum */
typedef enum
{
AVC_DRM_BASE=0,
AVC_DRM_ACTIVATION_PURCHASE,
AVC_DRM_ACTIVATION_RENTAL,
AVC_DRM_PURCHASE,
AVC_DRM_RENTAL,
AVC_DRM_UNKNOWN,
/* <<< @: 5010-xxx.HoJune_Byun 06/02/15 : Additional Requirement for Divx Certification */
AVC_DRM_MASTER_KEY_ERROR
/* <<< @: 5010-xxx.HoJune_Byun 06/02/15 : Additional Requirement for Divx Certification */
} AVC_DRM_TYPE_et;
typedef enum {
DRM_Play_File =0,
DRM_Authorization_Error,
DRM_Rental_Expired,
DRM_Rental_Confirmation,
DRM_Rental_Check_OK
} AVC_DRM_RESULT_et;
/* >>> :@ 5010.joe.kang 051122: DRM function*/
/* 06 30 05 */ /* WAVE form wFormatTag IDs */
#define WAVE_FILTER_UNKNOWN 0x0000
#define WAVE_FILTER_DEVELOPMENT 0xFFFF
#define WAVE_FILTER_VOLUME 0x0001
#define WAVE_FILTER_ECHO 0x0002
//jy
#define WAVE_FORMAT_NOCOMPRESSED_PCM 0x0001
#define WAVE_FORMAT_ADPCM 0x0002
#define WAVE_FORMAT_IEEE_FLOAT 0x0003
#define WAVE_FORMAT_VSELP 0x0004
#define WAVE_FORMAT_IBM_CVSD 0x0005
#define WAVE_FORMAT_ALAW 0x0006
#define WAVE_FORMAT_MULAW 0x0007
#define WAVE_FORMAT_DTS 0x0008
#define WAVE_FORMAT_OKI_ADPCM 0x0010
#define WAVE_FORMAT_DVI_ADPCM 0x0011
//#define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM)
#define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012
#define WAVE_FORMAT_SIERRA_ADPCM 0x0013
#define WAVE_FORMAT_G723_ADPCM 0x0014
#define WAVE_FORMAT_DIGISTD 0x0015
#define WAVE_FORMAT_DIGIFIX 0x0016
#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017
#define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018
#define WAVE_FORMAT_CU_CODEC 0x0019
#define WAVE_FORMAT_YAMAHA_ADPCM 0x0020
#define WAVE_FORMAT_SONARC 0x0021
#define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022
#define WAVE_FORMAT_ECHOSC1 0x0023
#define WAVE_FORMAT_AUDIOFILE_AF36 0x0024
#define WAVE_FORMAT_APTX 0x0025
#define WAVE_FORMAT_AUDIOFILE_AF10 0x0026
#define WAVE_FORMAT_PROSODY_1612 0x0027
#define WAVE_FORMAT_LRC 0x0028
#define WAVE_FORMAT_DOLBY_AC2 0x0030
#define WAVE_FORMAT_GSM610 0x0031
#define WAVE_FORMAT_MSNAUDIO 0x0032
#define WAVE_FORMAT_ANTEX_ADPCME 0x0033
#define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034
#define WAVE_FORMAT_DIGIREAL 0x0035
#define WAVE_FORMAT_DIGIADPCM 0x0036
#define WAVE_FORMAT_CONTROL_RES_CR10 0x0037
#define WAVE_FORMAT_NMS_VBXADPCM 0x0038
#define WAVE_FORMAT_CS_IMAADPCM 0x0039
#define WAVE_FORMAT_ECHOSC3 0x003A
#define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B
#define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C
#define WAVE_FORMAT_XEBEC 0x003D
#define WAVE_FORMAT_G721_ADPCM 0x0040
#define WAVE_FORMAT_G728_CELP 0x0041
#define WAVE_FORMAT_MSG723 0x0042
#define WAVE_FORMAT_MPEG 0x0050
#define WAVE_FORMAT_RT24 0x0052
#define WAVE_FORMAT_PAC 0x0053
#define WAVE_FORMAT_MPEGLAYER3 0x0055
#define WAVE_FORMAT_LUCENT_G723 0x0059
#define WAVE_FORMAT_CIRRUS 0x0060
#define WAVE_FORMAT_ESPCM 0x0061
#define WAVE_FORMAT_VOXWARE 0x0062
#define WAVE_FORMAT_CANOPUS_ATRAC 0x0063
#define WAVE_FORMAT_G726_ADPCM 0x0064
#define WAVE_FORMAT_G722_ADPCM 0x0065
#define WAVE_FORMAT_DSAT_DISPLAY 0x0067
#define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069
#define WAVE_FORMAT_VOXWARE_AC8 0x0070
#define WAVE_FORMAT_VOXWARE_AC10 0x0071
#define WAVE_FORMAT_VOXWARE_AC16 0x0072
#define WAVE_FORMAT_VOXWARE_AC20 0x0073
#define WAVE_FORMAT_VOXWARE_RT24 0x0074
#define WAVE_FORMAT_VOXWARE_RT29 0x0075
#define WAVE_FORMAT_VOXWARE_RT29HW 0x0076
#define WAVE_FORMAT_VOXWARE_VR12 0x0077
#define WAVE_FORMAT_VOXWARE_VR18 0x0078
#define WAVE_FORMAT_VOXWARE_TQ40 0x0079
#define WAVE_FORMAT_SOFTSOUND 0x0080
#define WAVE_FORMAT_VOXWARE_TQ60 0x0081
#define WAVE_FORMAT_MSRT24 0x0082
#define WAVE_FORMAT_G729A 0x0083
#define WAVE_FORMAT_MVI_MVI2 0x0084
#define WAVE_FORMAT_DF_G726 0x0085
#define WAVE_FORMAT_DF_GSM610 0x0086
#define WAVE_FORMAT_ISIAUDIO 0x0088
#define WAVE_FORMAT_ONLIVE 0x0089
#define WAVE_FORMAT_SBC24 0x0091
#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
#define WAVE_FORMAT_MEDIASONIC_G723 0x0093
#define WAVE_FORMAT_PROSODY_8KBPS 0x0094
#define WAVE_FORMAT_ZYXEL_ADPCM 0x0097
#define WAVE_FORMAT_PHILIPS_LPCBB 0x0098
#define WAVE_FORMAT_PACKED 0x0099
#define WAVE_FORMAT_MALDEN_PHONYTALK 0x00A0
#define WAVE_FORMAT_RHETOREX_ADPCM 0x0100
#define WAVE_FORMAT_IRAT 0x0101
#define WAVE_FORMAT_VIVO_G723 0x0111
#define WAVE_FORMAT_VIVO_SIREN 0x0112
#define WAVE_FORMAT_DIGITAL_G723 0x0123
#define WAVE_FORMAT_SANYO_LD_ADPCM 0x0125
#define WAVE_FORMAT_SIPROLAB_ACEPLNET 0x0130
#define WAVE_FORMAT_SIPROLAB_ACELP4800 0x0131
#define WAVE_FORMAT_SIPROLAB_ACELP8V3 0x0132
#define WAVE_FORMAT_SIPROLAB_G729 0x0133
#define WAVE_FORMAT_SIPROLAB_G729A 0x0134
#define WAVE_FORMAT_SIPROLAB_KELVIN 0x0135
#define WAVE_FORMAT_G726ADPCM 0x0140
#define WAVE_FORMAT_QUALCOMM_PUREVOICE 0x0150
#define WAVE_FORMAT_QUALCOMM_HALFRATE 0x0151
#define WAVE_FORMAT_TUBGSM 0x0155
#define WAVE_FORMAT_MSAUDIO1 0x0160
/* For ASF */
#define WAVE_FORMAT_WMA 0x0161
#define WAVE_FORMAT_WMA9_PROFESSIONAL 0x0162
#define WAVE_FORMAT_WMA9_LOSSLESS 0x0163
#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200
#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202
#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203
#define WAVE_FORMAT_UHER_ADPCM 0x0210
#define WAVE_FORMAT_QUARTERDECK 0x0220
#define WAVE_FORMAT_ILINK_VC 0x0230
#define WAVE_FORMAT_RAW_SPORT 0x0240
#define WAVE_FORMAT_IPI_HSX 0x0250
#define WAVE_FORMAT_IPI_RPELP 0x0251
#define WAVE_FORMAT_CS2 0x0260
#define WAVE_FORMAT_SONY_SCX 0x0270
#define WAVE_FORMAT_FM_TOWNS_SND 0x0300
#define WAVE_FORMAT_BTV_DIGITAL 0x0400
#define WAVE_FORMAT_QDESIGN_MUSIC 0x0450
#define WAVE_FORMAT_VME_VMPCM 0x0680
#define WAVE_FORMAT_TPC 0x0681
#define WAVE_FORMAT_OLIGSM 0x1000
#define WAVE_FORMAT_OLIADPCM 0x1001
#define WAVE_FORMAT_OLICELP 0x1002
#define WAVE_FORMAT_OLISBC 0x1003
#define WAVE_FORMAT_OLIOPR 0x1004
#define WAVE_FORMAT_LH_CODEC 0x1100
#define WAVE_FORMAT_NORRIS 0x1400
#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500
/* <<< @: 5010-xxx.JaeYoul_Kim 051029 : add DIVX coding mode */
#define WAVE_FORMAT_DVM_AC3 0x2000
#define WAVE_FORMAT_DVM_DTS 0x2001
/* >>> @: 5010-xxx.JaeYoul_Kim 051029 */
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
//////////////////////////////////////////////////////////////////
#define WAVE_FORMAT_OGG 0x6771 //jy ogg
/* Sectors( 2352 Bytes x 15 sectors(CD mode) )狼 start客 end point */
//VOID _AVI_Input_Initialize( UCHAR *start );
VOID Avi_Task(UCHAR argc, void *argv);
//VOID avi_parsing(UINT sector_rd_ptr, UINT sector_end_ptr);
VOID AVI_PreInit(void);
//UINT Avi_Header_Parse(UINT start_ptr, UINT end_ptr);
VOID AVI_DeleteTask(VOID);
VOID Avi_Stop(void);
VOID MemcopyDMA(UCHAR *to, UCHAR *from, UINT size);
VOID _AES_HW_Terminate(void);
/* 06 28 05 */
AVI_STATUS_et getAVIStatus(VOID);
VOID setAVIStatus(AVI_STATUS_et status);
//VOID Avi_SetAudioCodec(AUDIO_STREAMFORMAT_st astrf);
//VOID Avi_SetAudioCodec(BYTE2 audio_str_id);
VOID Avi_SetAudioCodec(BYTE2 audio_str_id, SINT audio_streamNo);
/* <<< @: 5010-xxx.HoJune_Byun 06/03/30 : memset after 'pLastVbvIn->end' point of the last alloc */
VOID Avi_VideoLastAlloc(SH_ExtraParInput_t *pExtraInfo);
/* <<< @: 5010-xxx.HoJune_Byun 06/03/30 : memset after 'pLastVbvIn->end' point of the last alloc */
VOID Avi_AudioLastAlloc(void);
/* <<< @: 5010-xxx.HoJune_Byun 05/11/15 : Inactivate unused code */
#if _AES_DYCRYPT_
#if 0
VOID copyRemDRM(UCHAR *sourceBuff,SPartialDRMBuff *psPartDRM);
VOID copyPartialDRMInfo(UCHAR *sourceBuff,SPartialDRMBuff *psPartDRM, UINT byteOffset);
VOID copyRemEncryptFrame(UCHAR *sourceBuff,UINT frameSize);
VOID copyPartialDDChunkInfo(UCHAR *sourceBuff, UINT byteOffset);
VOID copyRemDDChunkInfo(UCHAR *sourceBuff);
#endif
/* <<< :@ 5010.joe.kang 051122: DRM function*/
AVC_DRM_TYPE_et parseDRMInfo(UCHAR * drm_ptr);
AVC_DRM_RESULT_et DRM_RentalQuery(UCHAR * useLimit, UCHAR * useCount);
AVC_DRM_RESULT_et DRM_MakeSessionKey(void);
VOID DRM_MakeFrameKeys(void);
/* >>> :@ 5010.joe.kang 051122: */
VOID test_master_decrypt(UCHAR* tempPtr); /* get the session key from the master key */
VOID test_session_aes(UCHAR* frameKeyPtr); /* Populate the frame key table from the session key */
VOID decryptFrame(UCHAR * tempPtr, UINT size, UINT offSet);
VOID test_local_master_decrypt(UCHAR * tempPtr, UCHAR hardwareKey[]);
/* <<< @: 5010-xxx.HoJune_Byun 05/11/29 : Inactivate Unused Code */
#if 0
VOID DecryptMasterKey(UCHAR* tempPtr, UINT size, UINT offset);
#endif
/* <<< @: 5010-xxx.HoJune_Byun 05/11/29 */
#endif/* _AES_DYCRYPT_ */
INT StringCmp(CHAR * curPtr, CHAR * compPtr, int cmpLength);
/*0915*/
VOID Avi_Ext_Aud_DeleteTask(void);
//HJ1005
VOID Avi_InitDemuxVariables(void);
SYS_RETURN AVI_SendMsgToTask(AVI_Message_st *pMsg, SysWait_t Wait);
RET_STATUS AVI_BM_Release( BM_NODE *pNode);
SH_RETURN AVI_StreamInit( void );
//HJ1005
BOOL AVI_GetVideoDiscontMark( void );
BOOL AVI_SetVideoDiscontMark( void );
BOOL AVI_ClearVideoDiscontMark(void );
BOOL AVI_GetAudioDiscontMark( void );
BOOL AVI_SetAudioDiscontMark( void );
BOOL AVI_ClearAudioDiscontMark(void );
SH_RETURN AVI_DemuxLocalBufInit(void);
VOID AVI_DemuxLocalBufDeinit(void);
VOID AVI_GetDefaultVideoStream(BOOL *pValid, int *pStreamNum);
VOID AVI_GetDefaultAudioStream(BOOL *pValid, int *pStreamNum);
VOID AVI_GetDefaultSubtitleStream(BOOL *pValid, int *pStreamNum);
VOID AVI_GetCurVideoStream(BOOL *pValid, int *pStreamNum);
VOID AVI_GetCurAudioStream(BOOL *pValid, int *pStreamNum);
VOID AVI_GetCurSubtitleStream(BOOL *pValid, int *pStreamNum);
VOID AVI_SetCurVideoStream(BOOL *pValid, int VideoIndex);
VOID AVI_SetCurAudioStream(BOOL *pValid, int AudioIndex);
VOID AVI_SetCurSubtitleStream(BOOL *pValid, int SubtitleIndex);
//HJ 2005. 10. 25
BOOL Avi_SetVideoCodec(CHAR *fccHandler_biCompression, SINT stream_no);
/* <<< @: 5010-xxx.HoJune_Byun 05/11/15 : Inactivate unused code */
#if 1
//HJ 2005.10.29
VOID Avi_AudioLastAllocAfterVideo(VOID);
VOID Avi_VideoLastAllocAfterAudio(VOID);
//HJ 2005. 11.10
VOID AVI_StopAudio(AVI_Message_st *Msg);
#endif/* 0 */
/* <<< @: 5010-xxx.HoJune_Byun 05/11/15 : Inactivate unused code */
/* <<< @: 5010-xxx.HoJune_Byun 05/11/15 : */
VOID AVI_ChangeAudioStreamHandler(AVI_Message_st *pMsg);
//VOID Avi_SetAudioCodecForAudioChange(BYTE2 audio_str_id, int Audio_StreamNo);
//int AVI_SetAudioChangeStream(int AudioStreamNo, aviin_t * pAviHeaderHandle);
S5H_AudioCodingMode_t Avi_GetAudioStreamInfo(BYTE2 audio_str_id, int Audio_StreamNo);
/* <<< @: 5010-xxx.HoJune_Byun 05/11/22 : Subtitle Change */
VOID AVI_ChangeSubpicStreamHandler(AVI_Message_st *pMsg);
VOID Avi_SetSubpicCodecChange(SINT subpic_streamNo);
/* <<< @: 5010-xxx.HoJune_Byun 05/11/22 : Subtitle Change */
/* <<< @: 5010-xxx.HoJune_Byun 05/11/15 : Inactivate unused code */
#if 0
typedef enum{
DIVX_WMA_Audio,
DIVX_ADPCM_Audio,
DIVX_PCM_Audio,
DIVX_MP3_Audio,
DIVX_MPEG_Layer2_Audio,
DIVX_AC3_Audio,
DIVX_DTS_Audio,
DIVX_UNKNOWN_Audio
}AVI_AudioStreamCodecInfo_et;
#endif/* 0 */
/* <<< @: 5010-xxx.HoJune_Byun 05/11/15 : Inactivate unused code */
/* <<< @: 5010-xxx.HoJune_Byun 05/11/26 */
VOID AVI_CreateAesSema(VOID);
VOID AVI_DeleteAesSema(VOID);
/* <<< @: 5010-xxx.HoJune_Byun 05/11/26 */
/* <<< @: 5010-xxx.HoJune_Byun 05/12/06 : Optimize & Minimize 'MM_DRM_BUF' buffer size from 128KBytes to 128 Bytes */
VOID AVI_GetDecryptInfo(VOID);
VOID AVI_TransferVideoData(UCHAR *pStart,UINT DataSize, SH_ExtraParInput_t *pExtraInfo);
/* <<< @: 5010-xxx.HoJune_Byun 05/12/06 : Optimize & Minimize 'MM_DRM_BUF' buffer size from 128KBytes to 128 Bytes */
/* <<< @: 5010-xxx.HoJune_Byun 05/12/17 : Optimize & Minimize 'MM_DRM_BUF' buffer size from 128KBytes to 128 Bytes */
UINT AVI_GetCurDecryptSize(UINT TempDecryptSize);
/* <<< @: 5010-xxx.HoJune_Byun 05/12/17 : Optimize & Minimize 'MM_DRM_BUF' buffer size from 128KBytes to 128 Bytes */
VOID AVI_ClearDecryptInfo(VOID);
INT Avi_VideoCodecCheck(CHAR *biCompression, CHAR *fccHandler);
INT Avi_AudioCodecCheck(BYTE2 audio_str_id, SINT audio_streamNo/* 0 */);
VOID AVI_GetValidDefaultAudioStream(BOOL *pValid, int *pStreamNum);
/*<<< sometimes the demux area is all zero,
demux is always looped which leads to avi_stop cmd failed to receive azureming@060301*/
BOOL AVI_GetAbortDemuxStatus(VOID);
VOID AVI_SetAbortDemuxStatus(BOOL flag);
/*>>> sometimes the demux area is all zero,
demux is always looped which leads to avi_stop cmd failed to receive azureming@060301*/
BOOL GetFlagNotSupportAVIVideo(VOID);
#ifdef __cplusplus
}
#endif
#endif /* _AVI_CONTROL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -