📄 umc_mpeg2ps_spl.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_MPEG2PS_SPL_H__#define __UMC_MPEG2PS_SPL_H__#include "umc_mpeg2pes_spl.h"//MPEG2 Program stream splitter//"BA..PES..video data..""BA..PES..audio data.."namespace UMC{ class MPEG2PSSplitter : public MPEG2PESSplitter { public: MPEG2PSSplitter():MPEG2PESSplitter() { m_bFistAudioFrame[0] = true; m_bFistAudioFrame[1] = true; m_bSequenceFound = false; } ~MPEG2PSSplitter() { } protected: Status virtual GetPrevGop (unsigned int pid, vm_sizet p_start, vm_sizet &posIFrame, vm_sizet &posPackege); Status virtual ProcessPackets_back (unsigned int pid, vm_sizet p_packege_start, vm_sizet p_start, vm_sizet p_end); //here must be implemented real packet processing, //it is specific for each format //this function witll return control if reading error //or end of stream happen Status virtual ProcessPackets(int count = -1); //read one packet (or size bytes of pure stream) and //return control, for PS, TS streams size parameter must be 0 //returned UMC_OK means next frame was formed and ready //to output //UMC_NOT_ENOUGH_DATA means packed was processed but frame //is not ready //all other is errors Status virtual ProcessOnePacket(int size = 0); //initialization of subprocessing, call before ProcessOnePacket Status virtual InitProcessing(); //de-initialization of subprocessing, call after ProcessOnePacket Status virtual CloseProcessing(); //here must be implemented pointer positioning to first //valid start code after repositioning Status virtual MoveToNextSyncWord(); //forward search for main header in reverse playback Status virtual ForwardInit(); //forward search for main header in reverse playback Status virtual ForwardSearch(); bool virtual IsAcceptableVideoBuffer(); private: Status MPEG2PSPackHeader(); protected: };} // namespace UMC#endif /* __UMC_MPEG2PS_SPL_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -