求yuv420 缩放的源码,最好是来源于opensource的
另外,哪位大虾知道,
国外有什么 好的多媒体开发的论坛,尤其是opensource比较多那种多媒体开发论坛,
要是我在给出论坛上找到了 yuv420缩放的源码,分照给
------解决方案--------------------------------------------------------
头文件
// SimpleResize.h: interface for the SimpleResize class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SIMPLERESIZE_H__1B6B7F9A_67C9_4568_A62A_592FDECEFA59__INCLUDED_)
#define AFX_SIMPLERESIZE_H__1B6B7F9A_67C9_4568_A62A_592FDECEFA59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class SimpleResize
{
public:
SimpleResize(long oldw,long oldh, long neww,long newh);// 构造器
virtual ~SimpleResize();
void resize(BYTE* src,BYTE* dst);
private:
long newwidth;
long newheight;
long oldwidth;
long oldheight;
unsigned int* hControl; // weighting masks, alternating dwords for Y & UV
// 1 qword for mask, 1 dword for src offset, 1 unused dword
unsigned int* vOffsets; // Vertical offsets of the source lines we will use
unsigned int* vWeights; // weighting masks, alternating dwords for Y & UV
unsigned int* vOffsetsUV; // Vertical offsets of the source lines we will use
unsigned int* vWeightsUV; // weighting masks, alternating dwords for Y & UV
unsigned int* vWorkY; // weighting masks 0Y0Y 0Y0Y...
unsigned int* vWorkUV; // weighting masks UVUV UVUV...
void InitTables_YV12(void);
public:
void GetFrame_YV12(BYTE* src, BYTE* dst, int srcpitch,int dstpitch,int Planar_Type,int dstheight);
};
#endif // !defined(AFX_SIMPLERESIZE_H__1B6B7F9A_67C9_4568_A62A_592FDECEFA59__INCLUDED_)