⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umc_vc1_spl_frame_constr.h

📁 audio-video-codecs.rar语音编解码器
💻 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 + -