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

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

?? loopfilter.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 <stdlib.h>#include "globals.h"#include "loopfilter.h"typedef struct abIdx_s_ {  int alphaIdx;  int betaIdx;  int alphaIdxC;  int betaIdxC;} abIdx_s;static const u_int8 alphaTab[52] = {                    0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  4,  4,  5,  6,    7,  8,  9, 10, 12, 13, 15, 17,   20, 22, 25, 28, 32, 36, 40, 45,   50, 56, 63, 71, 80, 90,101,113,  127,144,162,182,203,226,255,255};static const u_int8 betaTab[52] = {               0, 0, 0, 0,   0, 0, 0, 0, 0, 0, 0, 0,   0, 0, 0, 0, 2, 2, 2, 3,   3, 3, 3, 4, 4, 4, 6, 6,   7, 7, 8, 8, 9, 9,10,10,  11,11,12,12,13,13,14,14,  15,15,16,16,17,17,18,18};static const int8 clipTab[52][4] = {  { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0},  { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0},  { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0},  { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0},  { 0, 0, 0, 0}, { 0, 0, 1, 1}, { 0, 0, 1, 1}, { 0, 0, 1, 1},  { 0, 0, 1, 1}, { 0, 1, 1, 1}, { 0, 1, 1, 1}, { 1, 1, 1, 1},  { 1, 1, 1, 1}, { 1, 1, 1, 1}, { 1, 1, 1, 1}, { 1, 1, 2, 2},  { 1, 1, 2, 2}, { 1, 1, 2, 2}, { 1, 1, 2, 2}, { 1, 2, 3, 3},  { 1, 2, 3, 3}, { 2, 2, 3, 3}, { 2, 2, 4, 4}, { 2, 3, 4, 4},  { 2, 3, 4, 4}, { 3, 3, 5, 5}, { 3, 4, 6, 6}, { 3, 4, 6, 6},  { 4, 5, 7, 7}, { 4, 5, 8, 8}, { 4, 6, 9, 9}, { 5, 7,10,10},  { 6, 8,11,11}, { 6, 8,13,13}, { 7,10,14,14}, { 8,11,16,16},  { 9,12,18,18}, {10,13,20,20}, {11,15,23,23}, {13,17,25,25}};static void loopLuma(u_int8 *dest, int dir, int alphaIdx,                     int betaIdx, int edgeDir, int str);static void loopChroma(u_int8 *dest, int dir, int alphaIdx, int betaIdx,                       int edgeDir, int str, u_int8 *dest2);/* * * loopLuma: * * Parameters: *      dest                  Pixels to be filtered *      dir                   Filter direction (horiz/vert) *      edgeDir               Edge direction (horiz/vert) *      alphaIdx              Filter alpha index *      betaIdx               Filter beta index *      str                   Edge strength * * Function: *      Filter 4 pixel luma edge. * * Returns: *      - * */static void loopLuma(u_int8 *dest, int dir, int alphaIdx,                     int betaIdx, int edgeDir, int str){  int i;  int alpha, beta;  int delta;  int diff, c0, c;  int orig[2*BLK_SIZE];  int tmpSum;  alpha = alphaTab[alphaIdx];  beta = betaTab[betaIdx];  c0 = clipTab[alphaIdx][str-1];  for (i = 0; i < BLK_SIZE; i++, dest+=edgeDir) {    orig[2] = dest[-2*dir];    orig[3] = dest[  -dir];    orig[4] = dest[     0];    orig[5] = dest[   dir];    /* The step across the block boundaries */    delta = abs(orig[3]-orig[4]);        /* Find right activity parameter dr and left activity parameter dl */    if (delta < alpha && abs(orig[4]-orig[5]) < beta &&                         abs(orig[3]-orig[2]) < beta)    {      if (str == 4) {        /*         * Strength values is 4, use long filter         */        if (delta >= ((alpha>>2) + 2)) {          dest[  -dir] = (u_int8)((orig[3] + orig[5] + 2*orig[2] + 2) >> 2);          dest[     0] = (u_int8)((orig[2] + orig[4] + 2*orig[5] + 2) >> 2);        }        else {          orig[1] = dest[-3*dir];          orig[6] = dest[ 2*dir];          if (abs(orig[3]-orig[1]) < beta) {            tmpSum = orig[2] + orig[3] + orig[4] + 2;            dest[  -dir] = (u_int8)((orig[1] + 2*tmpSum + orig[5]) >> 3);            dest[-2*dir] = (u_int8)((orig[1] + tmpSum) >> 2);            dest[-3*dir] = (u_int8)((2*dest[-4*dir] + 3*orig[1] + tmpSum + 2) >> 3);          }          else            dest[  -dir] = (u_int8)((orig[3] + orig[5] + 2*orig[2] + 2) >> 2);          if (abs(orig[4]-orig[6]) < beta) {            tmpSum = orig[3] + orig[4] + orig[5] + 2;            dest[     0] = (u_int8)((orig[2] + 2*tmpSum + orig[6]) >> 3);            dest[   dir] = (u_int8)((tmpSum + orig[6]) >> 2);            dest[ 2*dir] = (u_int8)((2*dest[ 3*dir] + 3*orig[6] + tmpSum + 2) >> 3);          }          else            dest[     0] = (u_int8)((orig[2] + orig[4] + 2*orig[5] + 2) >> 2);        }      }      else {        /*         * Strength value is < 4, use short filter         */        c = c0;        orig[1] = dest[-3*dir];        orig[6] = dest[ 2*dir];        if (abs(orig[3]-orig[1]) < beta) {          diff = (orig[1] + ((orig[3]+orig[4]+1)>>1) - (orig[2]<<1)) >> 1;          diff = clip(-c0, c0, diff);          dest[-2*dir] = (u_int8)(orig[2]+diff);          c++;        }        if (abs(orig[4]-orig[6]) < beta) {          diff = (orig[6] + ((orig[3]+orig[4]+1)>>1) - (orig[5]<<1)) >> 1;          diff = clip(-c0, c0, diff);          dest[dir] = (u_int8)(orig[5]+diff);          c++;        }        diff = (((orig[4]-orig[3])<<2) + (orig[2]-orig[5]) + 4) >> 3;        diff = clip(-c, c, diff);        dest[-dir] = (u_int8)clip(0, 255, orig[3]+diff);        dest[   0] = (u_int8)clip(0, 255, orig[4]-diff);      }    }  }}/* * * loopChroma: * * Parameters: *      dest                  Pixels to be filtered (U) *      dir                   Filter direction (horiz/vert) *      alphaIdx              Filter alpha index *      betaIdx               Filter beta index *      edgeDir               Edge direction (horiz/vert) *      str                   Edge strength *      dest2                 Pixels to be filtered (V) * * Function: *      Filter 2 pixel chroma edge. * * Returns: *      - * */static void loopChroma(u_int8 *dest, int dir, int alphaIdx, int betaIdx,                       int edgeDir, int str, u_int8 *dest2){  int i;  int alpha, beta;  int delta;  int diff, c;  int orig[2*BLK_SIZE];  alpha = alphaTab[alphaIdx];  beta = betaTab[betaIdx];  c = clipTab[alphaIdx][str-1] + 1;  for (i = 0; i < BLK_SIZE; i++, dest+=edgeDir) {    if (i == 2) dest = dest2;    orig[2] = dest[-2*dir];    orig[3] = dest[  -dir];    orig[4] = dest[     0];    orig[5] = dest[   dir];    /* The step across the block boundaries */    delta = abs(orig[3]-orig[4]);        /* Find right activity parameter dr and left activity parameter dl */    if (delta < alpha && abs(orig[4]-orig[5]) < beta &&                         abs(orig[3]-orig[2]) < beta)    {      if (str == 4) {        /*         * Strength values is 4, use long filter         */        dest[  -dir] = (u_int8)((orig[3] + orig[5] + 2*orig[2] + 2) >> 2);        dest[     0] = (u_int8)((orig[2] + orig[4] + 2*orig[5] + 2) >> 2);      }      else {        /*         * Strength value is < 4, use short filter         */        diff = (((orig[4]-orig[3])<<2) + (orig[2]-orig[5]) + 4) >> 3;        diff = clip(-c, c, diff);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品一区二区久久 | 欧美成人一区二区三区在线观看 | 亚洲国产成人av| 国产精品欧美久久久久无广告| 久久综合狠狠综合久久综合88 | 制服丝袜日韩国产| 欧美精品777| 日韩精品一区二区三区视频在线观看| 欧美日韩一区二区不卡| 欧美男女性生活在线直播观看| 欧美精品 日韩| 欧美成人r级一区二区三区| 精品国产乱码91久久久久久网站| 久久久午夜精品| 亚洲色图色小说| 午夜亚洲福利老司机| 日本欧美加勒比视频| 极品少妇一区二区| 成人国产亚洲欧美成人综合网| 92精品国产成人观看免费| 在线观看免费一区| 精品久久久久99| 中文字幕一区免费在线观看| 亚洲精品久久久蜜桃| 秋霞午夜鲁丝一区二区老狼| 国产伦精品一区二区三区视频青涩 | 国产精品久久久久三级| 一区二区三区四区国产精品| 日韩国产欧美一区二区三区| 国产夫妻精品视频| 欧美日韩精品一区二区三区蜜桃 | 日韩欧美成人一区二区| 亚洲私人影院在线观看| 日本亚洲三级在线| 丁香婷婷深情五月亚洲| 欧美日韩午夜在线视频| 国产欧美一区视频| 国产91精品免费| 2024国产精品视频| 色综合亚洲欧洲| 午夜精品久久久久影视| 欧美老肥妇做.爰bbww视频| 精品国产一区二区在线观看| 国产精品传媒入口麻豆| 国产成人精品三级| 久久久久久久性| 东方aⅴ免费观看久久av| 日韩丝袜美女视频| 7777精品伊人久久久大香线蕉的 | 亚洲一区二区三区自拍| 久久久久久99精品| 亚洲精品一区二区三区影院| 91久久精品一区二区三区| 欧美精品在欧美一区二区少妇| 欧美二区三区91| 国产麻豆一精品一av一免费| 欧美蜜桃一区二区三区| 蜜臀av一区二区在线观看| 精品国产91久久久久久久妲己| 美日韩一区二区三区| 久久久久久**毛片大全| 国产美女av一区二区三区| 乱一区二区av| 久久九九久久九九| 久久影院午夜论| 亚洲午夜羞羞片| 在线观看欧美精品| 一区二区三区国产精华| 粉嫩嫩av羞羞动漫久久久| 亚洲精品一区二区三区在线观看| 亚洲国产aⅴ成人精品无吗| 99视频国产精品| 国产精品区一区二区三| 国模大尺度一区二区三区| 欧美一级国产精品| 日韩国产欧美三级| 欧美一卡2卡三卡4卡5免费| 亚洲不卡av一区二区三区| 欧美日韩在线播放一区| 一区二区三区日韩精品| 精品视频全国免费看| 亚洲一区二区在线观看视频| 欧美吞精做爰啪啪高潮| 男人的j进女人的j一区| 欧美大片顶级少妇| 国产suv精品一区二区883| 国产精品成人免费在线| 91国产精品成人| 午夜久久福利影院| 精品久久久三级丝袜| 成人免费毛片aaaaa**| 亚洲视频狠狠干| 欧美日韩精品一区视频| 激情综合五月婷婷| 亚洲天堂网中文字| 欧美日韩黄色一区二区| 九九九精品视频| 成人欧美一区二区三区小说| 91官网在线免费观看| 爽好多水快深点欧美视频| 日韩一级完整毛片| 成人精品电影在线观看| 亚洲午夜久久久久中文字幕久| 欧美一卡2卡三卡4卡5免费| 国产xxx精品视频大全| 亚洲尤物视频在线| 26uuu亚洲综合色欧美 | 欧美主播一区二区三区| 日日噜噜夜夜狠狠视频欧美人| 久久综合久久综合九色| 91国产免费观看| 国产裸体歌舞团一区二区| 亚洲精品v日韩精品| 精品国产乱码久久久久久免费 | 色婷婷久久久综合中文字幕| 日韩精品视频网| 国产精品天天看| 欧美一区二区精品在线| 91免费视频网| 国产精品99久久久久久久女警| 亚洲国产日韩一级| 亚洲国产成人自拍| 精品美女在线播放| 91官网在线观看| 福利视频网站一区二区三区| 亚洲成人福利片| 亚洲婷婷综合久久一本伊一区| 亚洲精品一区二区在线观看| 欧美三区免费完整视频在线观看| 粉嫩久久99精品久久久久久夜| 男女男精品视频| 亚洲亚洲精品在线观看| 国产精品萝li| 久久久久久**毛片大全| 日韩一区二区麻豆国产| 欧美日韩不卡一区| 色综合久久综合网欧美综合网| 国产精品一区二区三区乱码| 免费成人美女在线观看.| 亚洲二区视频在线| 一区二区在线观看免费| 亚洲欧洲国产日韩| 久久久久久久久久电影| 久久久影院官网| 久久免费午夜影院| 欧美精品一区二区三区很污很色的| 欧美人伦禁忌dvd放荡欲情| 91激情在线视频| 在线观看一区二区视频| 一本大道久久a久久精二百| 成人av免费网站| 99精品国产一区二区三区不卡 | 国产精品美女久久久久久2018 | 欧美一区二区视频在线观看2022| 在线免费不卡视频| 日本精品视频一区二区三区| 97久久精品人人澡人人爽| 99久久伊人久久99| 成人h精品动漫一区二区三区| 99久久精品情趣| 99久久精品情趣| 欧美在线小视频| 欧美日韩高清在线播放| 91麻豆精品国产91久久久久| 日韩欧美一二区| 久久久久久麻豆| 亚洲天堂成人在线观看| 午夜天堂影视香蕉久久| 水蜜桃久久夜色精品一区的特点| 蜜臀精品久久久久久蜜臀| 国内精品久久久久影院色| 高清日韩电视剧大全免费| 日本高清免费不卡视频| 精品视频在线免费看| 精品国产1区2区3区| 日本一区二区三区在线不卡| 亚洲欧美色一区| 奇米888四色在线精品| 国产精品一区二区在线看| 91免费在线播放| 精品国产第一区二区三区观看体验| 久久婷婷国产综合国色天香 | 日韩一区二区三区免费看| 久久嫩草精品久久久精品一| 亚洲欧洲日韩av| 日韩激情视频在线观看| 国产成人精品免费视频网站| 欧美三区在线观看| 国产亚洲欧美日韩在线一区| 亚洲激情在线播放| 国产乱子轮精品视频| 色天使色偷偷av一区二区| 日韩精品一区二| 亚洲黄色小说网站| 国产白丝精品91爽爽久久 | 国产高清不卡二三区| 精品视频资源站| 国产精品女上位| 国产自产视频一区二区三区| 色偷偷久久一区二区三区|