📄 umc_h264_deblocking_tools.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_H264_DEBLOCKING_TOOLS_H#define __UMC_H264_DEBLOCKING_TOOLS_H#include <ippi.h>#include "vm_event.h"#include "vm_thread.h"#include "umc_structures.h"#include "umc_h264_dec.h"namespace UMC{// forward declarationclass H264VideoDecoder;class H264ThreadedDeblockingTools{public: // Default constructor H264ThreadedDeblockingTools(void); // Destructor virtual ~H264ThreadedDeblockingTools(void); // Initialize object Status Initialize(H264VideoDecoder *pDecoder); // Deblock slice by two thread void DeblockSliceTwoThreaded(Ipp32u uFirstMB, Ipp32u unumMBs, H264VideoDecoder::DeblockingFunction pDeblocking); // Deblock slice asynchronous void WaitEndOfSlice(void); void DeblockSliceAsync(Ipp32u uFirstMB, Ipp32u unumMBs, H264VideoDecoder::DeblockingFunction pDeblocking); Ipp32u m_nMBAFF; // (Ipp32u) MBAFF flag // Release object void Release(void); // Additional deblocking thread static unsigned int DeblockSliceSecondThread(void *p); static unsigned int DeblockSliceAsyncSecondThread(void *p); H264VideoDecoder *m_pDecoder; // (H264VideoDecoder *) pointer to decoder-owner vm_thread m_hDeblockingSliceSecondThread; // (vm_thread) handle to deblocking slice second thread vm_thread m_hDeblockingSliceAsyncSecondThread; // (vm_thread) handle to deblocking slice second thread vm_event m_hBeginFrame; // (vm_event) event to begin of deblocking frame vm_event m_hBeginSlice; // (vm_event) event to begin of deblocking slice vm_event m_hBeginRow; // (vm_event) event to begin of deblocking row vm_event m_hDoneBorder; // (vm_event) event of border macroblock is complete vm_event m_hDoneRow; // (vm_event) event of row is complete vm_event m_hDoneSlice; // (vm_event) event of slice is complete bool m_bQuit; // (bool) quit flag Ipp32u m_nFirstMB; // (Ipp32u) first macroblock to deblock Ipp32u m_nNumMB; // (Ipp32u) number of macroblock to deblock H264VideoDecoder::DeblockingFunction m_pDeblocking; // (H264VideoDecoder::DeblockingFunction) pointer to current deblocking function};} // namespace UMC#endif // UMC_H264_DEBLOCKING_TOOLS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -