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

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

?? motcomp.c

?? This document aims to provide instructions on how to configure the H.264/AVC encoder and decoder usi
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*COPYRIGHT, LICENSE AND WARRANTY INFORMATIONThis software module has been originally developed by Nokia Corporation. Provided that a person, entity or a company willing to use the Software (hereinafter Licensee) comply with all the terms and conditions of this Statement and subject to the limitations set forth in this Statement Nokia grants to such Licensee a non-exclusive, sub-licensable, worldwide, limited license under copyrights owned by Nokia to use the Software for the sole purpose of creating, manufacturing, selling, marketing, or  distributing (including the right to make modifications to the Software) a fully compliant decoder implementation (hereinafter "Decoder") of ITU-T Recommendation H.264 / ISO/IEC International Standard 14496-10 and an encoder implementation producing output that is decodable with the Decoder.Nokia retains the ownership of copyrights to the Software. There is no patent nor other intellectual property right of Nokia licensed under this Statement (except the copyright license above). Licensee hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if patent licenses  are required, it is their responsibility to acquire the license before utilizing the Software.The license by Nokia is subject to that the Licensee grants to Nokia the non-exclusive, worldwide, royalty-free, perpetual and irrevocable covenant that the Licensee(s) shall not bring a suit before any court or administrative agency or otherwise assert a claim for infringement under the Licensee intellectual property rights that, but for a license, would be infringed by the Software against     (a)  Nokia or Nokia's Affiliate; or     (b)  other recipient of a license and covenant not to sue with respect         to the Software from Nokia; or    (c)  contractor, customer or distributor of a party listed above in a         or b,  which suit or claim is related to the Software or use thereof.The Licensee(s) further agrees to grant a reciprocal license to Nokia (as granted by Nokia to the Licensee(s) on the modifications made by Licensee(s) to the Software. THE SOFTWARE IS PROVIDED "AS IS" AND THE ORIGINAL DEVELOPER DISCLAIMS ANY AND ALL WARRANTIES WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. THOSE INTENDING TO USE THE SOFTWARE ARE EXPRESSLY ADVISED THAT ITS USE MAY INFRINGE EXISTING PATENTS AND BE SUBJECT TO ROYALTY PAYMENTS TO PATENT OWNERS. ANYONE USING THE SOFTWARE ON THE BASIS OF THIS LICENSE AGREES TO OBTAIN THE NECESSARY PERMISSIONS FROM ANY AND ALL APPLICABLE PATENT OWNERS FOR SUCH USE.IN NO EVENT SHALL THE ORIGINAL DEVELOPER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.This copyright, license and warranty information notice must be retained in all copies and derivative works of the Software or substantial portions thereof.*/#include <limits.h>#include "globals.h"#include "vlcutility.h"#include "macroblock.h"const int8 modeBlkIndices[5][4] = {  {0, 0, 0, 0},  {0, 0, 0, 0},  {0, 8, 0, 0},  {0, 2, 0, 0},  {0, 2, 8, 10},};// the first element is always reservedint8 modeNumBlocks[8] ={  16, 16, 8, 8, 4, 2, 2, 1};int8 modePartWidth[8] ={  4, 4, 4, 2, 2, 2, 1, 1};int8 modePartHeight[8] ={  4, 4, 2, 4, 2, 1, 2, 1};#define NA      -2#define MEDIAN(med, a0, a1, a2)   {             \    if ((a0) > (a1)) {                          \      if (a1 > (a2))        (med) = (a1);       \      else if ((a0) > (a2))  (med) = (a2);       \      else                  (med) = (a0);       \    } else if ((a0) > (a2))  (med) = (a0);       \    else if ((a1) > (a2))    (med) = (a2);       \    else                    (med) = (a1);       \  }static const int8 trIdx[8] = {0, 0, 0, 1, 1, 1, 2, 2};/* * * mcpFindPredMv: * * Parameters: *      pMb               Macroblock information *      refNum            Reference frame index for this partition *      mode              Indicate size of partition *      blkAddr           Addr of 1st block of partition in 4x4 block array * * Function: *      Calculate the MV predictor.  * * Returns: *      - * */motVec_s mcpFindPredMv(macroblock_s *pMb,                       int          refNum,                       int          mode,                       int          blkAddr){  motVec_s vecA;  motVec_s vecB;  motVec_s vecC;  motVec_s vecX;  int refLeft, refUp, refUpRight;  int numEqualRefs;  blkState_s *blkLeft, *blkUp, *blkUpRight;  /*   * Fetch vectors and reference frame numbers of blocks A, B and C   */  blkLeft    = pMb->blkLeft[blkAddr];  blkUp      = pMb->blkUp[blkAddr];  blkUpRight = pMb->blkUpRight[trIdx[mode]][blkAddr];  refLeft    = blkLeft->ref == refNum;  vecA       = blkLeft->mv;  refUp      = blkUp->ref == refNum;  vecB       = blkUp->mv;  refUpRight = blkUpRight->ref == refNum;  vecC       = blkUpRight->mv;  numEqualRefs = refLeft + refUp + refUpRight;  // put the most common case in the front  if ((mode > MOT_8x16) && (numEqualRefs > 1))  {    // performa median filtering    MEDIAN(vecX.x, vecA.x, vecB.x, vecC.x);    MEDIAN(vecX.y, vecA.y, vecB.y, vecC.y);  }  else  {    // directional prediction    if (mode == MOT_16x8)    {      if (blkAddr == 0)      {        if (refUp)          return vecB;      }      else       {        if (refLeft)          return vecA;      }    }    else if (mode == MOT_8x16)    {      if (blkAddr == 0)      {        if (refLeft)          return vecA;      }      else      {        // this could be real upRight, or upRight replaced by upLeft        if (refUpRight)          return vecC;      }    }    /*    * If only one of the neighboring block has the same reference    * frame number as the  current block, predict from that block.    */    // this is of little probabability, make it faster    if (numEqualRefs == 1)    {      if (refLeft)        vecX = vecA;      else if (refUp)        vecX = vecB;      else        vecX = vecC;    }    else if ((blkUp->ref == REF_NA) && (blkUpRight->ref == REF_NA) && (blkLeft->ref >= 0))    {      // if only vecA is available, vecA is set as the predictor      vecX = vecA;    }    else    {      // performa median filtering      MEDIAN(vecX.x, vecA.x, vecB.x, vecC.x);      MEDIAN(vecX.y, vecA.y, vecB.y, vecC.y);    }  }  return vecX;}/* * mcpFindDiffMvs: * * Parameters: *      pMb                 Macroblock information *      refIdxRange         Information related to motion estimation * * Function: *      Calculate the differential motion vectors and referenace frame indices *      for all MB partitions. We use the index tables to find the position of *      the first 4x4 block within the partition. * * Returns: *      - */int mcpFindDiffMvs(macroblock_s *pMb,                   int          refIdxRange){  int i, mpIdx, mpBlkAddr, blkAddr;  int mpBlkCount;  int mvBits, interMode, subMbMode, blkMode;  int numVecs, lastNumVecs;  motVec_s predVec;  blkState_s *mrPair, *blkInfo;  mvBits  = 0;  numVecs = 0;  interMode  = pMb->interMode;  subMbMode  = 0;  mpBlkCount = 1;  blkInfo    = & pMb->current[0][0];  for (mpIdx = 0; mpIdx < numOfRefPar[interMode - 1]; mpIdx ++)  {    mpBlkAddr = modeBlkIndices[interMode][mpIdx];    blkAddr   = mpBlkAddr;    pMb->refIndices[mpIdx] = (u_int8) blkInfo[mpBlkAddr].ref;    mvBits += vlcGetRefIndexBits(refIdxRange, pMb->refIndices[mpIdx]);    if (interMode == MOT_8x8)    {      // make index this way to use the same tables      subMbMode  = pMb->interSubMbModes[mpIdx];      mpBlkCount = numOfRefPar[subMbMode];    }    blkMode = interMode + subMbMode;    lastNumVecs = numVecs;    numVecs += mpBlkCount;    for (i = lastNumVecs; i < numVecs; i ++)    {      if (interMode == MOT_8x8)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品视频www在线观看| av在线综合网| 亚洲自拍欧美精品| 亚洲色图另类专区| 国产农村妇女毛片精品久久麻豆 | 奇米影视7777精品一区二区| 亚洲男同1069视频| 一区二区三区在线观看国产| 亚洲人一二三区| 亚洲精品成人精品456| 亚洲欧美激情一区二区| 亚洲老妇xxxxxx| 亚洲成av人片在线| 丝袜亚洲精品中文字幕一区| 天使萌一区二区三区免费观看| 日韩中文字幕91| 奇米亚洲午夜久久精品| 国产美女娇喘av呻吟久久| 国产一区高清在线| 成人av高清在线| 色视频成人在线观看免| 91精品欧美久久久久久动漫| 欧美va在线播放| 日本一二三四高清不卡| 中文字幕一区二区三区四区不卡| 亚洲视频一区二区免费在线观看 | 色天天综合色天天久久| 欧美日韩国产一级| 精品欧美一区二区在线观看| 欧美国产一区在线| 亚洲国产日日夜夜| 日韩电影在线观看电影| 国产资源在线一区| 91麻豆精品视频| 911精品国产一区二区在线| 精品国产一区二区三区忘忧草| 国产女同互慰高潮91漫画| 亚洲第一福利一区| 大胆亚洲人体视频| 欧美色老头old∨ideo| 久久久久九九视频| 亚洲香肠在线观看| 国产99精品国产| 欧美精品一二三四| 国产精品久久久久婷婷二区次| 亚洲mv在线观看| 99麻豆久久久国产精品免费| 欧美zozozo| 国产精品二区一区二区aⅴ污介绍| 日韩福利电影在线| 91美女在线视频| 精品成人在线观看| 亚洲国产综合色| 不卡av在线免费观看| 337p日本欧洲亚洲大胆色噜噜| 一区二区三区四区av| 国产精品69毛片高清亚洲| 6080日韩午夜伦伦午夜伦| 中文字幕日本不卡| 国产成人午夜99999| 欧美电影免费观看高清完整版 | 欧美精品精品一区| 亚洲人午夜精品天堂一二香蕉| 国产一区二区视频在线| 欧美一区中文字幕| 亚洲午夜激情网站| 欧美视频在线观看一区| 成人欧美一区二区三区黑人麻豆| 国产剧情一区二区| 久久精品视频在线免费观看 | 久久综合狠狠综合久久综合88| 亚洲bt欧美bt精品777| 色婷婷香蕉在线一区二区| 国产精品污网站| 国产成人免费av在线| 国产日韩欧美不卡| 国产精品一品二品| 日本一区二区视频在线观看| 国产一区二区在线观看视频| 2021国产精品久久精品| 精品系列免费在线观看| 精品国产乱子伦一区| 国产乱码字幕精品高清av | 91最新地址在线播放| 中文字幕乱码日本亚洲一区二区| 国产成人精品一区二| 久久精品欧美一区二区三区不卡 | 国产精品欧美一区二区三区| 成人免费观看av| 《视频一区视频二区| 色94色欧美sute亚洲线路二| 夜夜揉揉日日人人青青一国产精品| 色哟哟国产精品| 亚洲成人资源网| 精品国产不卡一区二区三区| 国产精品一区二区你懂的| 国产丝袜在线精品| 91在线视频在线| 亚洲国产精品视频| 日韩欧美精品三级| 成人综合在线观看| 亚洲综合图片区| 国产精品超碰97尤物18| 日本韩国视频一区二区| 午夜视频久久久久久| 日韩情涩欧美日韩视频| 国产传媒一区在线| 亚洲一区电影777| 欧美xxxx在线观看| 色婷婷久久综合| 久久99国产精品久久| 国产精品久久99| 欧美麻豆精品久久久久久| 国产剧情一区二区三区| 亚洲国产精品影院| 中文字幕精品在线不卡| 91精品国产综合久久久久| 国产麻豆日韩欧美久久| 亚洲第四色夜色| 国产精品乱人伦中文| 欧美一区二区视频在线观看2020 | 五月婷婷激情综合| 国产日产欧美一区| 欧美军同video69gay| 成人av免费观看| 麻豆成人久久精品二区三区小说| 中文字幕一区二区三区不卡在线 | 亚洲影院久久精品| 国产亚洲精品精华液| 91精品欧美综合在线观看最新 | 日本视频中文字幕一区二区三区| 国产日本亚洲高清| 精品美女一区二区| 欧美日韩成人在线一区| 色先锋资源久久综合| 国产jizzjizz一区二区| 久久国产精品99久久久久久老狼| 亚洲欧美日本在线| 一区视频在线播放| 国产午夜亚洲精品理论片色戒| 欧美一级久久久| 欧美色中文字幕| 一本色道久久加勒比精品| 成人免费视频一区二区| 国产真实乱偷精品视频免| 日韩成人精品在线| 亚洲午夜在线视频| 亚洲成人精品一区二区| 亚洲一区日韩精品中文字幕| 亚洲欧洲色图综合| 综合色中文字幕| 国产精品传媒入口麻豆| 欧美高清在线一区二区| 国产午夜精品美女毛片视频| 精品女同一区二区| 精品国产不卡一区二区三区| 欧美成va人片在线观看| 欧美一区二区三区喷汁尤物| 制服丝袜在线91| 欧美一区二区视频网站| 91精品国产综合久久久蜜臀粉嫩| 91精品婷婷国产综合久久性色| 91精品国产高清一区二区三区蜜臀| 欧美吞精做爰啪啪高潮| 欧美日韩综合色| 欧美人动与zoxxxx乱| 91精品国产福利| 精品粉嫩超白一线天av| 国产亚洲综合av| 中文字幕一区日韩精品欧美| 综合久久国产九一剧情麻豆| 亚洲尤物在线视频观看| 丝袜脚交一区二区| 蜜臂av日日欢夜夜爽一区| 经典三级视频一区| 成人动漫av在线| 色婷婷精品久久二区二区蜜臂av | 欧美高清在线视频| 一区二区三区视频在线观看| 亚洲地区一二三色| 美女一区二区视频| 成人性生交大片免费看视频在线| 91亚洲大成网污www| 欧美日韩一区二区三区在线| 精品欧美久久久| 亚洲欧美一区二区在线观看| 午夜激情一区二区三区| 国产精品影音先锋| 在线观看日产精品| 日韩女优毛片在线| 亚洲视频精选在线| 久久国产婷婷国产香蕉| 91在线你懂得| 日韩欧美国产一区二区三区| 国产精品福利一区二区三区| 五月天丁香久久| 成人动漫一区二区在线| 欧美一区二区网站| 亚洲免费av高清| 国产在线精品视频|