亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mom_util.c

?? < VC++視頻音頻開發(fā)>> 這本書的源碼
?? C
字號:
#include "mom_util.h"
Char *emalloc(Int n);
Char *ecalloc(Int n, Int s);
Char *erealloc(Char *p, Int n);
Void CopyImageI(ImageI *image_in, ImageI *image_out);
Void CopyImageF(ImageF *image_in, ImageF *image_out);
Void SetConstantImageI(ImageI *image, SInt val);
Void SetConstantImageF(ImageF *image, Float val);
Void SubImageI(ImageI *image_in1, ImageI *image_in2, ImageI *image_out);
Void SubImageF(ImageF *image_in1, ImageF *image_in2, ImageF *image_out);
Image *
AllocImage(UInt size_x, UInt size_y, ImageType type)
{
  Image *image;
  
  image = (Image *) emalloc(sizeof(Image));
  
  image->version = VERSION;
  image->x = size_x;
  image->y = size_y;
  image->upperodd = 0;
  image->grid = 's';
  image->type = type;
  image->data = (ImageData *) emalloc(sizeof(ImageData)); 
  
  switch(type)
    {
    case SHORT_TYPE:
      image->data->s = (SInt *) ecalloc(size_x*size_y,sizeof(SInt));
      break;
    case FLOAT_TYPE:
      image->data->f = (Float *) ecalloc(size_x*size_y,sizeof(Float));
      break;
    case UCHAR_TYPE:
      image->data->u = (UChar *) ecalloc(size_x*size_y,sizeof(UChar));
      break;
    }
  
  image->f = image->data->s;	
  
  return(image);
}
Void
FreeImage(Image *image)
{
  SInt	*ps;
  Float	*pf;
  UChar 	*pu;
  if (image == NULL) return;
  switch(image->type)
    {
    case SHORT_TYPE:
      ps = (SInt *)GetImageData(image);
      if(ps != NULL) free((Char *)ps);
      free((Char *) image->data);
      free((Char *)image);
      break;
    case FLOAT_TYPE:
      pf = (Float *)GetImageData(image);
      if(pf != NULL) free((Char *)pf);
      free((Char *) image->data);
      free((Char *)image);
      break;
    case UCHAR_TYPE:
      pu = (UChar *)GetImageData(image);
      if(pu != NULL) free((Char *)pu);
      free((Char *) image->data);
      free((Char *)image);
      break;
    }
}
Void
CopyImage(Image *image_in, Image *image_out)
{
  switch(image_out->type)
    {
    case SHORT_TYPE:
      CopyImageI(image_in,image_out);
      break;
    case FLOAT_TYPE:
      CopyImageF(image_in,image_out);
      break;
    }
}
Void
CopyImageI(ImageI *image_in, ImageI *image_out)
{
  SInt 	*p_in  = image_in->data->s,
		*p_out = image_out->data->s,
		*p_end;
  UInt	sx_in  = image_in->x,
		sx_out = image_out->x,
		sy_in  = image_in->y,
		sy_out = image_out->y,
		sxy_in = sx_in * sy_in;
  p_end = p_in + sxy_in;
  while (p_in != p_end) 
    {
      *p_out = *p_in;
      p_in++;
      p_out++;
    }
}
Void
CopyImageF(ImageF *image_in, ImageF *image_out)
{
  Float *p_in  = image_in->data->f,
		*p_out = image_out->data->f,
		*p_end;
  UInt  sx_in = image_in->x,
		sx_out = image_out->x,
		sy_in = image_in->y,
		sy_out = image_out->y,
		sxy_in = sx_in * sy_in;
  p_end = p_in + sxy_in;
  while (p_in != p_end) 
    {
      *p_out = *p_in;
      p_in++;
      p_out++;
    }
}
Void
SetConstantImage(Image *image, Float val)
{
  switch(image->type)
    {
    case SHORT_TYPE:
      SetConstantImageI(image,(SInt)val);
      break;
    case FLOAT_TYPE:
      SetConstantImageF(image,val);
      break;
    }
}
Void
SetConstantImageI(ImageI *image, SInt val)
{
  SInt	*p  = image->data->s,
        *p_end;
  UInt	sxy = image->x * image->y;
  if (val == 0)
	  memset (p, 0, sxy * 2);
  else
  {
	p_end = p + sxy;
	while (p != p_end)
	{
		*p = val;
		p++;
    }
  }
}
Void
SetConstantImageF(ImageF *image, Float val)
{
  Float		*p  = image->data->f,
            *p_end;
  UInt	sxy = image->x * image->y;
  p_end = p + sxy;
  while (p != p_end)
    {
      *p = val;
      p++;
    }
}
Void
SubImage(Image *image_in1, Image *image_in2, Image *image_out)
{
  switch(image_in1->type)
    {
    case SHORT_TYPE:
      SubImageI(image_in1,image_in2,image_out);
      break;
    case FLOAT_TYPE:
      SubImageF(image_in1,image_in2,image_out);
      break;
    }
}
Void
SubImageI(ImageI *image_in1, ImageI *image_in2, ImageI *image_out)
{
  SInt	*p  = image_out->data->s,
		*p1 = image_in1->data->s,
		*p2 = image_in2->data->s,
		*p_end;
  UInt	sx_in1 = image_in1->x,
		sx_in2 = image_in2->x,
		sx_out = image_out->x,
		sy_in1 = image_in1->y,
		sy_in2 = image_in2->y,
		sy_out = image_out->y,
		sxy    = sx_out * sy_out;
  p_end = p + sxy;
  while (p != p_end)
    {
      *p = *p1 - *p2;
      p++;
      p1++;
      p2++;
    }
}
Void
SubImageF(ImageF *image_in1, ImageF *image_in2, ImageF *image_out)
{
  Float	*p  = image_out->data->f,
		*p1 = image_in1->data->f,
		*p2 = image_in2->data->f,
		*p_end;
  UInt	sx_in1 = image_in1->x,
		sx_in2 = image_in2->x,
		sx_out = image_out->x,							
		sy_in1 = image_in1->y,
		sy_in2 = image_in2->y,
		sy_out = image_out->y,
		sxy    = sx_out * sy_out;
  p_end = p + sxy;
  while (p != p_end)
    {
      *p = *p1 - *p2;
      p++;
      p1++;
      p2++;
    }
}
Vop *
SallocVop()
{
	Vop   *vop;
	vop = (Vop *)ecalloc(1,sizeof(Vop));
	return(vop);
}
Vop *
AllocVop(UInt x, UInt y)
{
  Vop		*vop;
  Image	*y_chan,
		*u_chan,
		*v_chan; 
  
  vop = SallocVop();
  vop->width = x;
  vop->height = y;
  
  y_chan = AllocImage(x,y,SHORT_TYPE);
  u_chan = AllocImage(x/2,y/2,SHORT_TYPE);
  v_chan = AllocImage(x/2,y/2,SHORT_TYPE);
  
  FreeImage(vop->y_chan);
  vop->y_chan = y_chan;
  FreeImage(vop->u_chan);
  vop->u_chan = u_chan;
  FreeImage(vop->v_chan);
  vop->v_chan = v_chan;
  return(vop);
}
Void
SfreeVop (Vop *vop)
{
	free ((Char*)vop);
	
	return;
}
Void
FreeVop(Vop *vop)
{
  Image		*data=NULL; 
  if(vop != NULL) {
    
    data = vop->y_chan;
    FreeImage(data);
    data = vop->u_chan;
    FreeImage(data);
    data = vop->v_chan;
    FreeImage(data);
    SfreeVop(vop);
  }
  return;
}
Void
CopyVopNonImageField(Vop *in,Vop *out)
{
	out->prediction_type = in->prediction_type;
}
Char *
emalloc(Int n)
{
  Char 	*p;
	
  p = (Char *) malloc((UInt)n);
  return p;
}
Char *
ecalloc(Int n, Int s)
{
  Char 	*p;
	
  p = (Char *) calloc((UInt)n,(UInt)s);
	
  return p;
}
Char *
erealloc(Char *p, Int n)
{	
  p = (Char *) realloc(p,(UInt)n);
  return p;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文在线资源观看网站视频免费不卡 | 久久国产精品区| 欧美一区二区三区电影| 精品制服美女久久| 国产日韩一级二级三级| 99久久综合国产精品| 亚洲精品ww久久久久久p站| 欧美美女直播网站| 老鸭窝一区二区久久精品| 久久精品水蜜桃av综合天堂| 99久久伊人久久99| 亚洲18色成人| 精品福利在线导航| 不卡av免费在线观看| 亚洲成人资源网| xnxx国产精品| 91网站最新网址| 视频在线在亚洲| 久久久久国产精品麻豆ai换脸| 99久久国产综合精品色伊| 午夜精品久久久久久久久久| 26uuu久久天堂性欧美| hitomi一区二区三区精品| 亚洲国产日韩精品| 精品日韩一区二区| 99久久综合色| 奇米色777欧美一区二区| 国产色产综合产在线视频| 色哟哟国产精品| 美女国产一区二区三区| 亚洲欧美综合在线精品| 91精品免费观看| 顶级嫩模精品视频在线看| 亚洲午夜视频在线观看| 精品国产露脸精彩对白| 色老头久久综合| 激情伊人五月天久久综合| 亚洲视频一二三| 精品国产免费人成电影在线观看四季 | 91免费国产在线观看| 日本免费在线视频不卡一不卡二| 国产精品素人视频| 欧美一区二区免费观在线| a美女胸又www黄视频久久| 蜜臀久久久久久久| |精品福利一区二区三区| 日韩午夜激情电影| 色综合久久久久网| 国产在线不卡视频| 亚洲高清免费视频| 中文字幕一区av| 日韩精品一区在线观看| 在线视频综合导航| 国产精品影视天天线| 亚洲aaa精品| 亚洲欧洲www| 久久久久久久一区| 欧美二区三区91| 91麻豆国产福利在线观看| 国产在线观看免费一区| 天堂在线亚洲视频| 亚洲视频一区在线观看| 久久精品水蜜桃av综合天堂| 欧美一卡2卡三卡4卡5免费| 欧洲亚洲国产日韩| 成人a免费在线看| 久久91精品国产91久久小草| 亚洲成人精品一区二区| 日韩一区在线播放| 久久久久久久av麻豆果冻| 欧美一区二区三区的| 欧美色视频在线观看| av高清久久久| 国产大陆精品国产| 久久精品国产77777蜜臀| 午夜精品福利一区二区三区蜜桃| 亚洲欧美日韩在线| 国产女主播一区| 欧美不卡一区二区| 欧美一区二区三区系列电影| 欧美午夜精品一区二区蜜桃| 不卡av电影在线播放| 成人免费观看视频| 国产精一品亚洲二区在线视频| 蜜乳av一区二区| 日本vs亚洲vs韩国一区三区二区| 亚洲国产成人91porn| 亚洲一区二区三区国产| 亚洲人成7777| 亚洲色图制服诱惑 | 欧美一区二区三区喷汁尤物| 欧美日韩国产综合视频在线观看| 欧美综合色免费| 色偷偷成人一区二区三区91| av在线不卡观看免费观看| 成人免费精品视频| 成人小视频在线观看| 国产成人在线视频播放| 国产精品88888| 国产高清精品在线| 国产福利91精品一区二区三区| 激情欧美一区二区三区在线观看| 极品少妇xxxx偷拍精品少妇| 精品午夜久久福利影院| 黄页视频在线91| 国产精品亚洲第一| 国产suv精品一区二区883| 国产福利91精品| www.一区二区| 99精品黄色片免费大全| 色综合久久综合网97色综合| 日本大香伊一区二区三区| 欧美吻胸吃奶大尺度电影| 欧美欧美欧美欧美| 日韩一区二区三免费高清| 欧美成人精品二区三区99精品| 精品国产一二三| 国产天堂亚洲国产碰碰| 国产精品毛片a∨一区二区三区 | 夜夜爽夜夜爽精品视频| 亚洲成人黄色影院| 日韩成人av影视| 精品一区二区免费看| 国产乱子轮精品视频| 不卡一区中文字幕| 色噜噜狠狠成人中文综合| 欧美精品久久天天躁| 欧美大片一区二区三区| 国产欧美日韩卡一| 亚洲同性gay激情无套| 一级日本不卡的影视| 日韩国产欧美三级| 韩国中文字幕2020精品| 国产成人免费视频网站高清观看视频| 成人中文字幕在线| 色婷婷精品久久二区二区蜜臀av | 欧美大片顶级少妇| 中文字幕免费不卡在线| 亚洲免费毛片网站| 天堂资源在线中文精品| 黄一区二区三区| 91丨九色丨蝌蚪富婆spa| 欧美日韩五月天| 亚洲精品一区二区三区福利| 国产精品美女一区二区三区| 亚洲一区在线观看免费| 久久精品99久久久| 97久久超碰国产精品电影| 欧美日韩精品免费| 亚洲精品在线观看网站| 综合自拍亚洲综合图不卡区| 日韩福利视频导航| 成人午夜激情在线| 欧美精品久久天天躁| 久久精品这里都是精品| 亚洲午夜电影网| 国产综合久久久久影院| 91一区二区在线| 精品少妇一区二区三区在线播放| 亚洲欧洲日韩在线| 日本亚洲免费观看| 99国产精品久久久久久久久久| 7777精品伊人久久久大香线蕉最新版| 久久久亚洲精品石原莉奈| 一区二区在线观看av| 久久国产生活片100| 99久久99久久精品国产片果冻| 欧美一区二区三区视频在线| 亚洲欧美一区二区在线观看| 美国精品在线观看| 色婷婷激情综合| 久久精品视频网| 午夜国产精品影院在线观看| 成人精品一区二区三区四区| 欧美麻豆精品久久久久久| 国产精品久线在线观看| 免费观看在线综合色| 91麻豆蜜桃一区二区三区| 精品久久久久99| 亚洲已满18点击进入久久| 国产成人免费网站| 日韩三级在线免费观看| 亚洲蜜臀av乱码久久精品蜜桃| 蜜臀av性久久久久蜜臀aⅴ流畅| 91亚洲大成网污www| 26uuu国产电影一区二区| 亚洲v日本v欧美v久久精品| 成人毛片视频在线观看| 欧美一区二区成人| 亚洲午夜在线电影| 成人不卡免费av| 久久亚洲影视婷婷| 丝袜脚交一区二区| 色激情天天射综合网| 国产欧美一区在线| 精品一区二区三区视频在线观看| 欧美日韩中字一区| 亚洲人精品午夜| 国产91丝袜在线18| 精品日韩99亚洲|