📄 umc_dv_sequence.h
字号:
/*// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright (c) 2003-2005 Intel Corporation. All Rights Reserved.////*/#ifndef __UMC_DV_SEQUENCE_H#define __UMC_DV_SEQUENCE_Hnamespace UMC{enum{ WIDTH_ALIGN = 128, MEMORY_ALIGN = 128, WIDTH_DV = 720, HEIGHT_625 = 576, HEIGHT_525 = 480, SIZE_OF_VIDEO_SEGMENT = sizeof(vm_var16) * 64 * 6 * 5, SIZE_OF_DV_SEGMENT = 80};enum{ SYSTEM_UNK = 0, SYSTEM_525 = 1, SYSTEM_625 = 2};enum{ NONE_STREAM = 0, DVSD_STREAM = 1, DV25_STREAM = 2, DV50_STREAM = 3};class STORE_DV_SEGMENT_INFO{public: size_t m_lPitch; // (size_t) image pitch ColorFormat m_cFormat; // (ColorFormat) color format of destination image vm_var32 m_lWidth; // (vm_var32) dest image width vm_var32 m_lHeight; // (vm_var32) dest image height vm_var16 *(m_lpsSource[5]); // (vm_var16 *([])) array of source pointers vm_byte *(m_lpbDestination[5]); // (vm_byte *([])) array of destination pointers};typedef STORE_DV_SEGMENT_INFO LOAD_DV_SEGMENT_INFO;class THREAD_ID{public: vm_var32 m_nNumber; // (vm_var32) number of current thread void *m_lpOwner; // (void *) pointer to owner class};#pragma pack(1)enum SectionType{ Video = -4, Reserved0 = -3, Reserved1 = -2, Reserved2 = -1, Header = 0, Subcode = 1, VAUX = 2, Audio = 3};// following tables hold information of encoded DV stream// See "Blue book" for detailsclass IDData{public: unsigned int Seq : 4; unsigned int : 1; SectionType SCT : 3; unsigned int : 3; unsigned int zero : 1; unsigned int Dseq : 4; unsigned int DBN : 8; unsigned int : 8;};class DIFBlock{public: IDData *GetIDData(void) { return ((IDData *) (DIFBlockData)); }; vm_byte DIFBlockData[80];};class HeaderData{public: unsigned int : 6; unsigned int zero : 1; unsigned int DSF : 1; unsigned int APT : 3; unsigned int : 1; unsigned int DFTIA : 4; unsigned int AP1 : 3; unsigned int : 4; unsigned int TF1 : 1; unsigned int AP2 : 3; unsigned int : 4; unsigned int TF2 : 1; unsigned int AP3 : 3; unsigned int : 4; unsigned int TF3 : 1; unsigned int : 24;};// some compilers complain to "non-virtual destructor for base class".// But following classes are structures of data from media file.// They MUST HAVE no destructor.#pragma warning (disable : 444)class HeaderSection : public DIFBlock{public: HeaderData *GetHeaderData(void) { return ((HeaderData *) (DIFBlockData + 3)); };};class SubCodeSection : public DIFBlock{public:};class VAUXSection : public DIFBlock{public:};class AudioSection : public DIFBlock{public:};class VideoSection : public DIFBlock{public:};class AudioVideoSection{public: AudioSection A; VideoSection V[15];};class DIFSequence{public: HeaderSection H0; SubCodeSection SC0; SubCodeSection SC1; VAUXSection VA0; VAUXSection VA1; VAUXSection VA2; AudioVideoSection AV[9];};} // end namespace UMC#endif // __UMC_DV_SEQUENCE_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -