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

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

?? h.264

?? H.264編碼解碼器源碼(c語言版本)
?? 264
?? 第 1 頁 / 共 2 頁
字號:
        blk_x  = block_x + (blkQ  & 3) ;   blk_x2 = blk_x - !dir ;
        if( (img->type == B_SLICE) )
        {
          int ref_p0,ref_p1,ref_q0,ref_q1;	    
          ref_p0 = list0_refIdxArr[blk_x][blk_y]<0 ? -1 : list0_refPicIdArr[blk_x][blk_y];
          ref_q0 = list0_refIdxArr[blk_x2][blk_y2]<0 ? -1 : list0_refPicIdArr[blk_x2][blk_y2];
          ref_p1 = list1_refIdxArr[blk_x][blk_y]<0 ? -1 : list1_refPicIdArr[blk_x][blk_y];
          ref_q1 = list1_refIdxArr[blk_x2][blk_y2]<0 ? -1 : list1_refPicIdArr[blk_x2][blk_y2];
          if ( ((ref_p0==ref_q0) && (ref_p1==ref_q1)) ||
            ((ref_p0==ref_q1) && (ref_p1==ref_q0))) 
          {
            Strength[idx]=0;
            // L0 and L1 reference pictures of p0 are different; q0 as well
            if (ref_p0 != ref_p1) 
            {	
              // compare MV for the same reference picture
              if (ref_p0==ref_q0) 
              {
                Strength[idx] =  (abs( list0_mv[blk_x][blk_y][0] - list0_mv[blk_x2][blk_y2][0]) >= 4) |
                  (abs( list0_mv[blk_x][blk_y][1] - list0_mv[blk_x2][blk_y2][1]) >= 4) |
                  (abs( list1_mv[blk_x][blk_y][0] - list1_mv[blk_x2][blk_y2][0]) >= 4) |
                  (abs( list1_mv[blk_x][blk_y][1] - list1_mv[blk_x2][blk_y2][1]) >= 4);
              }
              else 
              {
                Strength[idx] =  (abs( list0_mv[blk_x][blk_y][0] - list1_mv[blk_x2][blk_y2][0]) >= 4) |
                  (abs( list0_mv[blk_x][blk_y][1] - list1_mv[blk_x2][blk_y2][1]) >= 4) |
                  (abs( list1_mv[blk_x][blk_y][0] - list0_mv[blk_x2][blk_y2][0]) >= 4) |
                  (abs( list1_mv[blk_x][blk_y][1] - list0_mv[blk_x2][blk_y2][1]) >= 4);
              }	
            }
            else 
            {	// L0 and L1 reference pictures of p0 are the same; q0 as well
              
              Strength[idx] =  ((abs( list0_mv[blk_x][blk_y][0] - list0_mv[blk_x2][blk_y2][0]) >= 4) |
                (abs( list0_mv[blk_x][blk_y][1] - list0_mv[blk_x2][blk_y2][1]) >= 4 ) |
                (abs( list1_mv[blk_x][blk_y][0] - list1_mv[blk_x2][blk_y2][0]) >= 4) |
                (abs( list1_mv[blk_x][blk_y][1] - list1_mv[blk_x2][blk_y2][1]) >= 4))
                &&
                ((abs( list0_mv[blk_x][blk_y][0] - list1_mv[blk_x2][blk_y2][0]) >= 4) |
                (abs( list0_mv[blk_x][blk_y][1] - list1_mv[blk_x2][blk_y2][1]) >= 4) |
                (abs( list1_mv[blk_x][blk_y][0] - list0_mv[blk_x2][blk_y2][0]) >= 4) |
                (abs( list1_mv[blk_x][blk_y][1] - list0_mv[blk_x2][blk_y2][1]) >= 4));
            }				
          }
          else 
          {
            Strength[idx] = 1;				
          }		
        }
        else	
        {	// P slice
          int ref_p0,ref_q0;	    
          ref_p0 = list0_refIdxArr[blk_x][blk_y]<0 ? -1 : list0_refPicIdArr[blk_x][blk_y];
          ref_q0 = list0_refIdxArr[blk_x2][blk_y2]<0 ? -1 : list0_refPicIdArr[blk_x2][blk_y2];
          Strength[idx] =  (ref_p0 != ref_q0 ) |
            (abs( list0_mv[blk_x][blk_y][0] - list0_mv[blk_x2][blk_y2][0]) >= 4 ) |
            (abs( list0_mv[blk_x][blk_y][1] - list0_mv[blk_x2][blk_y2][1]) >= 4 );
        }
      }
    }
  }
}


