91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 377KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: C/C++
  • 標簽: YUV??directX??MFC??

資源簡介

YUV播放器,directX,VS2008 MFC完成 能夠很好的完成播放,能截取指定的幀。

資源截圖

代碼片段和文件信息

#include?“StdAfx.h“
#include?“Draw.h“

Draw::Draw()
{
lpDDSPrimary=NULL;
lpDDSBack=NULL;
lpDD=NULL;
makeWindow();
}

Draw::~Draw()
{
if(lpDD?!=?NULL)?
{?
if(lpDDSPrimary?!=?NULL)?
{?
lpDDSPrimary->Release();?
lpDDSPrimary?=?NULL;?
}?
if?(lpDDSBack!=NULL)
{
lpDDSBack->Release();
lpDDSBack=NULL;
}
lpDD->Release();?
lpDD?=?NULL;?
}?

}
void?Draw::CreateSur()
{

HRESULT?hr;

LPDIRECTDRAWCLIPPER?dcClipper?=NULL;

if?(DirectDrawCreate(NULL&lpDDNULL)!=DD_OK)
{
//AfxMessageBox(“創建ddraw失敗!“);
}
if?(lpDD->SetCooperativeLevel(hWndDDSCL_NORMAL)!=DD_OK)
{
//MessageBox(“協作層設置失敗!“);
}
//創建離屏表面
ZeroMemory(&ddsdsizeof(ddsd));
ddsd.dwSize?=?sizeof(ddsd)?;
ddsd.ddsCaps.dwCaps?=?DDSCAPS_OFFSCREENPLAIN?;
ddsd.dwFlags?=?DDSD_CAPS?|?DDSD_HEIGHT?|?DDSD_WIDTH?|?DDSD_PIXELFORMAT?;
ddsd.dwWidth?=?dwidth;
ddsd.dwHeight=dheight;
ddsd.ddpfPixelFormat.dwFlags?=?DDPF_FOURCC?|?DDPF_YUV?;
ddsd.ddpfPixelFormat.dwFourCC?=?MAKEFOURCC(‘Y‘?‘V‘?‘1‘?‘2‘)?;
ddsd.ddpfPixelFormat.dwYUVBitCount?=?8?;
hr?=?lpDD->CreateSurface(&ddsd?&lpDDSBack?NULL)?;?
if(hr?!=?DD_OK)
{
lpDD->Release()?;
}

//創建主表面
ZeroMemory(&ddsdsizeof(ddsd));
ddsd.dwSize=sizeof(ddsd);
ddsd.dwFlags=DDSD_CAPS;
ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE;
ddsd.dwBackBufferCount=1;
if?(lpDD->CreateSurface(&ddsd&lpDDSPrimaryNULL)!=DD_OK)
{
lpDDSBack->Release();
//MessageBox(“創建住表面失敗!“);
}

//創建裁剪區
hr=lpDD->CreateClipper(0&dcClipperNULL);
if?(FAILED(hr))
{
lpDD->Release();
lpDDSBack->Release();
lpDDSBack->Release();
return;
}
dcClipper->SetHWnd(0hWnd);
lpDDSPrimary->SetClipper(dcClipper);
//鎖定離屏頁面
}
void?Draw::show(unsigned?char?*?buffer)
{
???
lpDDSBack->Lock(NULL&ddsdDDLOCK_WAIT|DDLOCK_WRITEONLY|DDLOCK_NOSYSLOCKNULL);
LPBYTE?lpSurf?=?(LPBYTE)ddsd.lpSurface;
LPBYTE?PtrY?=?buffer?;
LPBYTE?PtrU?=?buffer+dwidth*dheight;
LPBYTE?PtrV?=?buffer+(int)(dwidth*dheight*1.25)?;??

for?(int?i=0;?i {
memcpy(lpSurf?PtrY?dwidth?);
PtrY?+=dwidth?;
lpSurf?+=?ddsd.lPitch;????????????????????????????????????
}???????????????????????????????
for?(?int?i=0;i {
memcpy(lpSurf?PtrV?dwidth/2);
PtrV?+=?dwidth/2;
lpSurf?+=?ddsd.lPitch/2;
}????

for?(int??i=0;i {
memcpy(lpSurf?PtrU?dwidth/2);
PtrU?+=dwidth/2;
lpSurf?+=?ddsd.lPitch/2;
}
lpDDSBack->Unlock(NULL);?
CRect?rc;
GetWindowRect(hWnd&rc);
lpDDSPrimary->Blt(rclpDDSBackNULLDDBLT_WAITNULL);
}
void?Draw::set(int?widthint?height)
{
dwidth=width;
dheight=height;
}
void?Draw::makeWindow()
{
if(IsWindow(hWnd))?
{
::DestroyWindow(hWnd);
hWnd?=?NULL;
}

hWnd?=?CreateWindow(_T(“name“)_T(“YUV播放“)WS_OVERLAPPEDWINDOW
100100dwidth*2+16dheight*2+36NULLNULLAfxGetInstanceHandle()NULL);
::ShowWindow(hWndSW_NORMAL);
::UpdateWindow(hWnd);
}


?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4540??2004-09-06?20:58??YUVTORGB\YUVTORGB\ddraw.lib

?????文件???????5660??2010-05-06?19:05??YUVTORGB\YUVTORGB\Debug\BuildLog.htm

?????文件??????13948??2010-05-06?19:04??YUVTORGB\YUVTORGB\Debug\Draw.obj

?????文件?????????60??2010-05-06?19:05??YUVTORGB\YUVTORGB\Debug\mt.dep

?????文件??????53629??2010-05-06?19:04??YUVTORGB\YUVTORGB\Debug\NewEdit.obj

?????文件?????467069??2010-05-06?19:04??YUVTORGB\YUVTORGB\Debug\stdafx.obj

?????文件????????682??2010-05-06?19:04??YUVTORGB\YUVTORGB\Debug\YUVTORGB.exe.embed.manifest

?????文件????????748??2010-05-06?19:04??YUVTORGB\YUVTORGB\Debug\YUVTORGB.exe.embed.manifest.res

?????文件????????640??2010-05-06?19:05??YUVTORGB\YUVTORGB\Debug\YUVTORGB.exe.intermediate.manifest

?????文件??????22039??2010-05-06?19:04??YUVTORGB\YUVTORGB\Debug\YUVTORGB.obj

?????文件??????23952??2010-05-02?15:19??YUVTORGB\YUVTORGB\Debug\YUVTORGB.res

?????文件?????139440??2010-05-06?19:05??YUVTORGB\YUVTORGB\Debug\YUVTORGBDlg.obj

?????文件???????3023??2010-05-06?18:56??YUVTORGB\YUVTORGB\Draw.cpp

?????文件????????405??2010-05-06?18:13??YUVTORGB\YUVTORGB\Draw.h

?????文件????????972??2010-05-02?19:01??YUVTORGB\YUVTORGB\NewEdit.cpp

?????文件????????263??2010-05-02?13:12??YUVTORGB\YUVTORGB\NewEdit.h

?????文件???????2909??2010-05-02?01:56??YUVTORGB\YUVTORGB\ReadMe.txt

?????文件??????10836??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\BuildLog.htm

?????文件??????33626??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\Draw.obj

?????文件?????????60??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\mt.dep

?????文件??????45605??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\NewEdit.obj

?????文件?????502784??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\vc90.idb

?????文件????????640??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\YUVTORGB.exe.intermediate.manifest

?????文件??????35546??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\YUVTORGB.obj

?????文件??????33812??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\YUVTORGB.res

?????文件??????98059??2010-05-06?19:09??YUVTORGB\YUVTORGB\Release\YUVTORGBDlg.obj

?????文件??????21630??2003-07-24?09:52??YUVTORGB\YUVTORGB\res\YUVTORGB.ico

?????文件????????364??2010-05-02?01:57??YUVTORGB\YUVTORGB\res\YUVTORGB.rc2

?????文件???????1232??2010-05-02?14:43??YUVTORGB\YUVTORGB\resource.h

?????文件????????139??2010-05-02?01:57??YUVTORGB\YUVTORGB\stdafx.cpp

............此處省略20個文件信息

評論

共有 條評論