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

📄 umc_avs_dec_processing_unit.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) 2007 Intel Corporation. All Rights Reserved.
//
//
*/

#ifndef __UMC_AVS_DEC_PROCESSING_UNIT_H
#define __UMC_AVS_DEC_PROCESSING_UNIT_H

#include "umc_avs_dec_pic.h"
#include "umc_avs_dec_list.h"

namespace UMC
{

// declare all kind of possible tasks

enum AVSTaskID
{
    AVS_TASK_SLEEP              = 0,
    AVS_TASK_DECODING           = 1,
    AVS_TASK_RECONSTRUCTION     = 2,
    AVS_TASK_DEBLOCKING         = 4,
    AVS_TASK_DECOMPESSION       = AVS_TASK_DECODING | AVS_TASK_RECONSTRUCTION | AVS_TASK_DEBLOCKING,
    AVS_TASK_COLOR_CONVERSION   = 8,
    AVS_TASK_ERROR_RESTORING    = 16
};

// this is just an interface class

// forward declaration of used classes
class Mutex;

class AVSProcessingUnit
{
public:
    // Constructor
    AVSProcessingUnit(void);
    // Destructor
    virtual
    ~AVSProcessingUnit(void) = 0;

    // Initialize the performer
    virtual
    Status Init(Mutex *pGuard);

    // Let the performer find the job
    virtual
    bool LoadJob(AVSListElement<AVSFrame> *pFrameList) = 0;

    // Main working function
    virtual
    void DoJob(void) = 0;

    // Error handling function
    virtual
    void HandleError(void);

    // Get kind of the processed task.
    // I know that it is a bad style of programming,
    // but I need the kind of the task to let the main thread
    // break the working cycle.
    virtual
    AVSTaskID GetTaskID(void) = 0;

protected:
    // Set the job done
    virtual
    void UnloadJob(void) = 0;

    Mutex *m_pGuard;                                            // (Mutex &) the sync object
};

} // namespace UMC

#endif // __UMC_AVS_DEC_PROCESSING_UNIT_H

⌨️ 快捷键说明

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