/*!
 *****************************************************************************************
 * \brief
 *    Filters one edge of 16 (luma) or 8 (chroma) pel
 *****************************************************************************************
 */
void EdgeLoop(byte* SrcPtr,byte Strength[4],int QP,
              int AlphaC0Offset, int BetaOffset, int dir,int width,int yuv)
{
  int      pel, ap = 0, aq = 0, PtrInc, Strng ;
  int      inc, inc2, inc3, inc4 ;
  int      C0, c0, Delta, dif, AbsDelta ;
  int      L2 = 0, L1, L0, R0, R1, R2 = 0, RL0 ;
  int      Alpha = 0, Beta = 0 ;
  byte*    ClipTab = NULL;   
  int      small_gap;
  int      indexA, indexB;
  
  
  PtrInc  = dir?      1 : width ;
  inc     = dir?  width : 1 ;                     // vertical filtering increment to next pixel is 1 else width
  inc2    = inc<<1 ;    
  inc3    = inc + inc2 ;    
  inc4    = inc<<2 ;
  
  for( pel=0 ; pel<16 ; pel++ )
  {
    if(!(pel&3))
    {
      indexA = IClip(0, MAX_QP, QP + AlphaC0Offset);
      indexB = IClip(0, MAX_QP, QP + BetaOffset);
      
      Alpha=ALPHA_TABLE[indexA];
      Beta=BETA_TABLE[indexB];  
      ClipTab=CLIP_TAB[indexA];
    }
    if( (Strng = Strength[pel >> 2]) )
    {
      L0  = SrcPtr [-inc ] ;
      R0  = SrcPtr [    0] ;
      AbsDelta  = abs( Delta = R0 - L0 )  ;
      
      if( AbsDelta < Alpha )
      {
        C0  = ClipTab[ Strng ] ;
        L1  = SrcPtr[-inc2] ;
        R1  = SrcPtr[ inc ] ;
        if( ((abs( R0 - R1) - Beta )  & (abs(L0 - L1) - Beta )) < 0  ) 
        {
          if( !yuv)
          {
            L2  = SrcPtr[-inc3] ;
            R2  = SrcPtr[ inc2] ;
            aq  = (abs( R0 - R2) - Beta ) < 0  ;
            ap  = (abs( L0 - L2) - Beta ) < 0  ;
          }
          
          RL0             = L0 + R0 ;
          
          if(Strng == 4 )    // INTRA strong filtering
          {
            if( yuv)  // Chroma
            {
              SrcPtr[   0 ] = ((R1 << 1) + R0 + L1 + 2) >> 2; 
              SrcPtr[-inc ] = ((L1 << 1) + L0 + R1 + 2) >> 2;                                           
            }
            else  // Luma
            {
              small_gap = (AbsDelta < ((Alpha >> 2) + 2));
              
              aq &= small_gap;
              ap &= small_gap;
              
              SrcPtr[   0 ]   = aq ? ( L1 + ((R1 + RL0) << 1) +  SrcPtr[ inc2] + 4) >> 3 : ((R1 << 1) + R0 + L1 + 2) >> 2 ;
              SrcPtr[-inc ]   = ap ? ( R1 + ((L1 + RL0) << 1) +  SrcPtr[-inc3] + 4) >> 3 : ((L1 << 1) + L0 + R1 + 2) >> 2 ;
              
              SrcPtr[ inc ] =   aq  ? ( SrcPtr[ inc2] + R0 + R1 + L0 + 2) >> 2 : SrcPtr[ inc ];
              SrcPtr[-inc2] =   ap  ? ( SrcPtr[-inc3] + L1 + L0 + R0 + 2) >> 2 : SrcPtr[-inc2];
              
              SrcPtr[ inc2] = aq ? (((SrcPtr[ inc3] + SrcPtr[ inc2]) <<1) + SrcPtr[ inc2] + R1 + RL0 + 4) >> 3 : R2;
              SrcPtr[-inc3] = ap ? (((SrcPtr[-inc4] + SrcPtr[-inc3]) <<1) + SrcPtr[-inc3] + L1 + RL0 + 4) >> 3 : L2;
            }
          }
          else                                                                                   // normal filtering
          {
            c0               = yuv? (C0+1):(C0 + ap + aq) ;
            dif              = IClip( -c0, c0, ( (Delta << 2) + (L1 - R1) + 4) >> 3 ) ;
            SrcPtr[  -inc ]  = IClip(0, 255, L0 + dif) ;
            SrcPtr[     0 ]  = IClip(0, 255, R0 - dif) ;
            
            if( !yuv )
            {
              if( ap )
                SrcPtr[-inc2] += IClip( -C0,  C0, ( L2 + ((RL0 + 1) >> 1) - (L1<<1)) >> 1 ) ;
              if( aq  )
                SrcPtr[  inc] += IClip( -C0,  C0, ( R2 + ((RL0 + 1) >> 1) - (R1<<1)) >> 1 ) ;
            } ;
          } ;
        } ; 
      } ;
      SrcPtr += PtrInc ;      // Increment to next set of pixel
      pel    += yuv ;
    } 
    else
    {
      SrcPtr += PtrInc << (2 - yuv) ;
      pel    += 3 ;
    }  ;
  }
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av中文字幕亚洲| 久久69国产一区二区蜜臀| 波多野结衣欧美| 国产精品久久久久久久久免费丝袜 | 亚洲精品国久久99热| 色婷婷精品大在线视频| 亚洲午夜精品在线| 日韩欧美一区二区在线视频| 精品无人区卡一卡二卡三乱码免费卡| 日韩精品中文字幕一区二区三区| 国产在线播放一区| 成人免费在线播放视频| 欧美自拍丝袜亚洲| 麻豆专区一区二区三区四区五区| 欧美大片在线观看| 成人福利视频在线看| 亚洲一区二区精品久久av| 91麻豆精品国产| 国产传媒欧美日韩成人| 亚洲理论在线观看| 91精品国产综合久久精品图片| 国产中文一区二区三区| 亚洲青青青在线视频| 91精品国产欧美一区二区成人| 寂寞少妇一区二区三区| 亚洲人亚洲人成电影网站色| 欧美人牲a欧美精品| 粉嫩久久99精品久久久久久夜| 亚洲精品视频在线| 精品国产制服丝袜高跟| 色综合中文字幕国产 | 欧美在线观看一区二区| 激情综合网天天干| 亚洲免费av高清| 精品国产乱子伦一区| 欧美日韩国产精品自在自线| 国产在线精品一区二区不卡了| 亚洲视频在线一区| 欧美精品一区二区高清在线观看 | 这里只有精品电影| 国产91高潮流白浆在线麻豆| 亚洲成人tv网| 国产精品国产成人国产三级| 精品国产青草久久久久福利| 91国产福利在线| 国产精品123区| 丝袜亚洲另类欧美综合| 亚洲区小说区图片区qvod| 国产午夜亚洲精品理论片色戒| 欧美日韩国产成人在线91| 99久久精品国产精品久久| 激情另类小说区图片区视频区| 一区二区激情视频| 国产精品另类一区| 精品久久国产老人久久综合| 欧美三级韩国三级日本一级| 91在线观看地址| 丰满白嫩尤物一区二区| 国产精品亚洲视频| 美国一区二区三区在线播放| 亚洲成在人线免费| 亚洲一区二区欧美| 一个色综合网站| 一区二区三区久久久| 中文字幕人成不卡一区| 国产精品视频一二三| 国产日韩精品一区二区三区| 精品嫩草影院久久| 日韩久久久久久| 精品捆绑美女sm三区| 精品久久久影院| 日韩色在线观看| 日韩欧美在线综合网| 日韩视频一区二区三区| 欧美大尺度电影在线| 精品免费国产二区三区| 日韩精品在线一区| 精品国产伦理网| 国产三级欧美三级| 国产精品成人在线观看| 亚洲视频你懂的| 亚洲第一会所有码转帖| 日韩黄色免费电影| 美女视频一区二区| 国产一区二区三区久久久| 国产美女在线观看一区| 丁香五精品蜜臀久久久久99网站 | 日本成人在线网站| 成人三级在线视频| 国产a精品视频| 99热这里都是精品| 欧美在线观看你懂的| 欧美日韩成人在线| 久久青草国产手机看片福利盒子| 国产视频不卡一区| 亚洲男同性视频| 日韩av电影免费观看高清完整版 | 丝袜亚洲精品中文字幕一区| 久久精品国产一区二区三区免费看| 国产在线一区观看| 丰满放荡岳乱妇91ww| 一本色道综合亚洲| 欧美日韩国产三级| 久久免费午夜影院| 亚洲视频综合在线| 天天做天天摸天天爽国产一区 | 欧美一区二区三区性视频| 久久久另类综合| 亚洲精品中文在线影院| 日韩电影在线看| 国产精品1区二区.| 日本道色综合久久| 日韩欧美国产精品| 亚洲三级在线看| 免费在线视频一区| 不卡一区二区中文字幕| 欧美精品一二三四| 国产精品久久三| 蜜臀久久99精品久久久久久9| 成人中文字幕电影| 欧美二区三区91| 国产精品短视频| 久久精品国产久精国产| 91视视频在线直接观看在线看网页在线看| 欧美日韩dvd在线观看| 日本一区二区三区在线不卡| 午夜精品视频一区| av毛片久久久久**hd| 精品欧美乱码久久久久久| 亚洲综合免费观看高清完整版| 国产最新精品免费| 欧美日韩卡一卡二| 亚洲欧洲成人av每日更新| 精品一二三四在线| 欧美日韩中字一区| 欧美国产精品中文字幕| 青椒成人免费视频| 欧美视频一二三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 国产真实乱对白精彩久久| 91国产免费看| 香蕉成人啪国产精品视频综合网| 福利91精品一区二区三区| 欧美一区二区三区精品| 亚洲美女一区二区三区| 成人网页在线观看| 久久精品免视看| 另类的小说在线视频另类成人小视频在线 | 色天使色偷偷av一区二区| 久久久久久久久蜜桃| 奇米777欧美一区二区| 欧美日韩视频第一区| 亚洲精品成人悠悠色影视| 不卡欧美aaaaa| 欧美韩国日本不卡| 国产精品一区二区三区四区| 精品国产自在久精品国产| 蜜臀久久久久久久| 91麻豆精品国产无毒不卡在线观看 | 日韩成人一级大片| 欧美区一区二区三区| 亚洲一区二区三区国产| 色噜噜狠狠色综合欧洲selulu| 亚洲美女偷拍久久| 欧洲精品视频在线观看| 亚洲精品日日夜夜| 日本电影亚洲天堂一区| 一区二区三区欧美激情| 欧美亚洲精品一区| 亚洲国产裸拍裸体视频在线观看乱了| 91精品福利在线| 亚洲国产视频a| 在线成人av影院| 老司机精品视频一区二区三区| 日韩久久久精品| 国产精品一区二区视频| 国产精品国产三级国产aⅴ入口 | 欧美日韩国产天堂| 日韩va欧美va亚洲va久久| 精品盗摄一区二区三区| 国产精品一区二区黑丝| 亚洲已满18点击进入久久| 欧美日韩国产综合久久| 美女高潮久久久| 中文字幕av一区二区三区免费看| 97成人超碰视| 亚洲1区2区3区视频| 精品免费国产二区三区| 不卡视频在线看| 香蕉加勒比综合久久| 久久综合九色综合欧美亚洲| 成人av在线影院| 亚洲一级在线观看| 91精品国产综合久久久蜜臀图片| 国产乱子轮精品视频| 亚洲精品自拍动漫在线| 日韩三级免费观看| 粉嫩13p一区二区三区| 亚洲综合免费观看高清完整版| 日韩精品中午字幕|