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

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

?? vlc.c

?? AVS編解碼是學習AVS程序開發的入門資料,可以幫助初學者獲得很多的收獲.
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*****************************************************************************
* COPYRIGHT AND WARRANTY INFORMATION
*
* Copyright 2003, Advanced Audio Video Coding Standard, Part II
*
* DISCLAIMER OF WARRANTY
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations under
* the License.
*                     
* THIS IS NOT A GRANT OF PATENT RIGHTS - SEE THE AVS PATENT POLICY.
* The AVS Working Group doesn't represent or warrant that the programs
* furnished here under are free of infringement of any third-party patents.
* Commercial implementations of AVS, including shareware, may be
* subject to royalty fees to patent holders. Information regarding
* the AVS patent policy for standardization procedure is available at 
* AVS Web site http://www.avs.org.cn. Patent Licensing is outside
* of AVS Working Group.
*
* The Original Code is Reference Software for China National Standard 
* GB/T 20090.2-2006 (short for AVS-P2 or AVS Video) at version RM52J.
*
* The Initial Developer of the Original Code is Video subgroup of AVS
* Workinggroup (Audio and Video coding Standard Working Group of China).
* Contributors:   Guoping Li,    Siwei Ma,    Jian Lou,    Qiang Wang , 
*   Jianwen Chen,Haiwu Zhao,  Xiaozhen Zheng, Junhao Zheng, Zhiming Wang
* 
******************************************************************************
*/



/*
*************************************************************************************
* File name: 
* Function: 
*
*************************************************************************************
*/

#include "contributors.h"

#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>

#include "golomb.h"
#include "vlc.h"

/*const int NCBP[64][2]=
{
  { 4, 0},{37, 1},{38, 2},{21, 8},{39, 3},{22, 9},{41,20},{ 5,16},
  {40, 4},{42,21},{23,10},{ 6,17}, {24,11},{ 7,18},{ 8,19},{ 3,12},
  {44, 5},{47,34},{50,37},{26,22},{53,40},{29,25},{59,58},{10,46},
  {56,43},{62,61},{32,28},{13,49},{35,31},{16,52},{19,55},{ 1,13},
  {45, 6},{48,35},{51,38},{27,23}, {54,41},{30,26},{60,59},{11,47},
  {57,44},{63,62},{33,29},{14,50},{36,32},{17,53},{20,56},{ 2,14},
  {43, 7},{46,36},{49,39},{25,24},{52,42},{28,27},{58,60},{ 9,48},
  {55,45},{61,63},{31,30},{12,51}, {34,33},{15,54},{18,57},{ 0,15}
};*/

const int NCBP[64][2]=                                     // jlzheng 7.20
{
  { 4, 0},{16, 19},{17, 16},{19, 15},{14, 18},{9, 11},{22,31},{ 8,13},
  {11, 17},{21,30},{10,12},{ 7,9}, {12,10},{ 6,7},{ 5,8},{ 1,1},
  {35, 4},{47,42},{48,38},{38,27},{46,39},{36,33},{50,59},{26,26},
  {45,40},{52,58},{41,35},{28,25},{37,29},{23,24},{31,28},{ 2,3},
  {43, 5},{51,51},{56,52},{39,37}, {55,50},{33,43},{62,63},{27,44},
  {54,53},{60,62},{40,48},{32,47},{42,34},{24,45},{29,49},{ 3,6},
  {49, 14},{53,55},{57,56},{25,36},{58,54},{30,41},{59,60},{ 15,21},
  {61,57},{63,61},{44,46},{18,22}, {34,32},{13,20},{20,23},{ 0,2}
};

/*
*************************************************************************
* Function:ue_v, writes an ue(v) syntax element, returns the length in bits
* Input:
		tracestring
      the string for the trace file
        value
      the value to be coded
        bitstream
      the Bitstream the value should be coded into
* Output:
* Return:  Number of bits used by the coded syntax element
* Attention: This function writes always the bit buffer for the progressive scan flag, and
      should not be used (or should be modified appropriately) for the interlace crap
      When used in the context of the Parameter Sets, this is obviously not a
      problem.
*************************************************************************
*/

int ue_v (char *tracestring, int value, Bitstream *bitstream)
{
  SyntaxElement symbol, *sym=&symbol;
  sym->type = SE_HEADER;
  sym->mapping = ue_linfo;               // Mapping rule: unsigned integer
  sym->value1 = value;

#if TRACE
  strncpy(sym->tracestring,tracestring,TRACESTRING_SIZE);
#endif

  return writeSyntaxElement_UVLC (sym, bitstream);
}

/*
*************************************************************************
* Function:ue_v, writes an ue(v) syntax element, returns the length in bits
* Input:
		 tracestring
      the string for the trace file
         value
      the value to be coded
         bitstream
      the Bitstream the value should be coded into
* Output:
* Return: Number of bits used by the coded syntax element
* Attention:
		This function writes always the bit buffer for the progressive scan flag, and
      should not be used (or should be modified appropriately) for the interlace crap
      When used in the context of the Parameter Sets, this is obviously not a
      problem.
*************************************************************************
*/

int se_v (char *tracestring, int value, Bitstream *bitstream)
{
  SyntaxElement symbol, *sym=&symbol;
  sym->type = SE_HEADER;
  sym->mapping = se_linfo;               // Mapping rule: signed integer
  sym->value1 = value;
  
#if TRACE
  strncpy(sym->tracestring,tracestring,TRACESTRING_SIZE);
#endif

  return writeSyntaxElement_UVLC (sym, bitstream);
}

/*
*************************************************************************
* Function: u_1, writes a flag (u(1) syntax element, returns the length in bits, 
           always 1
* Input:
	     tracestring
      the string for the trace file
		 value
      the value to be coded
         bitstream
      the Bitstream the value should be coded into
* Output:
* Return: Number of bits used by the coded syntax element (always 1)
* Attention:This function writes always the bit buffer for the progressive scan flag, and
      should not be used (or should be modified appropriately) for the interlace crap
      When used in the context of the Parameter Sets, this is obviously not a
      problem.
*************************************************************************
*/

int u_1 (char *tracestring, int value, Bitstream *bitstream)
{
  SyntaxElement symbol, *sym=&symbol;

  sym->bitpattern = value;
  sym->len = 1;
  sym->type = SE_HEADER;
  sym->value1 = value;

#if TRACE
  strncpy(sym->tracestring,tracestring,TRACESTRING_SIZE);
#endif

  return writeSyntaxElement_fixed(sym, bitstream);
}

/*
*************************************************************************
* Function:u_v, writes a a n bit fixed length syntax element, returns the length in bits, 
* Input:
		tracestring
      the string for the trace file
         value
      the value to be coded
        bitstream
      the Bitstream the value should be coded into
* Output:
* Return: Number of bits used by the coded syntax element 
* Attention:This function writes always the bit buffer for the progressive scan flag, and
      should not be used (or should be modified appropriately) for the interlace crap
      When used in the context of the Parameter Sets, this is obviously not a
     problem.
*************************************************************************
*/
int u_v (int n, char *tracestring, int value, Bitstream *bitstream)
{
  SyntaxElement symbol, *sym=&symbol;

  sym->bitpattern = value;
  sym->len = n;
  sym->type = SE_HEADER;
  sym->value1 = value;

#if TRACE
  strncpy(sym->tracestring,tracestring,TRACESTRING_SIZE);
#endif

  return writeSyntaxElement_fixed(sym, bitstream);
}


/*
*************************************************************************
* Function:mapping for ue(v) syntax elements
* Input:
		ue
      value to be mapped
       info
      returns mapped value
       len
      returns mapped value length
* Output:
* Return: 
* Attention:
*************************************************************************
*/

void ue_linfo(int ue, int dummy, int *len,int *info)
{
  int i,nn;

  nn=(ue+1)/2;

  for (i=0; i < 16 && nn != 0; i++)
  {
    nn /= 2;
  }

  *len= 2*i + 1;
  *info=ue+1-(int)pow(2,i);
  
}

/*
*************************************************************************
* Function:mapping for ue(v) syntax elements
* Input:
		ue
      value to be mapped
       info
      returns mapped value
       len
      returns mapped value length
* Output:
* Return: 
* Attention:
*************************************************************************
*/

void se_linfo(int se, int dummy, int *len,int *info)
{

  int i,n,sign,nn;

  sign=0;

  if (se <= 0)
  {
    sign=1;
  }
  n=abs(se) << 1;

  //n+1 is the number in the code table.  Based on this we find length and info

  nn=n/2;
  for (i=0; i < 16 && nn != 0; i++)
  {
    nn /= 2;
  }
  *len=i*2 + 1;
  *info=n - (int)pow(2,i) + sign;

}

/*
*************************************************************************
* Function:
* Input:Number in the code table
* Output:lenght and info
* Return: 
* Attention:
*************************************************************************
*/

void cbp_linfo_intra(int cbp, int dummy, int *len,int *info)
{
  //extern const int NCBP[48][2];
	extern const int NCBP[64][2];
  ue_linfo(NCBP[cbp][0], dummy, len, info);
}


/*
*************************************************************************
* Function:
* Input:Number in the code table
* Output:lenght and info
* Return: 
* Attention:
*************************************************************************
*/

void cbp_linfo_inter(int cbp, int dummy, int *len,int *info)
{
	extern const int NCBP[64][2];
  ue_linfo(NCBP[cbp][1], dummy, len, info);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成网站精品片在线观看| 久久久亚洲精品石原莉奈| 国产成人一级电影| 国产精品一区二区三区乱码| 久久99久久精品| 韩国午夜理伦三级不卡影院| 久久99精品久久久久| 青青草97国产精品免费观看无弹窗版 | 一区二区三区高清在线| 夜夜精品浪潮av一区二区三区| 一区二区在线观看不卡| 亚洲综合在线观看视频| 亚洲成a人v欧美综合天堂| 午夜久久久久久电影| 久久精工是国产品牌吗| 国产一区二区中文字幕| 99国产精品久久久久久久久久| 97se狠狠狠综合亚洲狠狠| 欧美色图一区二区三区| 日韩视频免费观看高清完整版在线观看 | 国产女主播在线一区二区| 国产精品伦理一区二区| 亚洲自拍偷拍网站| 免费黄网站欧美| 国产成a人亚洲| 色综合久久久久久久久久久| 欧美日本在线观看| 久久女同精品一区二区| 一区二区三区日韩欧美| 捆绑紧缚一区二区三区视频| 成人精品免费看| 欧美色成人综合| 日本一区二区三区免费乱视频| 亚洲综合在线视频| 国产91精品在线观看| 欧美久久久影院| 国产精品午夜在线观看| 琪琪久久久久日韩精品| 99久久精品免费看| 欧美成人免费网站| 亚洲成人免费在线| 成人丝袜视频网| 日韩女优av电影| 亚洲成人福利片| av影院午夜一区| 亚洲精品一区二区三区在线观看| 一区二区在线观看免费视频播放| 黑人巨大精品欧美一区| 欧美日韩精品是欧美日韩精品| 欧美韩国日本一区| 蜜臀精品一区二区三区在线观看 | 伊人性伊人情综合网| 国产一区二区免费在线| 91精品一区二区三区在线观看| 自拍偷自拍亚洲精品播放| 久久久国产一区二区三区四区小说| 国产91精品在线观看| 蜜臀av一区二区| eeuss国产一区二区三区| 日韩欧美一级在线播放| 五月婷婷综合网| 日本韩国精品在线| 亚洲色图一区二区三区| 成人高清伦理免费影院在线观看| 精品国产三级a在线观看| 青青国产91久久久久久 | 欧美精品v国产精品v日韩精品 | 欧美性色aⅴ视频一区日韩精品| 中文字幕av不卡| 国产一区二三区| 久久久久88色偷偷免费| 久久av中文字幕片| 精品成人一区二区三区| 久色婷婷小香蕉久久| 日韩欧美一二区| 久久99蜜桃精品| 26uuu成人网一区二区三区| 久久99精品久久只有精品| 精品久久国产97色综合| 国产麻豆精品95视频| 久久精品无码一区二区三区| 国产精品538一区二区在线| 国产亚洲欧美一区在线观看| 国产一区二区三区久久久| 久久精品男人天堂av| 成人精品小蝌蚪| 亚洲黄色尤物视频| 欧美视频在线一区| 日本中文在线一区| 精品国产髙清在线看国产毛片| 国产精品综合一区二区| 国产精品剧情在线亚洲| 日韩欧美成人一区二区| 狠狠色丁香久久婷婷综合_中| 久久久久久久久99精品| 成人av电影在线观看| 亚洲高清三级视频| 精品国产一区二区精华| 99这里只有久久精品视频| 亚洲成人午夜影院| 国产色综合久久| 欧美曰成人黄网| 久久99九九99精品| 一区二区理论电影在线观看| 日韩一区二区精品| 99re8在线精品视频免费播放| 亚洲永久免费视频| 2020国产精品自拍| 在线观看国产91| 国产一区二区在线免费观看| 亚洲欧美激情视频在线观看一区二区三区 | 久久99热99| 亚洲一二三区在线观看| 久久综合九色综合欧美就去吻 | 欧美一区二区精品久久911| 国产精品18久久久久久vr| 一区二区三区国产| 国产欧美精品国产国产专区| 欧美日韩二区三区| 99精品视频一区二区三区| 麻豆精品蜜桃视频网站| 亚洲一区二区三区国产| 欧美—级在线免费片| 日韩午夜精品视频| 欧美在线小视频| 91在线一区二区三区| 国产成人在线免费| 蜜臀av国产精品久久久久| 一区二区三区加勒比av| 中文字幕一区二区不卡| 久久久激情视频| 亚洲精品一区二区三区蜜桃下载| 欧美日韩的一区二区| 色综合色综合色综合| 成人午夜免费电影| 国产在线视频一区二区三区| 日韩二区三区在线观看| 香蕉影视欧美成人| 一卡二卡欧美日韩| 一区二区三区四区不卡视频| 亚洲欧洲精品一区二区精品久久久 | 不卡视频免费播放| 国产 欧美在线| 国产在线一区观看| 久久成人免费网| 精品在线免费观看| 精品在线观看视频| 韩国女主播一区| 国产成人在线网站| 国产一区在线视频| 国产麻豆成人精品| 成人小视频在线| 成人av在线电影| 99精品国产视频| 91久久香蕉国产日韩欧美9色| 91视频一区二区三区| 91女神在线视频| 欧美午夜不卡视频| 欧美精品高清视频| 精品不卡在线视频| 国产欧美日韩在线看| 中文字幕在线不卡视频| 亚洲视频电影在线| 天天亚洲美女在线视频| 日韩高清欧美激情| 国产毛片一区二区| 91色乱码一区二区三区| 欧美日韩高清一区| 久久久99精品免费观看不卡| 久久精品欧美一区二区三区麻豆| 国产精品污网站| 亚洲国产成人tv| 狠狠色综合播放一区二区| www.久久久久久久久| 欧美日韩国产不卡| 国产亲近乱来精品视频| 日韩一区中文字幕| 日韩av网站在线观看| 国产精品羞羞答答xxdd| 色婷婷综合久色| 日韩欧美美女一区二区三区| 亚洲国产精品v| 天天综合色天天综合色h| 国产成人激情av| 欧美色视频在线观看| 国产亚洲成av人在线观看导航 | 欧美成人精品福利| 中文字幕在线不卡一区二区三区 | 粉嫩绯色av一区二区在线观看| 色婷婷国产精品久久包臀| 精品乱人伦小说| 亚洲精品国产精品乱码不99| 麻豆成人av在线| 色综合久久综合网欧美综合网 | 懂色av一区二区三区免费观看| 欧美色大人视频| 亚洲天堂精品在线观看| 国产一区二区三区日韩| 欧美少妇bbb| 亚洲日本一区二区|