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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reduced.c

?? mpeg4視頻解碼源碼.rar
?? C
字號:
/***************************************************************************** * *  XVID MPEG-4 VIDEO CODEC *   Reduced-Resolution utilities * *  Copyright(C) 2002 Pascal Massimino <skal@planet-d.net> * *  XviD is free software; you can redistribute it and/or modify it *  under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA * * $Id$ * ****************************************************************************/#include "../portab.h"#include "../global.h"#include "reduced.h"/* function pointers */COPY_UPSAMPLED_8X8_16TO8 * copy_upsampled_8x8_16to8;ADD_UPSAMPLED_8X8_16TO8 * add_upsampled_8x8_16to8;VFILTER_31 * vfilter_31;HFILTER_31 * hfilter_31;FILTER_18X18_TO_8X8 * filter_18x18_to_8x8;FILTER_DIFF_18X18_TO_8X8 * filter_diff_18x18_to_8x8;/*---------------------------------------------------------------------------- * Upsampling (1/3/3/1) filter *--------------------------------------------------------------------------*/#define ADD(dst,src)  (dst) = CLIP((dst)+(src), 0, 255)static __inline void Filter_31(uint8_t *Dst1, uint8_t *Dst2,                             const int16_t *Src1, const int16_t *Src2){    /* Src[] is assumed to be >=0. So we can use ">>2" instead of "/2" */  int16_t a = (3*Src1[0]+  Src2[0]+2) >> 2;  int16_t b = (  Src1[0]+3*Src2[0]+2) >> 2;  Dst1[0] = CLIP(a, 0, 255);  Dst2[0] = CLIP(b, 0, 255);}static __inline void Filter_9331(uint8_t *Dst1, uint8_t *Dst2,                               const int16_t *Src1, const int16_t *Src2){    /* Src[] is assumed to be >=0. So we can use ">>4" instead of "/16" */  int16_t a = (9*Src1[0]+  3*Src1[1]+ 3*Src2[0] + 1*Src2[1] + 8) >> 4;  int16_t b = (3*Src1[0]+  9*Src1[1]+ 1*Src2[0] + 3*Src2[1] + 8) >> 4;  int16_t c = (3*Src1[0]+  1*Src1[1]+ 9*Src2[0] + 3*Src2[1] + 8) >> 4;  int16_t d = (1*Src1[0]+  3*Src1[1]+ 3*Src2[0] + 9*Src2[1] + 8) >> 4;  Dst1[0] = CLIP(a, 0, 255);  Dst1[1] = CLIP(b, 0, 255);  Dst2[0] = CLIP(c, 0, 255);  Dst2[1] = CLIP(d, 0, 255);}void xvid_Copy_Upsampled_8x8_16To8_C(uint8_t *Dst, const int16_t *Src, const int BpS){  int x, y;  Dst[0] = CLIP(Src[0], 0, 255);  for(x=0; x<7; ++x) Filter_31(Dst+2*x+1, Dst+2*x+2, Src+x, Src+x+1);  Dst[15] = CLIP(Src[7], 0, 255);  Dst += BpS;  for(y=0; y<7; ++y) {    uint8_t *const Dst2 = Dst + BpS;    Filter_31(Dst, Dst2, Src, Src+8);    for(x=0; x<7; ++x)      Filter_9331(Dst+2*x+1, Dst2+2*x+1, Src+x, Src+x+8);    Filter_31(Dst+15, Dst2+15, Src+7, Src+7+8);    Src += 8;    Dst += 2*BpS;  }  Dst[0] = CLIP(Src[0], 0, 255);  for(x=0; x<7; ++x) Filter_31(Dst+2*x+1, Dst+2*x+2, Src+x, Src+x+1);  Dst[15] = CLIP(Src[7], 0, 255);}static __inline void Filter_Add_31(uint8_t *Dst1, uint8_t *Dst2,                             const int16_t *Src1, const int16_t *Src2){    /* Here, we must use "/4", since Src[] is in [-256, 255] */  int16_t a = (3*Src1[0]+  Src2[0] + 2) / 4;  int16_t b = (  Src1[0]+3*Src2[0] + 2) / 4;  ADD(Dst1[0], a);  ADD(Dst2[0], b);}static __inline void Filter_Add_9331(uint8_t *Dst1, uint8_t *Dst2,                                   const int16_t *Src1, const int16_t *Src2){  int16_t a = (9*Src1[0]+  3*Src1[1]+ 3*Src2[0] + 1*Src2[1] + 8) / 16;  int16_t b = (3*Src1[0]+  9*Src1[1]+ 1*Src2[0] + 3*Src2[1] + 8) / 16;  int16_t c = (3*Src1[0]+  1*Src1[1]+ 9*Src2[0] + 3*Src2[1] + 8) / 16;  int16_t d = (1*Src1[0]+  3*Src1[1]+ 3*Src2[0] + 9*Src2[1] + 8) / 16;  ADD(Dst1[0], a);  ADD(Dst1[1], b);  ADD(Dst2[0], c);  ADD(Dst2[1], d);}void xvid_Add_Upsampled_8x8_16To8_C(uint8_t *Dst, const int16_t *Src, const int BpS){  int x, y;  ADD(Dst[0], Src[0]);  for(x=0; x<7; ++x) Filter_Add_31(Dst+2*x+1, Dst+2*x+2, Src+x, Src+x+1);  ADD(Dst[15], Src[7]);  Dst += BpS;  for(y=0; y<7; ++y) {    uint8_t *const Dst2 = Dst + BpS;    Filter_Add_31(Dst, Dst2, Src, Src+8);    for(x=0; x<7; ++x)      Filter_Add_9331(Dst+2*x+1, Dst2+2*x+1, Src+x, Src+x+8);    Filter_Add_31(Dst+15, Dst2+15, Src+7, Src+7+8);    Src += 8;    Dst += 2*BpS;  }  ADD(Dst[0], Src[0]);  for(x=0; x<7; ++x) Filter_Add_31(Dst+2*x+1, Dst+2*x+2, Src+x, Src+x+1);  ADD(Dst[15], Src[7]);}#undef ADD/*---------------------------------------------------------------------------- * horizontal and vertical deblocking *--------------------------------------------------------------------------*/void xvid_HFilter_31_C(uint8_t *Src1, uint8_t *Src2, int Nb_Blks){  Nb_Blks *= 8;  while(Nb_Blks-->0) {    uint8_t a = ( 3*Src1[0] + 1*Src2[0] + 2 ) >> 2;    uint8_t b = ( 1*Src1[0] + 3*Src2[0] + 2 ) >> 2;    *Src1++ = a;    *Src2++ = b;  }}void xvid_VFilter_31_C(uint8_t *Src1, uint8_t *Src2, const int BpS, int Nb_Blks){  Nb_Blks *= 8;  while(Nb_Blks-->0) {    uint8_t a = ( 3*Src1[0] + 1*Src2[0] + 2 ) >> 2;    uint8_t b = ( 1*Src1[0] + 3*Src2[0] + 2 ) >> 2;    *Src1 = a;    *Src2 = b;    Src1 += BpS;    Src2 += BpS;  }}/*---------------------------------------------------------------------------- * 16x16 -> 8x8  (1/3/3/1) downsampling * * Warning! These read 1 pixel outside of the input 16x16 block! *--------------------------------------------------------------------------*/void xvid_Filter_18x18_To_8x8_C(int16_t *Dst, const uint8_t *Src, const int BpS){  int16_t *T, Tmp[18*8];  int i, j;  T = Tmp;  Src -= BpS;  for(j=-1; j<17; j++) {    for(i=0; i<8; ++i)      T[i] = Src[2*i-1] + 3*Src[2*i+0] + 3*Src[2*i+1] + Src[2*i+2];    T += 8;    Src += BpS;  }  T = Tmp + 8;  for(j=0; j<8; j++) {    for(i=0; i<8; ++i)      Dst[i] = ( T[-8+i] + 3*T[0+i] + 3*T[8+i] + T[16+i] + 32 ) / 64;    Dst += 8;    T += 16;  }}void xvid_Filter_Diff_18x18_To_8x8_C(int16_t *Dst, const uint8_t *Src, const int BpS){  int16_t *T, Tmp[18*8];  int i, j;  T = Tmp;  Src -= BpS;  for(j=-1; j<17; j++) {    for(i=0; i<8; ++i)      T[i] = Src[2*i-1] + 3*Src[2*i+0] + 3*Src[2*i+1] + Src[2*i+2];    T += 8;    Src += BpS;  }  T = Tmp;  for(j=0; j<8; j++) {    for(i=0; i<8; ++i)      Dst[i] -= ( T[i] + 3*T[8+i] + 3*T[16+i] + T[24+i] + 32 ) / 64;    Dst += 8;    T += 16;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲啪啪综合av一区二区三区| 久久国产麻豆精品| 美国精品在线观看| 97久久超碰国产精品电影| 日韩精品专区在线影院重磅| 亚洲欧美日韩小说| 国产成人综合亚洲网站| 欧美日韩国产成人在线91| 国产精品福利影院| 国内成人免费视频| 91精品国产乱| 亚洲午夜久久久久| 91美女蜜桃在线| 日本一区二区视频在线| 精品一区二区三区免费观看| 欧美日韩视频在线第一区 | 日韩一级二级三级| 一区二区不卡在线视频 午夜欧美不卡在| 国产乱淫av一区二区三区| 91精品一区二区三区在线观看| 亚洲精品国产一区二区三区四区在线| 国产成人在线视频网址| 欧美精品一区视频| 国产一级精品在线| 欧美成人三级在线| 久久精品久久99精品久久| 3d动漫精品啪啪一区二区竹菊| 亚洲综合色噜噜狠狠| 在线精品视频一区二区| 一区二区三区四区亚洲| 在线观看视频一区| 亚洲午夜激情av| 欧美日韩一二三区| 天堂资源在线中文精品| 555夜色666亚洲国产免| 免费成人你懂的| 日韩欧美国产综合一区| 精品无人码麻豆乱码1区2区 | 青青草国产精品97视觉盛宴| 777奇米四色成人影色区| 日韩国产精品久久| 亚洲精品在线电影| 国产宾馆实践打屁股91| 国产精品国产三级国产aⅴ中文| 9i在线看片成人免费| 亚洲女子a中天字幕| 欧美日韩在线免费视频| 三级不卡在线观看| 精品电影一区二区三区 | 久久精品国内一区二区三区| 久久婷婷久久一区二区三区| 国产丶欧美丶日本不卡视频| 最新成人av在线| 7799精品视频| 国产激情一区二区三区四区| 亚洲人吸女人奶水| 91麻豆精品国产无毒不卡在线观看| 日本免费在线视频不卡一不卡二| 2023国产精华国产精品| 91无套直看片红桃| 日本在线不卡视频| 国产精品视频免费| 欧美日韩三级在线| 国产成人日日夜夜| 亚洲香肠在线观看| 久久免费视频一区| 色呦呦国产精品| 激情综合网最新| 亚洲免费色视频| 欧美成人vps| 色哟哟亚洲精品| 国产一区视频在线看| 一区二区三区国产精品| 久久久久久久综合狠狠综合| 在线观看日韩毛片| 国产不卡视频在线观看| 视频一区二区中文字幕| 欧美国产精品劲爆| 欧美一区二区福利视频| 91香蕉视频黄| 国产老肥熟一区二区三区| 亚洲午夜久久久久久久久久久| 久久九九影视网| 欧美一级日韩不卡播放免费| 不卡的av电影| 国产中文字幕一区| 日本一不卡视频| 一区二区三区欧美| 国产精品国产三级国产a| 26uuu另类欧美| 56国语精品自产拍在线观看| 在线视频亚洲一区| 成人福利视频在线看| 国内精品国产成人国产三级粉色| 日韩在线一区二区三区| 夜夜亚洲天天久久| 亚洲欧美成aⅴ人在线观看| 国产欧美日本一区二区三区| 日韩欧美中文一区二区| 91麻豆精品国产91| 欧美日韩久久久一区| 色综合久久99| 91在线高清观看| 97se亚洲国产综合自在线不卡| 国产乱对白刺激视频不卡| 国产一区二区在线影院| 激情六月婷婷久久| 久久99久久精品| 韩国欧美国产1区| 国产一区二区三区久久悠悠色av | 亚洲成人第一页| 亚洲一区在线播放| 亚洲国产成人porn| 亚洲aaa精品| 日韩电影网1区2区| 男男gaygay亚洲| 久久精品国产亚洲aⅴ| 老司机精品视频导航| 久久成人麻豆午夜电影| 狠狠色狠狠色合久久伊人| 精品一区二区日韩| 国产91精品一区二区麻豆亚洲| 成人视屏免费看| 99re免费视频精品全部| 欧美在线999| 日韩精品在线网站| 亚洲 欧美综合在线网络| 亚洲第一主播视频| 日本aⅴ亚洲精品中文乱码| 精品一区二区三区久久久| 国产精品亚洲一区二区三区妖精| 成人性生交大片免费看在线播放| 波多野结衣的一区二区三区| 91麻豆.com| 日韩欧美一区在线观看| 国产亚洲精品超碰| 自拍偷拍亚洲综合| 亚洲成人你懂的| 国产综合久久久久影院| 99视频在线精品| 91精品免费在线观看| 久久精品亚洲精品国产欧美 | 91色porny蝌蚪| 56国语精品自产拍在线观看| 久久久精品免费免费| 亚洲码国产岛国毛片在线| 日韩精品电影一区亚洲| 国产999精品久久久久久绿帽| 色婷婷国产精品久久包臀| 欧美一区二区精美| 亚洲日穴在线视频| 久久精品久久综合| 91网址在线看| 久久夜色精品国产噜噜av| 亚洲精品水蜜桃| 精品写真视频在线观看| 在线免费观看日韩欧美| 久久久蜜桃精品| 日韩综合在线视频| a美女胸又www黄视频久久| 日韩女优av电影在线观看| 亚洲欧洲日韩一区二区三区| 蜜臀av一区二区三区| 日本韩国欧美一区| 国产亚洲一区字幕| 亚欧色一区w666天堂| 成人一级片网址| 日韩一区二区视频| 亚洲一二三区在线观看| 成人自拍视频在线| 日韩精品一区二区三区中文不卡| 一区二区三区四区蜜桃 | 欧美色综合久久| 国产精品视频观看| 国产又黄又大久久| 日韩一区二区三区在线观看| 亚洲午夜视频在线观看| 91免费看`日韩一区二区| 久久久国际精品| 久久精品国产精品亚洲精品| 欧美日韩精品二区第二页| 亚洲天堂免费看| 成人av在线播放网址| 欧美精品一区二区三区在线播放| 午夜精品福利久久久| 一本色道久久综合精品竹菊| 国产精品狼人久久影院观看方式| 国产原创一区二区三区| 亚洲精品一线二线三线无人区| 日韩av中文在线观看| 欧美色偷偷大香| 亚洲图片自拍偷拍| 欧美亚洲一区二区在线| 亚洲欧美色综合| 色综合天天综合网天天看片| 亚洲欧美偷拍另类a∨色屁股| 99国产精品久久久久久久久久| 中文字幕第一区综合| 成人黄色一级视频| 中文字幕永久在线不卡|