资源简介
利用HLSL实现对DXVA2解码数据的简单处理,内含高斯滤波,中值滤波,USM锐化,以及点运算的例子
代码片段和文件信息
#include “stdafx.h“
#include “D3DVidRender.h“
#pragma comment(lib “d3d9.lib“)
#pragma comment(lib “d3dx9.lib“)
// 使用stdio.h和strsafe.h,可实现类似TRACE的功能
/*void LogTrace(LPCTSTR pszFormat ...)
{
va_list pArgs;
char szMessageBuffer[16380]={0};
va_start( pArgs pszFormat );
_vsntprintf( szMessageBuffer 16380 pszFormat pArgs );
va_end( pArgs );
OutputDebugString(szMessageBuffer);
}*/
CD3DVidRender::CD3DVidRender(void)
{
m_pDirect3D9 = NULL;
m_pDirect3DDevice = NULL;
m_pDirect3DSurfaceRender = NULL;
m_pBackBuffer = NULL;
}
CD3DVidRender::~CD3DVidRender(void)
{
}
void CD3DVidRender::Cleanup()
{
if (m_pBackBuffer)
{
m_pBackBuffer->Release();
m_pBackBuffer = NULL;
}
if(m_pDirect3DSurfaceRender)
{
m_pDirect3DSurfaceRender->Release();
m_pDirect3DSurfaceRender = NULL;
}
if(m_pDirect3DDevice)
{
m_pDirect3DDevice->Release();
m_pDirect3DDevice = NULL;
}
if(m_pDirect3D9)
{
m_pDirect3D9->Release();
m_pDirect3D9 = NULL;
}
if (m_pD3DXFont)
{
m_pD3DXFont->Release() ;
m_pD3DXFont = NULL ;
}
}
BOOL CD3DVidRender::InitD3D_RGB32(HWND hwnd int img_width int img_height)
{
HRESULT lRet;
if (m_pDirect3D9)
{
m_pDirect3D9->Release();
m_pDirect3D9 = NULL;
}
m_pDirect3D9 = Direct3DCreate9(D3D_SDK_VERSION);
if(m_pDirect3D9 == NULL)
{
return FALSE;
}
ZeroMemory(&d3dpp sizeof(d3dpp));
d3dpp.Windowed = TRUE;
d3dpp.hDeviceWindow = hwnd;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
d3dpp.EnableAutoDepthStencil = FALSE;
d3dpp.Flags = D3DPRESENTFLAG_VIDEO;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
D3DCAPS9 caps;
DWORD BehaviorFlags = D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED;
HRESULT hr = m_pDirect3D9->GetDeviceCaps ( D3DADAPTER_DEFAULT D3DDEVTYPE_HAL &caps ) ;
if ( SUCCEEDED(hr) )
{
if ( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )
{
BehaviorFlags = D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE;
}
else
{
BehaviorFlags = D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED | D3DCREATE_FPU_PRESERVE;
}
}
if (m_pDirect3DDevice)
{
m_pDirect3DDevice->Release();
m_pDirect3DDevice = NULL;
}
lRet = m_pDirect3D9->CreateDevice(D3DADAPTER_DEFAULT D3DDEVTYPE_HAL hwnd BehaviorFlags &d3dpp &m_pDirect3DDevice);
if(FAILED(lRet))
{
return FALSE;
}
if (m_pDirect3DSurfaceRender)
{
m_pDirect3DSurfaceRender->Release();
m_pDirect3DSurfaceRender = NULL;
}
lRet = m_pDirect3DDevice->CreateOffscreenPlainSurface(img_width img_height D3DFMT_X8R8G8B8 D3DPOOL_DEFAULT
&m_pDirect3DSurfaceRender NULL);
if(FAILED(lRet))
{
return FALSE;
}
//// create the font
//ZeroMemory(&m_font_desc sizeof(m_font_desc));
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-15 21:15 Dxva2解码 HLSL图像处理\
目录 0 2017-02-14 20:35 Dxva2解码 HLSL图像处理\Debug\
文件 111616 2017-02-14 21:59 Dxva2解码 HLSL图像处理\Debug\MyDxva2.exe
文件 533812 2017-02-14 21:59 Dxva2解码 HLSL图像处理\Debug\MyDxva2.ilk
文件 2321408 2017-02-14 21:59 Dxva2解码 HLSL图像处理\Debug\MyDxva2.pdb
文件 24556032 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\avcodec-57.dll
文件 1310208 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\avdevice-57.dll
文件 3849216 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\avfilter-6.dll
文件 4941312 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\avformat-57.dll
文件 563200 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\avutil-55.dll
文件 110592 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\postproc-54.dll
文件 289792 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\swresample-2.dll
文件 509440 2016-07-13 23:14 Dxva2解码 HLSL图像处理\Debug\swscale-4.dll
目录 0 2017-02-15 21:15 Dxva2解码 HLSL图像处理\MyDxva2\
文件 4121 2017-02-14 21:57 Dxva2解码 HLSL图像处理\MyDxva2\ConsoleAdapter.h
目录 0 2017-02-14 20:35 Dxva2解码 HLSL图像处理\MyDxva2\D3D\
目录 0 2017-02-14 20:35 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\
文件 243136 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D2D1.h
文件 25655 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D2D1Helper.h
文件 3171 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D2Dba
文件 5555 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D2Derr.h
文件 233001 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D10.h
文件 72228 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D10_1.h
文件 12052 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D10_1shader.h
文件 71712 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D10effect.h
文件 31418 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D10shader.h
文件 373484 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D11.h
文件 121600 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D11SDKla
文件 16294 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3D11Shader.h
文件 15443 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3DCSX.h
文件 1903 2015-12-10 10:26 Dxva2解码 HLSL图像处理\MyDxva2\D3D\include\D3DX10.h
............此处省略554个文件信息
- 上一篇:数据结构与算法 张铭,王腾蛟,赵海燕编著
- 下一篇:超宽带天线原理与设计
评论
共有 条评论