umc_avi_chunk.h

来自「这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数」· C头文件 代码 · 共 87 行

H
87
字号
/*//////////////////////////////////////////////////////////////////////////////////                  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_AVI_CHUNK_H__#define __UMC_AVI_CHUNK_H__#include "umc_avi_types.h"#include "lockable_data_reader.h"#define MAX_AVI_CHUNK_DEPTH (6)namespace UMC{    class AVIChunk    {    public:        AVIChunk();        Status Init(LockableDataReaderRef Reader);        Status DescendChunk(tFOURCC chnkName);        inline Status DescendLIST(tFOURCC chnkName);        inline Status DescendRIFF(tFOURCC chnkName);        inline void GoChunkHead();        Status Ascend();        inline vm_var32 GetChunkHead();        inline tFOURCC GetChunkFOURCC();        inline vm_var32 GetChunkSize();        Status GetData(vm_byte* pbBuffer, vm_var32 uiBufSize);        static bool CmpChunkNames(const tFOURCC chnkName1, const tFOURCC chnkName2);        Status JumpToFilePos(const vm_sizet uiFilePos);        virtual ~AVIChunk(){}    protected:        Status DescendChunkList(tFOURCC chnkName, tFOURCC listName);        class CChnkInfo        {        public:            tFOURCC m_chnkName;            vm_sizet m_stSize;            vm_sizet m_stFilePos;            CChnkInfo():m_chnkName(0),m_stSize(0),m_stFilePos(0){}        };        CChnkInfo m_ChnkStack[MAX_AVI_CHUNK_DEPTH];        unsigned long m_ulStackPos;        LockableDataReaderRef m_Reader;    };}  //  namespace UMCUMC::StatusUMC::AVIChunk::DescendLIST(tFOURCC chnkName){   return DescendChunkList(AVI_FOURCC_LIST, chnkName); }UMC::StatusUMC::AVIChunk::DescendRIFF(tFOURCC chnkName){   return DescendChunkList(AVI_FOURCC_RIFF, chnkName); }voidUMC::AVIChunk::GoChunkHead(){   m_Reader.SetPosition(m_ChnkStack[m_ulStackPos].m_stFilePos);    }vm_var32UMC::AVIChunk::GetChunkHead(){   return (vm_var32)m_ChnkStack[m_ulStackPos].m_stFilePos; }tFOURCCUMC::AVIChunk::GetChunkFOURCC(){   return m_ChnkStack[m_ulStackPos].m_chnkName;    }vm_var32UMC::AVIChunk::GetChunkSize(){    vm_sizet stSize = m_ChnkStack[m_ulStackPos].m_stSize;    assert(stSize == (vm_var32)stSize);    return (vm_var32)stSize;}#endif  //   __UMC_AVI_CHUNK_H__

⌨️ 快捷键说明

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