📄 umc_vc1_spl_frame_constr.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) 2004-2007 Intel Corporation. All Rights Reserved.
//
//
// VC-1 (VC1) frame constructor
//
*/
#include "umc_defs.h"
#if defined (UMC_ENABLE_VC1_SPLITTER)
#ifndef __UMC_VC1_SPL_FRAME_CONSTR_H__
#define __UMC_VC1_SPL_FRAME_CONSTR_H__
#include "umc_media_data_ex.h"
#include "umc_structures.h"
#include "umc_splitter.h"
namespace UMC
{
class vc1_frame_constructor
{
public:
vc1_frame_constructor(){};
virtual ~vc1_frame_constructor(){};
virtual Status GetNextFrame(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode) = 0; //return 1 frame, 1 header....
virtual Status GetFirstSeqHeader(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode) = 0;
virtual Status GetData(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode) = 0;
virtual Status ParseVC1SeqHeader (Ipp8u *data, Ipp32u* bufferSize,SplitterInfo* info) = 0;
//virtual Status GetPicType(MediaDataEx* data, Ipp32u& picType) = 0;
virtual void Reset() = 0;
};
class vc1_frame_constructor_rcv: public vc1_frame_constructor
{
public:
vc1_frame_constructor_rcv();
~vc1_frame_constructor_rcv();
Status GetNextFrame(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode);
Status GetData(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode);
Status GetFirstSeqHeader(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode);
void Reset();
Status ParseVC1SeqHeader (Ipp8u *data, Ipp32u* bufferSize,SplitterInfo* info);
//Status GetPicType(MediaDataEx* data, Ipp32u& picType);
};
class vc1_frame_constructor_vc1: public vc1_frame_constructor
{
public:
vc1_frame_constructor_vc1();
~vc1_frame_constructor_vc1();
Status GetNextFrame(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode);
Status GetData(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode);
Status GetFirstSeqHeader(MediaData* in,
MediaData* out,
MediaDataEx::_MediaDataEx *stCodes,
Ipp32u splMode);
void Reset();
Status ParseVC1SeqHeader (Ipp8u *data, Ipp32u* bufferSize,SplitterInfo* info);
//Status GetPicType(MediaDataEx* data, Ipp32u& picType);
};
}
#endif//__UMC_VC1_SPL_FRAME_CONSTR_H__
#endif //UMC_ENABLE_VC1_SPLITTER
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -