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

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

?? ppccommon.h

?? 絕對好的源碼
?? H
字號:
/***************************************************************************** * ppccommon.h: h264 encoder ***************************************************************************** * Copyright (C) 2003 Laurent Aimar * $Id: ppccommon.h,v 1.1 2004/06/03 19:27:07 fenrir Exp $ * * Authors: Eric Petit <titer@m0k.org> * * This program 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, USA. *****************************************************************************//*********************************************************************** * For constant vectors, use parentheses on OS X and braces on Linux **********************************************************************/#ifdef SYS_MACOSX#define CV(a...) (a)#else#define CV(a...) {a}#endif/*********************************************************************** * Vector types **********************************************************************/#define vec_u8_t  vector unsigned char#define vec_s8_t  vector signed char#define vec_u16_t vector unsigned short#define vec_s16_t vector signed short#define vec_u32_t vector unsigned int#define vec_s32_t vector signed int/*********************************************************************** * Null vector **********************************************************************/#define LOAD_ZERO const vec_u8_t zerov = vec_splat_u8( 0 )#define zero_u8v  (vec_u8_t)  zerov#define zero_s8v  (vec_s8_t)  zerov#define zero_u16v (vec_u16_t) zerov#define zero_s16v (vec_s16_t) zerov#define zero_u32v (vec_u32_t) zerov#define zero_s32v (vec_s32_t) zerov/*********************************************************************** * 8 <-> 16 bits conversions **********************************************************************/#define vec_u8_to_u16_h(v) (vec_u16_t) vec_mergeh( zero_u8v, (vec_u8_t) v )#define vec_u8_to_u16_l(v) (vec_u16_t) vec_mergel( zero_u8v, (vec_u8_t) v )#define vec_u8_to_s16_h(v) (vec_s16_t) vec_mergeh( zero_u8v, (vec_u8_t) v )#define vec_u8_to_s16_l(v) (vec_s16_t) vec_mergel( zero_u8v, (vec_u8_t) v )#define vec_u8_to_u16(v) vec_u8_to_u16_h(v)#define vec_u8_to_s16(v) vec_u8_to_s16_h(v)#define vec_u16_to_u8(v) vec_pack( v, zero_u16v )#define vec_s16_to_u8(v) vec_pack( v, zero_u16v )/*********************************************************************** * PREP_LOAD: declares two vectors required to perform unaligned loads * VEC_LOAD:  loads n bytes from u8 * p into vector v of type t **********************************************************************/#define PREP_LOAD \    vec_u8_t _hv, _lv#define VEC_LOAD( p, v, n, t )                  \    _hv = vec_ld( 0, p );                       \    v   = (t) vec_lvsl( 0, p );                 \    _lv = vec_ld( n - 1, p );                   \    v   = (t) vec_perm( _hv, _lv, (vec_u8_t) v )/*********************************************************************** * PREP_STORE##n: declares required vectors to store n bytes to a *                potentially unaligned address * VEC_STORE##n:  stores n bytes from vector v to address p **********************************************************************/#define PREP_STORE16 \    vec_u8_t _tmp1v, _tmp2v \#define VEC_STORE16( v, p ) \    _hv    = vec_ld( 0, p ); \    _tmp2v = vec_lvsl( 0, p ); \    _lv    = vec_ld( 15, p ); \    _tmp1v = vec_perm( _lv, _hv, _tmp2v ); \    _tmp2v = vec_lvsr( 0, p ); \    _lv    = vec_perm( (vec_u8_t) v, _tmp1v, _tmp2v ); \    vec_st( _lv, 15, (uint8_t *) p ); \    _hv    = vec_perm( _tmp1v, (vec_u8_t) v, _tmp2v ); \    vec_st( _hv, 0, (uint8_t *) p )#define PREP_STORE8 \    PREP_STORE16; \    vec_u8_t _tmp3v, _tmp4v; \    const vec_u8_t sel_h = \        (vec_u8_t) CV(-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0)#define PREP_STORE8_HL \    PREP_STORE8; \    const vec_u8_t sel_l = \        (vec_u8_t) CV(0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1)#define VEC_STORE8 VEC_STORE8_H#define VEC_STORE8_H( v, p ) \    _tmp3v = vec_lvsr( 0, (uint8_t *) p ); \    _tmp4v = vec_perm( (vec_u8_t) v, (vec_u8_t) v, _tmp3v ); \    _lv    = vec_ld( 7, (uint8_t *) p ); \    _tmp1v = vec_perm( sel_h, zero_u8v, _tmp3v ); \    _lv    = vec_sel( _lv, _tmp4v, _tmp1v ); \    vec_st( _lv, 7, (uint8_t *) p ); \    _hv    = vec_ld( 0, (uint8_t *) p ); \    _tmp2v = vec_perm( zero_u8v, sel_h, _tmp3v ); \    _hv    = vec_sel( _hv, _tmp4v, _tmp2v ); \    vec_st( _hv, 0, (uint8_t *) p )#define VEC_STORE8_L( v, p ) \    _tmp3v = vec_lvsr( 8, (uint8_t *) p ); \    _tmp4v = vec_perm( (vec_u8_t) v, (vec_u8_t) v, _tmp3v ); \    _lv    = vec_ld( 7, (uint8_t *) p ); \    _tmp1v = vec_perm( sel_l, zero_u8v, _tmp3v ); \    _lv    = vec_sel( _lv, _tmp4v, _tmp1v ); \    vec_st( _lv, 7, (uint8_t *) p ); \    _hv    = vec_ld( 0, (uint8_t *) p ); \    _tmp2v = vec_perm( zero_u8v, sel_l, _tmp3v ); \    _hv    = vec_sel( _hv, _tmp4v, _tmp2v ); \    vec_st( _hv, 0, (uint8_t *) p )#define PREP_STORE4 \    PREP_STORE16; \    vec_u8_t _tmp3v; \    const vec_u8_t sel = \        (vec_u8_t) CV(-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0)#define VEC_STORE4( v, p ) \    _tmp3v = vec_lvsr( 0, p ); \    v      = vec_perm( v, v, _tmp3v ); \    _lv    = vec_ld( 3, p ); \    _tmp1v = vec_perm( sel, zero_u8v, _tmp3v ); \    _lv    = vec_sel( _lv, v, _tmp1v ); \    vec_st( _lv, 3, p ); \    _hv    = vec_ld( 0, p ); \    _tmp2v = vec_perm( zero_u8v, sel, _tmp3v ); \    _hv    = vec_sel( _hv, v, _tmp2v ); \    vec_st( _hv, 0, p )/*********************************************************************** * VEC_TRANSPOSE_8 *********************************************************************** * Transposes a 8x8 matrix of s16 vectors **********************************************************************/#define VEC_TRANSPOSE_8(a0,a1,a2,a3,a4,a5,a6,a7,b0,b1,b2,b3,b4,b5,b6,b7) \    b0 = vec_mergeh( a0, a4 ); \    b1 = vec_mergel( a0, a4 ); \    b2 = vec_mergeh( a1, a5 ); \    b3 = vec_mergel( a1, a5 ); \    b4 = vec_mergeh( a2, a6 ); \    b5 = vec_mergel( a2, a6 ); \    b6 = vec_mergeh( a3, a7 ); \    b7 = vec_mergel( a3, a7 ); \    a0 = vec_mergeh( b0, b4 ); \    a1 = vec_mergel( b0, b4 ); \    a2 = vec_mergeh( b1, b5 ); \    a3 = vec_mergel( b1, b5 ); \    a4 = vec_mergeh( b2, b6 ); \    a5 = vec_mergel( b2, b6 ); \    a6 = vec_mergeh( b3, b7 ); \    a7 = vec_mergel( b3, b7 ); \    b0 = vec_mergeh( a0, a4 ); \    b1 = vec_mergel( a0, a4 ); \    b2 = vec_mergeh( a1, a5 ); \    b3 = vec_mergel( a1, a5 ); \    b4 = vec_mergeh( a2, a6 ); \    b5 = vec_mergel( a2, a6 ); \    b6 = vec_mergeh( a3, a7 ); \    b7 = vec_mergel( a3, a7 )/*********************************************************************** * VEC_TRANSPOSE_4 *********************************************************************** * Transposes a 4x4 matrix of s16 vectors. * Actually source and destination are 8x4. The low elements of the * source are discarded and the low elements of the destination mustn't * be used. **********************************************************************/#define VEC_TRANSPOSE_4(a0,a1,a2,a3,b0,b1,b2,b3) \    b0 = vec_mergeh( a0, a0 ); \    b1 = vec_mergeh( a1, a0 ); \    b2 = vec_mergeh( a2, a0 ); \    b3 = vec_mergeh( a3, a0 ); \    a0 = vec_mergeh( b0, b2 ); \    a1 = vec_mergel( b0, b2 ); \    a2 = vec_mergeh( b1, b3 ); \    a3 = vec_mergel( b1, b3 ); \    b0 = vec_mergeh( a0, a2 ); \    b1 = vec_mergel( a0, a2 ); \    b2 = vec_mergeh( a1, a3 ); \    b3 = vec_mergel( a1, a3 )/*********************************************************************** * VEC_DIFF_H *********************************************************************** * p1, p2:    u8 * * i1, i2, n: int * d:         s16v * * Loads n bytes from p1 and p2, do the diff of the high elements into * d, increments p1 and p2 by i1 and i2 **********************************************************************/#define PREP_DIFF           \    LOAD_ZERO;              \    PREP_LOAD;              \    vec_s16_t pix1v, pix2v;#define VEC_DIFF_H(p1,i1,p2,i2,n,d)      \    VEC_LOAD( p1, pix1v, n, vec_s16_t ); \    pix1v = vec_u8_to_s16( pix1v );      \    VEC_LOAD( p2, pix2v, n, vec_s16_t ); \    pix2v = vec_u8_to_s16( pix2v );      \    d     = vec_sub( pix1v, pix2v );     \    p1   += i1;                          \    p2   += i2/*********************************************************************** * VEC_DIFF_HL *********************************************************************** * p1, p2: u8 * * i1, i2: int * dh, dl: s16v * * Loads 16 bytes from p1 and p2, do the diff of the high elements into * dh, the diff of the low elements into dl, increments p1 and p2 by i1 * and i2 **********************************************************************/#define VEC_DIFF_HL(p1,i1,p2,i2,dh,dl)    \    VEC_LOAD( p1, pix1v, 16, vec_s16_t ); \    temp0v = vec_u8_to_s16_h( pix1v );    \    temp1v = vec_u8_to_s16_l( pix1v );    \    VEC_LOAD( p2, pix2v, 16, vec_s16_t ); \    temp2v = vec_u8_to_s16_h( pix2v );    \    temp3v = vec_u8_to_s16_l( pix2v );    \    dh     = vec_sub( temp0v, temp2v );   \    dl     = vec_sub( temp1v, temp3v );   \    p1    += i1;                          \    p2    += i2

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕第一区二区| 欧美一区永久视频免费观看| 中文字幕在线观看不卡视频| 成人爱爱电影网址| 一区二区三区美女视频| 欧美日韩精品免费观看视频| 午夜激情久久久| 精品久久久久一区二区国产| 国产成人综合在线| 亚洲欧美日韩一区二区三区在线观看 | 不卡的av网站| 亚洲女同女同女同女同女同69| 欧美性高清videossexo| 免费三级欧美电影| 国产精品毛片无遮挡高清| 91色综合久久久久婷婷| 日韩激情中文字幕| 国产清纯在线一区二区www| 91麻豆蜜桃一区二区三区| 香蕉久久夜色精品国产使用方法| 欧美电影免费观看高清完整版在 | 欧美日韩精品高清| 精品影视av免费| 国产精品成人网| 欧美精品99久久久**| 国产一二三精品| 亚洲综合视频在线观看| 欧美精品一区二区在线播放| 99久久99久久精品国产片果冻| 日本伊人精品一区二区三区观看方式| 久久久久99精品一区| 一本大道久久精品懂色aⅴ| 麻豆精品久久精品色综合| 国产精品国产自产拍在线| 在线播放91灌醉迷j高跟美女| 国产99久久久久久免费看农村| 香蕉成人啪国产精品视频综合网| 精品国产一区二区三区久久久蜜月 | 久久影视一区二区| 欧美午夜精品免费| 国产成人在线免费| 免费人成网站在线观看欧美高清| 亚洲欧洲综合另类| 国产女人18水真多18精品一级做| 欧美人xxxx| 91免费观看国产| 国产一区二区视频在线| 日韩精品亚洲专区| 亚洲影视在线观看| 国产精品久久三区| 国产香蕉久久精品综合网| 日韩一二三四区| 欧美日韩在线观看一区二区| 91免费精品国自产拍在线不卡| 国产黄色91视频| 黑人巨大精品欧美一区| 麻豆成人久久精品二区三区红| 午夜电影一区二区| 樱桃视频在线观看一区| 亚洲少妇30p| 国产精品美女久久久久久2018| 久久中文娱乐网| 日韩欧美一区在线观看| 欧美伦理影视网| 在线观看成人小视频| 一本一道久久a久久精品 | 久久久一区二区| 精品区一区二区| 亚洲精品一区在线观看| 欧美一区二区黄| 欧美一区二区精品在线| 日韩精品一区二区三区在线观看| 欧美一区二区视频在线观看2022| 欧美人与z0zoxxxx视频| 欧美久久免费观看| 欧美日韩高清影院| 欧美精三区欧美精三区| 日韩一级免费观看| 久久综合色婷婷| 国产欧美日韩另类一区| 国产精品福利影院| 亚洲人成电影网站色mp4| 亚洲影院理伦片| 日韩专区欧美专区| 麻豆精品蜜桃视频网站| 国产一区二区按摩在线观看| 国产成人综合精品三级| 91在线精品一区二区| 色婷婷国产精品| 欧美日韩精品一区二区三区四区| 欧美日韩免费观看一区二区三区| 欧美人与禽zozo性伦| 精品国一区二区三区| 国产精品午夜久久| 亚洲欧美日韩国产中文在线| 亚洲国产精品久久不卡毛片| 麻豆高清免费国产一区| 国产成人无遮挡在线视频| 99精品视频一区| 欧美疯狂性受xxxxx喷水图片| 精品乱人伦小说| 亚洲视频免费看| 青青草97国产精品免费观看无弹窗版| 美女一区二区视频| 国产高清在线观看免费不卡| 91丨九色丨国产丨porny| 欧洲人成人精品| 久久久久久一级片| 又紧又大又爽精品一区二区| 蓝色福利精品导航| 波多野结衣的一区二区三区| 欧美日韩视频在线观看一区二区三区| 日韩免费看的电影| 亚洲天堂久久久久久久| 日本成人在线不卡视频| 成人精品鲁一区一区二区| 欧美日韩日日骚| 欧美国产精品一区| 日本视频一区二区三区| 成人av在线网| 欧美精品一区二区三区蜜桃视频 | 日韩精品专区在线| 亚洲欧洲精品一区二区三区不卡| 日本不卡在线视频| 成av人片一区二区| 精品国产sm最大网站免费看| 亚洲乱码国产乱码精品精的特点 | 欧美日韩一级黄| 国产精品素人视频| 免费欧美在线视频| 在线观看亚洲专区| 中文字幕欧美日韩一区| 青青国产91久久久久久| 欧洲激情一区二区| 国产精品久久久久四虎| 激情综合五月天| 欧美福利视频导航| 一区二区三区在线视频观看 | 亚洲h在线观看| gogo大胆日本视频一区| 久久综合久久综合久久综合| 日韩av中文在线观看| 欧美亚洲国产一区二区三区va| 中文字幕在线观看一区二区| 国产激情偷乱视频一区二区三区| 日韩无一区二区| 香蕉久久一区二区不卡无毒影院| 色哟哟精品一区| 最新日韩av在线| 成人av网址在线| 国产亚洲一本大道中文在线| 国产做a爰片久久毛片| 日韩欧美亚洲国产精品字幕久久久| 亚洲专区一二三| 在线观看免费视频综合| 亚洲黄色录像片| 在线观看网站黄不卡| 一区二区三区**美女毛片| 色先锋aa成人| 亚洲宅男天堂在线观看无病毒| 色又黄又爽网站www久久| 自拍偷拍欧美激情| 91亚洲精品乱码久久久久久蜜桃| 国产精品免费视频观看| 成人av网站在线观看免费| 亚洲桃色在线一区| 色婷婷精品大视频在线蜜桃视频| 亚洲精品美国一| 欧美三级电影一区| 午夜精品久久久久久不卡8050| 在线观看三级视频欧美| 亚洲成人激情自拍| 日韩一区二区三区免费看| 精品一区二区三区免费播放| 精品成人佐山爱一区二区| 国产成人综合自拍| 国产精品久久二区二区| 色综合网色综合| 亚洲一区二区三区四区在线观看| 欧美精品久久天天躁| 久久精品国产亚洲一区二区三区| www国产精品av| 99国产精品视频免费观看| 亚洲综合一区二区精品导航| 欧美一级片免费看| 国产一区福利在线| 国产精品久久99| 欧美男女性生活在线直播观看| 看国产成人h片视频| 久久精品欧美日韩精品| 色琪琪一区二区三区亚洲区| 亚欧色一区w666天堂| 精品久久99ma| 99久久综合99久久综合网站| 亚洲国产另类av| 精品国产免费人成在线观看| 99精品黄色片免费大全| 日日骚欧美日韩| 国产精品区一区二区三| 在线不卡的av|