📄 hantrodecoderutils.h
字号:
/*------------------------------------------------------------------------------
-- --
-- This software is confidential and proprietary and may be used --
-- only as expressly authorized by a licensing agreement from --
-- --
-- Hantro Products Oy. --
-- --
-- In the event of publication, the following notice is applicable: --
-- --
-- (C) COPYRIGHT 2005 HANTRO PRODUCTS OY --
-- ALL RIGHTS RESERVED --
-- --
-- The entire notice above must be reproduced on all copies. --
-- --
--------------------------------------------------------------------------------
--
-- Description : Hantro MPEG-4/H.263 Video Decoder DirectX Media Object
--
------------------------------------------------------------------------------*/
#ifndef HANTRODECODERUTILS_H
#define HANTRODECODERUTILS_H
#include <windows.h>
#include <streams.h> // directshow structures
//#define HTR_DDRAW
#define HTR_PP
#ifdef HTR_PP
#include "yuvtorgbinit.h"
#include "yuvtorgb16.h"
#endif // HTR_PP
/*------------------------------------------------------------------------------
1. BitsPerPixel function
------------------------------------------------------------------------------*/
ULONG BitsPerPixel(const GUID colorSpace);
/*------------------------------------------------------------------------------
2. CHtrPostProc class
------------------------------------------------------------------------------*/
class CHtrPostProc
{
public:
class QuantizationData
{
public:
QuantizationData(DWORD* pQpData, DWORD qpDataSize) :
m_pQpData(pQpData), m_qpDataSize(qpDataSize){};
DWORD* m_pQpData;
DWORD m_qpDataSize;
};
class PostProcessorSurface
{
public:
PostProcessorSurface(BYTE* pBuffer,
LONG width,
LONG height,
GUID format) :
m_pBuffer(pBuffer),
m_width(width),
m_height(height),
m_format(format)
{};
BYTE* m_pBuffer;
LONG m_width;
LONG m_height;
GUID m_format;
};
CHtrPostProc(void)
#ifdef HTR_DDRAW
: m_pDD(NULL)
#endif // HTR_DDRAW
{};
~CHtrPostProc(void){};
HRESULT Initialize(void);
HRESULT Process(PostProcessorSurface* pIn,
PostProcessorSurface* pOut,
QuantizationData* pQuantData);
HRESULT Close(void);
private:
#ifdef HTR_DDRAW
// DirectDraw handle
IDirectDraw* m_pDD;
#endif // HTR_DDRAW
#ifdef HTR_PP
// Handle to the post-processor instance
cct cctTable[YUVTORGB_CCT_SIZE];
#endif // HTR_PP
};
#endif // HANTRODECODERUTILS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -