日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

ARM平台YUV转RGB888(转)

發(fā)布時(shí)間:2024/9/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM平台YUV转RGB888(转) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前段時(shí)間,公司有個(gè)嵌入式的項(xiàng)目,我做的其中有一項(xiàng)是yuv視頻到rgb888圖像的轉(zhuǎn)換。我主要是參照一位牛人的博客做的:http://blog.csdn.net/housisong/archive/2007/10/31/1859084.aspx

?? ? ?YUV422p To RGB888 C語(yǔ)言版本接口說(shuō)明:

[cpp:showcolumns] view plaincopyprint? ·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  • /****************************************YUV422P_To_RGB24.c**************************/??
  • //模塊功能:將YUV422_PLANAR圖像數(shù)據(jù)轉(zhuǎn)換成RGB24格式 ??
  • typedef?unsigned?char?BYTE;?//?[0..255] ??
  • /*?
  • ?*?接口說(shuō)明:?
  • ?*?功能:構(gòu)建查詢表,轉(zhuǎn)換模塊運(yùn)行前必須進(jìn)行的初始化操作?
  • ?*/??
  • void?YUV422P_To_RGB24_init();??
  • /*?
  • ?*接口說(shuō)明:?
  • ?*功能:將YUV422P圖像數(shù)據(jù)轉(zhuǎn)換成RGB24格式?
  • ?*參數(shù):?
  • ?*????????????pY:?YUV422P圖像數(shù)據(jù)Y的起始指針?
  • ?*????????????pU:?YUV422P圖像數(shù)據(jù)U的起始指針?
  • ?*????????????pV:?YUV422P圖像數(shù)據(jù)V的起始指針?
  • ?*????????DstPic:?轉(zhuǎn)換成的RGB24圖像數(shù)據(jù)的起始指針?
  • ?*?????????width:?圖像寬度?
  • ?*????????height:?圖像高度?
  • ?*返回值:成功返回0,失敗返回-1?
  • ?*注意:DstPic所指向的緩沖區(qū)必須事先分配好,其大小應(yīng)該為?width*height*3?
  • ?*/??
  • int?YUV422P_To_RGB24(BYTE*?pY,?BYTE*?pU,?BYTE*?pV,?BYTE*?DstPic,?int?width,?int?height);??
  • /****************************************YUV422P_To_RGB24.c**************************/ //模塊功能:將YUV422_PLANAR圖像數(shù)據(jù)轉(zhuǎn)換成RGB24格式 typedef unsigned char BYTE; // [0..255] /* * 接口說(shuō)明: * 功能:構(gòu)建查詢表,轉(zhuǎn)換模塊運(yùn)行前必須進(jìn)行的初始化操作 */ void YUV422P_To_RGB24_init(); /* *接口說(shuō)明: *功能:將YUV422P圖像數(shù)據(jù)轉(zhuǎn)換成RGB24格式 *參數(shù): * pY: YUV422P圖像數(shù)據(jù)Y的起始指針 * pU: YUV422P圖像數(shù)據(jù)U的起始指針 * pV: YUV422P圖像數(shù)據(jù)V的起始指針 * DstPic: 轉(zhuǎn)換成的RGB24圖像數(shù)據(jù)的起始指針 * width: 圖像寬度 * height: 圖像高度 *返回值:成功返回0,失敗返回-1 *注意:DstPic所指向的緩沖區(qū)必須事先分配好,其大小應(yīng)該為 width*height*3 */ int YUV422P_To_RGB24(BYTE* pY, BYTE* pU, BYTE* pV, BYTE* DstPic, int width, int height);?

    ?

    ?? ? ?實(shí)現(xiàn):

    [cpp:showcolumns] view plaincopyprint? ·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  • //使用整數(shù)運(yùn)算(定點(diǎn)數(shù)運(yùn)算)來(lái)代替浮點(diǎn)運(yùn)算 ??
  • const?int?csY_coeff_16?=?1.164383?*?(1?<<?16);??
  • const?int?csU_blue_16?=?2.017232?*?(1?<<?16);??
  • const?int?csU_green_16?=?(-0.391762)?*?(1?<<?16);??
  • const?int?csV_green_16?=?(-0.812968)?*?(1?<<?16);??
  • const?int?csV_red_16?=?1.596027?*?(1?<<?16);??
  • //顏色查表 ??
  • static?BYTE?_color_table[256?*?3];??
  • static?const?BYTE*?color_table?=?&_color_table[256];??
  • //查表 ??
  • static?int?Ym_tableEx[256];??
  • static?int?Um_blue_tableEx[256];??
  • static?int?Um_green_tableEx[256];??
  • static?int?Vm_green_tableEx[256];??
  • static?int?Vm_red_tableEx[256];??
  • //顏色飽和函數(shù) ??
  • inline?long?border_color(long?color)?{??
  • ????if?(color?>?255)??
  • ????????return?255;??
  • ????else?if?(color?<?0)??
  • ????????return?0;??
  • ????else??
  • ????????return?color;??
  • }??
  • //采用查找表進(jìn)行計(jì)算時(shí),必須運(yùn)行的初始化函數(shù) ??
  • void?YUV422P_To_RGB24_init()?{??
  • ????int?i;??
  • ????for?(i?=?0;?i?<?256?*?3;?++i)??
  • ????????_color_table[i]?=?border_color(i?-?256);??
  • ????for?(i?=?0;?i?<?256;?++i)?{??
  • ????????Ym_tableEx[i]?=?(csY_coeff_16?*?(i?-?16))?>>?16;??
  • ????????Um_blue_tableEx[i]?=?(csU_blue_16?*?(i?-?128))?>>?16;??
  • ????????Um_green_tableEx[i]?=?(csU_green_16?*?(i?-?128))?>>?16;??
  • ????????Vm_green_tableEx[i]?=?(csV_green_16?*?(i?-?128))?>>?16;??
  • ????????Vm_red_tableEx[i]?=?(csV_red_16?*?(i?-?128))?>>?16;??
  • ????}??
  • }??
  • inline?void?YUVToRGB24_Table(BYTE?*p,?const?BYTE?Y0,?const?BYTE?Y1,??
  • ????????const?BYTE?U,?const?BYTE?V)?{??
  • ????int?Ye0?=?Ym_tableEx[Y0];??
  • ????int?Ye1?=?Ym_tableEx[Y1];??
  • ????int?Ue_blue?=?Um_blue_tableEx[U];??
  • ????int?Ue_green?=?Um_green_tableEx[U];??
  • ????int?Ve_green?=?Vm_green_tableEx[V];??
  • ????int?Ve_red?=?Vm_red_tableEx[V];??
  • ????int?UeVe_green?=?Ue_green?+?Ve_green;??
  • ????*p?=?color_table[(Ye0?+?Ve_red)];??
  • ????*(p?+?1)?=?color_table[(Ye0?+?UeVe_green)];??
  • ????*(p?+?2)?=?color_table[(Ye0?+?Ue_blue)];??
  • ????*(p?+?3)?=?color_table[(Ye1?+?Ve_red)];??
  • ????*(p?+?4)?=?color_table[(Ye1?+?UeVe_green)];??
  • ????*(p?+?5)?=?color_table[(Ye1?+?Ue_blue)];??
  • }??
  • int?YUV420P_To_RGB24(BYTE*?pY,?BYTE*?pU,?BYTE*?pV,?BYTE*?DstPic,?int?width,??
  • ????????int?height)?{??
  • ????int?y,?x,?x_uv;??
  • ????BYTE*?pDstLine?=?DstPic;??
  • ????if?((width?%?2)?!=?0?||?(height?%?2)?!=?0)??
  • ????????return?(-1);??
  • ????for?(y?=?0;?y?<?height;?++y)?{??
  • ????????//DECODE_PlanarYUV211_Common_line(pDstLine,?pY,?pU,?pV,width); ??
  • ????????for?(x?=?0;?x?<?width;?x?+=?2)?{??
  • ????????????x_uv?=?x?>>?1;??
  • ????????????YUVToRGB24_Table(&pDstLine[x?*?3],?pY[x],?pY[x?+?1],?pU[x_uv],??
  • ????????????????????pV[x_uv]);??
  • ????????}??
  • ????????pDstLine?+=?width?*?3;?//RGB888 ??
  • ????????pY?+=?width;?//YUV422 ??
  • ????????if?(y?%?2?==?1)?{??
  • ????????????pU?+=?width?/?2;??
  • ????????????pV?+=?width?/?2;??
  • ????????}??
  • ????}??
  • ????return?0;??
  • }??
  • //使用整數(shù)運(yùn)算(定點(diǎn)數(shù)運(yùn)算)來(lái)代替浮點(diǎn)運(yùn)算 const int csY_coeff_16 = 1.164383 * (1 << 16); const int csU_blue_16 = 2.017232 * (1 << 16); const int csU_green_16 = (-0.391762) * (1 << 16); const int csV_green_16 = (-0.812968) * (1 << 16); const int csV_red_16 = 1.596027 * (1 << 16); //顏色查表 static BYTE _color_table[256 * 3]; static const BYTE* color_table = &_color_table[256]; //查表 static int Ym_tableEx[256]; static int Um_blue_tableEx[256]; static int Um_green_tableEx[256]; static int Vm_green_tableEx[256]; static int Vm_red_tableEx[256]; //顏色飽和函數(shù) inline long border_color(long color) { if (color > 255) return 255; else if (color < 0) return 0; else return color; } //采用查找表進(jìn)行計(jì)算時(shí),必須運(yùn)行的初始化函數(shù) void YUV422P_To_RGB24_init() { int i; for (i = 0; i < 256 * 3; ++i) _color_table[i] = border_color(i - 256); for (i = 0; i < 256; ++i) { Ym_tableEx[i] = (csY_coeff_16 * (i - 16)) >> 16; Um_blue_tableEx[i] = (csU_blue_16 * (i - 128)) >> 16; Um_green_tableEx[i] = (csU_green_16 * (i - 128)) >> 16; Vm_green_tableEx[i] = (csV_green_16 * (i - 128)) >> 16; Vm_red_tableEx[i] = (csV_red_16 * (i - 128)) >> 16; } } inline void YUVToRGB24_Table(BYTE *p, const BYTE Y0, const BYTE Y1, const BYTE U, const BYTE V) { int Ye0 = Ym_tableEx[Y0]; int Ye1 = Ym_tableEx[Y1]; int Ue_blue = Um_blue_tableEx[U]; int Ue_green = Um_green_tableEx[U]; int Ve_green = Vm_green_tableEx[V]; int Ve_red = Vm_red_tableEx[V]; int UeVe_green = Ue_green + Ve_green; *p = color_table[(Ye0 + Ve_red)]; *(p + 1) = color_table[(Ye0 + UeVe_green)]; *(p + 2) = color_table[(Ye0 + Ue_blue)]; *(p + 3) = color_table[(Ye1 + Ve_red)]; *(p + 4) = color_table[(Ye1 + UeVe_green)]; *(p + 5) = color_table[(Ye1 + Ue_blue)]; } int YUV420P_To_RGB24(BYTE* pY, BYTE* pU, BYTE* pV, BYTE* DstPic, int width, int height) { int y, x, x_uv; BYTE* pDstLine = DstPic; if ((width % 2) != 0 || (height % 2) != 0) return (-1); for (y = 0; y < height; ++y) { //DECODE_PlanarYUV211_Common_line(pDstLine, pY, pU, pV,width); for (x = 0; x < width; x += 2) { x_uv = x >> 1; YUVToRGB24_Table(&pDstLine[x * 3], pY[x], pY[x + 1], pU[x_uv], pV[x_uv]); } pDstLine += width * 3; //RGB888 pY += width; //YUV422 if (y % 2 == 1) { pU += width / 2; pV += width / 2; } } return 0; }?

    ?

    ?? ? ?經(jīng)測(cè)試發(fā)現(xiàn),在hi3512(arm 926ej-s,267MHz)平臺(tái)上運(yùn)行時(shí),該yuv轉(zhuǎn)rgb模塊的速度不是很快,大概20幀/秒。為了提高效率,核心解碼模塊我采用了arm匯編,重寫(xiě)了YUVToRGB24_Table模塊。

    YUV420P_To_RGB24_asm.c代碼:

    [cpp:showcolumns] view plaincopyprint? ·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  • extern?int?YUVToRGB24_Assemble(unsigned?char?*pDstLine,?unsigned?char?**yuv,?int?width);??
  • //使用整數(shù)運(yùn)算(定點(diǎn)數(shù)運(yùn)算)來(lái)代替浮點(diǎn)運(yùn)算 ??
  • const?int?csY_coeff_16?=?1.164383?*?(1?<<?16);??
  • const?int?csU_blue_16?=?2.017232?*?(1?<<?16);??
  • const?int?csU_green_16?=?(-0.391762)?*?(1?<<?16);??
  • const?int?csV_green_16?=?(-0.812968)?*?(1?<<?16);??
  • const?int?csV_red_16?=?1.596027?*?(1?<<?16);??
  • //查表 ??
  • int??Ym_tableEx[256];??
  • int??Um_blue_tableEx[256];??
  • int??Um_green_tableEx[256];??
  • int??Vm_green_tableEx[256];??
  • int??Vm_red_tableEx[256];??
  • //采用查找表進(jìn)行計(jì)算時(shí),必須運(yùn)行的初始化函數(shù) ??
  • void?YUV422P_To_RGB24_init()??
  • {??
  • ????int?i;??
  • ????for?(i?=?0;?i?<?256;?++i)??
  • ????{??
  • ????????Ym_tableEx[i]=(csY_coeff_16?*?(i?-?16)?)>>16;??
  • ????????????Um_blue_tableEx[i]=(csU_blue_16?*?(i?-?128)?)>>16;??
  • ????????Um_green_tableEx[i]=(csU_green_16?*?(i?-?128)?)>>16;????????????????????
  • ????????Vm_green_tableEx[i]=(csV_green_16?*?(i?-?128)?)>>16;??
  • ????????????Vm_red_tableEx[i]=(csV_red_16?*?(i?-?128)?)>>16;??
  • ????}??
  • }??
  • int?YUV420P_To_RGB24(BYTE*?pY,?BYTE*?pU,?BYTE*?pV,?BYTE*?DstPic,?int?width,?int?height)??
  • {??
  • ????int?y;??
  • ????BYTE*?pDstLine?=?DstPic;??
  • ????BYTE*?yuv[3];??
  • ??????
  • ????if?((width?%?8)!=0)??
  • ????????return(-1);??
  • ????yuv[0]?=?pY;??
  • ????yuv[1]?=?pU;??
  • ????yuv[2]?=?pV;??
  • ????for?(y?=?height;?y?>?0;?--y)??
  • ????{??
  • ????????YUVToRGB24_Assemble(pDstLine,?yuv,?width);?//decoder?a?line?with?asm?function?in?YUVToRGB24_Assemble.s ??
  • ????????pDstLine?+=?width?*?3;??????//RGB888 ??
  • ????????yuv[0]?+=?width;????????//YUV422 ??
  • ????????if(y?%?2?==?1)?{??
  • ????????????yuv[1]?+=?width?>>?1;??
  • ????????????yuv[2]?+=?width?>>?1;??
  • ????????}??
  • ????}??
  • ????return?0;??
  • }??
  • extern int YUVToRGB24_Assemble(unsigned char *pDstLine, unsigned char **yuv, int width); //使用整數(shù)運(yùn)算(定點(diǎn)數(shù)運(yùn)算)來(lái)代替浮點(diǎn)運(yùn)算 const int csY_coeff_16 = 1.164383 * (1 << 16); const int csU_blue_16 = 2.017232 * (1 << 16); const int csU_green_16 = (-0.391762) * (1 << 16); const int csV_green_16 = (-0.812968) * (1 << 16); const int csV_red_16 = 1.596027 * (1 << 16); //查表 int Ym_tableEx[256]; int Um_blue_tableEx[256]; int Um_green_tableEx[256]; int Vm_green_tableEx[256]; int Vm_red_tableEx[256]; //采用查找表進(jìn)行計(jì)算時(shí),必須運(yùn)行的初始化函數(shù) void YUV422P_To_RGB24_init() { int i; for (i = 0; i < 256; ++i) { Ym_tableEx[i]=(csY_coeff_16 * (i - 16) )>>16; Um_blue_tableEx[i]=(csU_blue_16 * (i - 128) )>>16; Um_green_tableEx[i]=(csU_green_16 * (i - 128) )>>16; Vm_green_tableEx[i]=(csV_green_16 * (i - 128) )>>16; Vm_red_tableEx[i]=(csV_red_16 * (i - 128) )>>16; } } int YUV420P_To_RGB24(BYTE* pY, BYTE* pU, BYTE* pV, BYTE* DstPic, int width, int height) { int y; BYTE* pDstLine = DstPic; BYTE* yuv[3]; if ((width % 8)!=0) return(-1); yuv[0] = pY; yuv[1] = pU; yuv[2] = pV; for (y = height; y > 0; --y) { YUVToRGB24_Assemble(pDstLine, yuv, width); //decoder a line with asm function in YUVToRGB24_Assemble.s pDstLine += width * 3; //RGB888 yuv[0] += width; //YUV422 if(y % 2 == 1) { yuv[1] += width >> 1; yuv[2] += width >> 1; } } return 0; }?

    ?

    arm匯編核心解碼模塊:

    [cpp] view plaincopyprint?
  • .text??
  • .macro??loadu?a??
  • ????adr?r1,?UM_BLUE??
  • ????ldr?r1,?[r1]??
  • ????ldr?r9,?[r1,?/a,?lsl?#2]??
  • ????adr?r1,?UM_GREEN??
  • ????ldr?r1,?[r1]??
  • ????ldr?r10,?[r1,?/a,?lsl?#2]??
  • .endm??
  • ??????
  • .macro??loadv?a??
  • ????adr?r1,?VM_RED??
  • ????ldr?r1,?[r1]??
  • ????ldr?r11,?[r1,?/a,?lsl?#2]??
  • ????adr?r1,?VM_GREEN??
  • ????ldr?r1,?[r1]??
  • ????ldr?r12,?[r1,?/a,?lsl?#2]?????
  • .endm??
  • .macro??bound_r0??
  • ????cmp?r0,?#0x00??
  • ????movlt?r0,?#0x00??
  • ????cmp?r0,?#255??
  • ????movgt?r0,?#255??
  • .endm??
  • .globl?YUVToRGB24_Assemble??
  • @?r0?=?pDstLine;?r1?=?yuv;?r2?=?width??
  • YUVToRGB24_Assemble:??
  • ????stmdb?sp!,?{?r4,?r5,?r6,?r7,?r8,?r9,?r10,?r11,?r12,?lr}??
  • ??????
  • ????ldmia?r1,?{r1,?r3,?r4}??????@r1?=?y;?r3?=?u;?r4?=?v;??
  • ??????
  • ????mov?r5,?#0??????????@r5?=?row?counter??
  • hloop:??
  • ????ldr?r6,?[r1],?#0x04?????@load?y;?4?bytes??
  • ????ldrh?r7,?[r3],?#0x02????????@load?u;?2?bytes??
  • ????ldrh?r8,?[r4],?#0x02????????@load?v;?2?bytes??
  • ??????
  • ????stmdb?sp!,?{r0,?r1,?r2,?r3,?r4,?r5}??
  • ??????
  • ????@???temp?register:?r0,r1???rgbdata:?r2,r3,r4????
  • ????@???ye:r5??ue_blue:r9??ue_green:r10??ve_red:r11???ve_green:r12??
  • ??????
  • ????mov?r2,?#0??
  • ????mov?r3,?#0??
  • ????mov?r4,?#0??
  • ??????
  • ????@?load?ue_bule0,?ue_green0??
  • ????mov?r0,?r7??
  • ????and?r0,?r0,?#0xFF??
  • ????loadu?r0??
  • ??????
  • ????@load?ve_red0,?ve_green0??
  • ????mov?r0,?r8??
  • ????and?r0,?r0,?#0xFF??
  • ????loadv?r0??
  • ??????
  • ????@load?ye0??
  • ????mov?r0,?r6??
  • ????and?r0,?r0,?#0xFF??
  • ????adr?r1,?YM??
  • ????ldr?r1,?[r1]??
  • ????ldr?r5,?[r1,?r0,?lsl?#2]??
  • ??????
  • ????@r0?=?ye0+ve_red0??
  • ????add?r0,?r5,?r11??
  • ????bound_r0??
  • ??????
  • ????orr?r2,?r2,?r0??
  • ??????
  • ????@g0?=?ye0+ue_green0+ve_green0??
  • ????adds?r0,?r10,?r12??
  • ????adc?r0,?r0,?r5??
  • ????bound_r0??
  • ??????
  • ????orr?r2,?r2,?r0,?lsl?#8??
  • ??????
  • ????@b0?=?ye0+ue_blue0??
  • ????add?r0,?r5,?r9??
  • ????bound_r0??
  • ??????
  • ????orr?r2,?r2,?r0,?lsl?#16??
  • ??????
  • ????@load?ye1??
  • ????mov?r0,?r6,?lsr?#8??
  • ????and?r0,?r0,?#0xFF??
  • ????ldr?r5,?[r1,?r0,?lsl?#2]??
  • ??????
  • ????@r1?=?ye1+ve_red0??
  • ????add?r0,?r5,?r11??
  • ????bound_r0??
  • ??????
  • ????orr?r2,?r2,?r0,?lsl?#24??
  • ??????
  • ????@g1?=?ye1+ue_green0+ve_green0??
  • ????adds?r0,?r10,?r12??
  • ????adc?r0,?r0,?r5??
  • ????bound_r0??
  • ??????
  • ????orr?r3,?r3,?r0??
  • ??????
  • ????@b1?=?ye1+ue_blue0??
  • ????add?r0,?r5,?r9??
  • ????bound_r0??
  • ??????
  • ????orr?r3,?r3,?r0,?lsl?#8??
  • ??????
  • ????@?load?ue_bule1,?ue_green1??
  • ????mov?r0,?r7,?lsr?#8??
  • ????and?r0,?r0,?#0xFF??
  • ????loadu?r0??
  • ??????
  • ????@load?ve_red1,?ve_green1??
  • ????mov?r0,?r8,?lsr?#8??
  • ????and?r0,?r0,?#0xFF??
  • ????loadv?r0??
  • ??????
  • ????@load?ye2??
  • ????mov?r0,?r6,?lsr?#16??
  • ????and?r0,?r0,?#0xFF??
  • ????adr?r1,?YM??
  • ????ldr?r1,?[r1]??
  • ????ldr?r5,?[r1,?r0,?lsl?#2]??
  • ??????
  • ????@r2?=?ye2+ve_red1??
  • ????add?r0,?r5,?r11??
  • ????bound_r0??
  • ??????
  • ????orr?r3,?r3,?r0,?lsl?#16??
  • ??????
  • ????@g2?=?ye2+ue_green1+ve_green1??
  • ????adds?r0,?r10,?r12??
  • ????adc?r0,?r0,?r5??
  • ????bound_r0??
  • ??????
  • ????add?r3,?r3,?r0,?lsl?#24??
  • ??????
  • ????@b2?=?ye2+ue_blue1??
  • ????add?r0,?r5,?r9??
  • ????bound_r0??
  • ??????
  • ????orr?r4,?r4,?r0??
  • ??????
  • ????@load?ye3??
  • ????mov?r0,?r6,?lsr?#24??
  • ????and?r0,?r0,?#0xFF??
  • ????ldr?r5,?[r1,?r0,?lsl?#2]??
  • ??????
  • ????@r3?=?ye3+ve_red1??
  • ????add?r0,?r5,?r11??
  • ????bound_r0??
  • ??????
  • ????orr?r4,?r4,?r0,?lsl?#8??
  • ??????
  • ????@g3?=?ye3+ue_green1+ve_green1??
  • ????adds?r0,?r10,?r12??
  • ????adc?r0,?r0,?r5??
  • ????bound_r0??
  • ??????
  • ????orr?r4,?r4,?r0,?lsl?#16??
  • ??????
  • ????@b3?=?ye3+ue_blue1??
  • ????add?r0,?r5,?r9??
  • ????bound_r0??
  • ??????
  • ????orr?r4,?r4,?r0,?lsl?#24??
  • ??????
  • ????mov?r10,?r2??
  • ????mov?r11,?r3??
  • ????mov?r12,?r4???
  • ??????
  • ????ldmia?sp!,?{r0,?r1,?r2,?r3,?r4,?r5}??
  • ??????
  • ????stmia?r0!,?{r10,?r11,?r12}??
  • ??????????
  • ????add?r5,?r5,?#4??
  • ????cmp?r5,?r2??
  • ????blo?hloop??
  • ????ldmia?sp!,?{r4,?r5,?r6,?r7,?r8,?r9,?r10,?r11,?r12,?pc}??????@exit??
  • ??????
  • @tables??
  • YM??:?.long?Ym_tableEx??
  • UM_BLUE?:?.long?Um_blue_tableEx??
  • UM_GREEN:?.long?Um_green_tableEx??
  • VM_GREEN:?.long?Vm_green_tableEx??
  • VM_RED??:?.long?Vm_red_tableEx??
  • .text .macro loadu a adr r1, UM_BLUE ldr r1, [r1] ldr r9, [r1, /a, lsl #2] adr r1, UM_GREEN ldr r1, [r1] ldr r10, [r1, /a, lsl #2] .endm .macro loadv a adr r1, VM_RED ldr r1, [r1] ldr r11, [r1, /a, lsl #2] adr r1, VM_GREEN ldr r1, [r1] ldr r12, [r1, /a, lsl #2] .endm .macro bound_r0 cmp r0, #0x00 movlt r0, #0x00 cmp r0, #255 movgt r0, #255 .endm .globl YUVToRGB24_Assemble @ r0 = pDstLine; r1 = yuv; r2 = width YUVToRGB24_Assemble: stmdb sp!, { r4, r5, r6, r7, r8, r9, r10, r11, r12, lr} ldmia r1, {r1, r3, r4} @r1 = y; r3 = u; r4 = v; mov r5, #0 @r5 = row counter hloop: ldr r6, [r1], #0x04 @load y; 4 bytes ldrh r7, [r3], #0x02 @load u; 2 bytes ldrh r8, [r4], #0x02 @load v; 2 bytes stmdb sp!, {r0, r1, r2, r3, r4, r5} @ temp register: r0,r1 rgbdata: r2,r3,r4 @ ye:r5 ue_blue:r9 ue_green:r10 ve_red:r11 ve_green:r12 mov r2, #0 mov r3, #0 mov r4, #0 @ load ue_bule0, ue_green0 mov r0, r7 and r0, r0, #0xFF loadu r0 @load ve_red0, ve_green0 mov r0, r8 and r0, r0, #0xFF loadv r0 @load ye0 mov r0, r6 and r0, r0, #0xFF adr r1, YM ldr r1, [r1] ldr r5, [r1, r0, lsl #2] @r0 = ye0+ve_red0 add r0, r5, r11 bound_r0 orr r2, r2, r0 @g0 = ye0+ue_green0+ve_green0 adds r0, r10, r12 adc r0, r0, r5 bound_r0 orr r2, r2, r0, lsl #8 @b0 = ye0+ue_blue0 add r0, r5, r9 bound_r0 orr r2, r2, r0, lsl #16 @load ye1 mov r0, r6, lsr #8 and r0, r0, #0xFF ldr r5, [r1, r0, lsl #2] @r1 = ye1+ve_red0 add r0, r5, r11 bound_r0 orr r2, r2, r0, lsl #24 @g1 = ye1+ue_green0+ve_green0 adds r0, r10, r12 adc r0, r0, r5 bound_r0 orr r3, r3, r0 @b1 = ye1+ue_blue0 add r0, r5, r9 bound_r0 orr r3, r3, r0, lsl #8 @ load ue_bule1, ue_green1 mov r0, r7, lsr #8 and r0, r0, #0xFF loadu r0 @load ve_red1, ve_green1 mov r0, r8, lsr #8 and r0, r0, #0xFF loadv r0 @load ye2 mov r0, r6, lsr #16 and r0, r0, #0xFF adr r1, YM ldr r1, [r1] ldr r5, [r1, r0, lsl #2] @r2 = ye2+ve_red1 add r0, r5, r11 bound_r0 orr r3, r3, r0, lsl #16 @g2 = ye2+ue_green1+ve_green1 adds r0, r10, r12 adc r0, r0, r5 bound_r0 add r3, r3, r0, lsl #24 @b2 = ye2+ue_blue1 add r0, r5, r9 bound_r0 orr r4, r4, r0 @load ye3 mov r0, r6, lsr #24 and r0, r0, #0xFF ldr r5, [r1, r0, lsl #2] @r3 = ye3+ve_red1 add r0, r5, r11 bound_r0 orr r4, r4, r0, lsl #8 @g3 = ye3+ue_green1+ve_green1 adds r0, r10, r12 adc r0, r0, r5 bound_r0 orr r4, r4, r0, lsl #16 @b3 = ye3+ue_blue1 add r0, r5, r9 bound_r0 orr r4, r4, r0, lsl #24 mov r10, r2 mov r11, r3 mov r12, r4 ldmia sp!, {r0, r1, r2, r3, r4, r5} stmia r0!, {r10, r11, r12} add r5, r5, #4 cmp r5, r2 blo hloop ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, r12, pc} @exit @tables YM : .long Ym_tableEx UM_BLUE : .long Um_blue_tableEx UM_GREEN: .long Um_green_tableEx VM_GREEN: .long Vm_green_tableEx VM_RED : .long Vm_red_tableEx ?

    ?

    將核心模塊改成匯編后,解碼達(dá)到了50幀/秒,效率提高了60%,匯編果然強(qiáng)大,哈哈。

    總結(jié)

    以上是生活随笔為你收集整理的ARM平台YUV转RGB888(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    欧美黄色高清 | 亚洲美女精品区人人人人 | 日韩天天干 | 亚洲香蕉视频 | 国产片网站 | 日日夜夜av | 99久国产 | 久久久久久久久久久久电影 | 日韩免费观看视频 | 亚洲精品综合在线观看 | 久久国产精品免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久艹综合 | 国产精品一区二区三区久久久 | 国产小视频免费在线网址 | 激情五月播播久久久精品 | 91精品系列 | 亚洲男男gaygay无套 | 激情久久综合网 | 少妇bbw揉bbb欧美 | 国产福利电影网址 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 国产精品热视频 | 国产精品免费观看久久 | 91麻豆精品一区二区三区 | 在线黄av | 五月天婷亚洲天综合网鲁鲁鲁 | 超碰国产人人 | 日本久久久久久久久 | 亚洲人成在线电影 | 免费美女av | 日日躁夜夜躁aaaaxxxx | 中文字幕色婷婷在线视频 | 国产精品一区二区久久久久 | 日本一区二区三区视频在线播放 | 日韩视频在线一区 | 久草在线视频精品 | 香蕉网在线播放 | 成人在线观看你懂的 | 免费网站看v片在线a | 国产精品久久久久久久久免费看 | 9999毛片 | 91黄色免费看| 免费a现在观看 | 国产精品麻豆免费版 | 婷婷六月丁 | 精品日韩在线 | 免费99视频 | 狠狠干夜夜爽 | 日韩高清免费在线观看 | 一区二区三区四区在线免费观看 | 91在线观| av解说在线 | 久久亚洲视频 | 久久免费视屏 | 免费看国产一级片 | 婷婷黄色片| 国产婷婷vvvv激情久 | 久久亚洲区 | 久草视频在线免费播放 | 国产中文字幕在线观看 | 国产精品激情偷乱一区二区∴ | 亚洲精品午夜久久久 | 国产黄网在线 | 成人黄色大片网站 | 黄色大全免费观看 | 日韩av在线小说 | 久操视频在线观看 | 国产精品国产三级国产aⅴ9色 | 国产精品成久久久久 | 婷婷久操| 激情av网址 | 99久久精品国产一区二区三区 | 日韩精品中文字幕在线观看 | 热九九精品 | 成人黄色av网站 | 超碰国产97 | 91九色视频导航 | 亚洲精品在线二区 | 久久综合九色综合久久久精品综合 | 色福利网 | 在线观看亚洲 | 国产一及片 | 99久久精品国产免费看不卡 | 综合婷婷久久 | 亚洲精品视频在线观看免费 | 日韩av快播电影网 | 精品视频999 | 91精品免费在线视频 | 日本狠狠色 | 国产成人精品电影久久久 | 97免费视频在线 | 精品久久久久国产免费第一页 | 人人插人人射 | 亚洲精品视频观看 | 欧美日韩免费一区 | 国产在线播放一区二区 | 久热电影| 国产精品一区二区无线 | 国产精品一区二区三区观看 | 日韩av看片 | 国产精品一区免费在线观看 | 色姑娘综合网 | 亚洲色图激情文学 | 午夜视频在线网站 | 久久精品视频5 | 欧美久久99 | 五月婷网站 | 国产成人一区在线 | 欧美成人影音 | 亚洲午夜精品久久久 | 成人午夜精品福利免费 | 97视频在线观看免费 | 亚洲精品动漫在线 | 亚a在线 | 国产一区二区免费在线观看 | 久久五月天综合 | 97久久精品午夜一区二区 | 全黄网站 | 97超碰精品 | 久爱精品在线 | 午夜精品在线看 | 狠狠干我| 欧美a级片免费看 | 久久久久久国产精品亚洲78 | 亚洲资源在线网 | 天天操天天操天天爽 | 日日干日日操 | 五月天.com | 色999在线 | 久久久免费观看 | 久久久国产一区二区三区 | 国产福利在线不卡 | 2021国产精品 | 日韩高清免费在线 | 毛片在线播放网址 | 一区二区成人国产精品 | 欧美成人理伦片 | 日日夜夜狠狠操 | 国产日产欧美在线观看 | 国产一区久久 | 亚洲成人精品在线 | 亚洲精品小视频在线观看 | 在线网址你懂得 | 91精品国产亚洲 | 国产一区免费在线观看 | 最近2019年日本中文免费字幕 | 亚洲最新精品 | 亚一亚二国产专区 | 亚洲日韩欧美一区二区在线 | 久艹视频在线观看 | 国产精品久久久久久久久久直播 | 国内久久久 | 成年美女黄网站色大片免费看 | 日韩在线免费小视频 | 亚洲精品美女久久久久 | 色视频网站在线 | 国产视频一区二区在线播放 | www.天天射.com | 色噜噜噜噜 | 天天操夜夜叫 | 精品一二区| 国产精品18久久久久久首页狼 | 最新色站| 日韩成人在线免费观看 | 综合五月 | av高清免费在线 | 激情五月av| 日本免费一二三区 | 欧美一区二区三区四区夜夜大片 | 69热国产视频 | 91传媒在线| 久久小视频| 日日摸日日爽 | 国产色小视频 | 国产精品 日韩 | 三上悠亚一区二区在线观看 | 久久久黄色免费网站 | 久久婷婷久久 | 999国内精品永久免费视频 | 五月婷在线观看 | 国产精品99视频 | 国际精品网 | 美女久久久 | 波多野结衣视频一区二区三区 | 日韩在线中文字幕 | 亚洲国产精品人久久电影 | 天天做天天干 | 在线中文字母电影观看 | 狠狠色丁香婷婷综合最新地址 | 西西www4444大胆视频 | 在线免费观看黄色小说 | 五月婷婷丁香六月 | 久久丁香 | 国产精品第52页 | 国产精品嫩草影院99网站 | 婷婷色网 | 久久免费公开视频 | 国产精品一区二区三区视频免费 | 亚洲黄电影 | 国产亚洲精品电影 | 91一区啪爱嗯打偷拍欧美 | av激情五月 | 亚洲精品乱码白浆高清久久久久久 | 久久呀| 日日摸日日| av东方在线| 国产无遮挡又黄又爽在线观看 | 一级黄色在线免费观看 | 成人a视频片观看免费 | 久久精品国产精品亚洲精品 | 三级黄色欧美 | 午夜av影院 | 99久久这里有精品 | 久久免费视频观看 | www91在线观看 | 日韩性xxx | 婷婷丁香在线观看 | 日韩成人高清在线 | 最近日本字幕mv免费观看在线 | 亚洲 欧美 另类人妖 | 日韩精品不卡在线观看 | 美国av片在线观看 | 中文在线√天堂 | 香蕉影视在线观看 | 欧美激情精品一区 | 国产一级小视频 | 黄色三级网站在线观看 | 福利一区在线 | 日夜夜精品视频 | 亚洲国产精品va在线 | 久久福利精品 | 99爱在线 | 国产成人在线综合 | 中文字幕乱码电影 | 久草在线免费在线观看 | 黄色小说免费在线观看 | 在线你懂| 在线免费观看不卡av | 999久久久久久久久6666 | 精品久久99 | 天天干,天天草 | 五月婷婷开心 | 97人人澡人人爽人人模亚洲 | 午夜免费福利视频 | 九九久久免费 | 国产高清99 | 99爱精品视频 | 久久久久久久久久久久久9999 | 欧美一二区视频 | 91香蕉视频好色先生 | 国产精品1区 | 国产又粗又硬又长又爽的视频 | 国产小视频你懂的 | 欧美在线观看禁18 | 日韩r级在线 | 久久久网址 | 亚洲激情 欧美激情 | 正在播放 国产精品 | 亚洲乱亚洲乱妇 | 91刺激视频| 日韩在线第一区 | 99热在线这里只有精品 | av在线在线| 久久都是精品 | 91香蕉久久 | 国产精品久久在线 | 99精品免费久久久久久日本 | 99久久久久国产精品免费 | 成人午夜精品久久久久久久3d | a级国产乱理论片在线观看 特级毛片在线观看 | 久久久国产视频 | 97av色 | 超碰电影在线观看 | 精品九九九| 992tv在线| 国产色a在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 国产午夜亚洲精品 | 国产精品久久99综合免费观看尤物 | 亚洲精品一区二区18漫画 | 99超碰在线播放 | 午夜精品久久久久久久99热影院 | 狠狠操天天射 | 18网站在线观看 | 国产精品日韩在线播放 | 99视频久| 亚洲国产精品一区二区尤物区 | 国产精品久久久久久久久岛 | 最近中文字幕视频完整版 | 精品久久久久久久久亚洲 | 欧洲性视频 | 免费精品在线视频 | 在线观看www91 | 激情综合五月 | 99爱在线 | 精品久久久精品 | 久久国产精品二国产精品中国洋人 | 1024手机基地在线观看 | 99re视频在线观看 | 91精品导航 | 国产区网址 | 天堂在线成人 | 久草在线资源免费 | 国产精品一区二 | 精品视频区 | 一区精品在线 | 久久午夜电影 | 欧美一级日韩免费不卡 | 免费看成人av | 日韩mv欧美mv国产精品 | 久久精品激情 | 久久精品99国产国产 | 欧美国产精品久久久久久免费 | 久草网视频在线观看 | 久久99久久99精品中文字幕 | 精品成人国产 | 亚洲三级影院 | 蜜臀aⅴ国产精品久久久国产 | 黄色影院在线免费观看 | 亚洲黄色在线观看 | 人人爽人人片 | 激情中文字幕 | 黄色免费在线视频 | 99久久精品国产网站 | 69视频网站 | 国产专区一 | 精品在线播放视频 | 五月天丁香视频 | av丝袜在线 | 在线精品国产 | 人人爽人人爽人人 | 美女精品国产 | 在线视频日韩欧美 | 狠狠操夜夜 | 国产精品久久久久久五月尺 | 国产精品一区在线观看你懂的 | 久久精品99久久久久久2456 | 91在线视频免费91 | 国产不卡在线观看 | 国产精品麻豆一区二区三区 | 日韩一二区在线观看 | 欧美亚洲一级片 | 午夜视频福利 | 米奇狠狠狠888 | 精品久久中文 | 最新日韩电影 | 一级片视频在线 | 96精品高清视频在线观看软件特色 | 国产精品九色 | 黄色国产成人 | 国产最新视频在线观看 | www.久久精品视频 | 国产精品高潮在线观看 | 亚洲伦理电影在线 | 六月激情网| 亚洲天堂网视频在线观看 | 免费在线观看av的网站 | 在线免费观看视频一区 | 国产盗摄精品一区二区 | 亚洲精品xxxx | 日日夜夜精品网站 | www成人精品| 中文字幕av有码 | 国产黄色精品视频 | 久久精品8 | 91资源在线播放 | 91精品免费看 | 日韩久久激情 | 精品国内 | 一区二区三区四区在线免费观看 | 人人爽人人舔 | 中文字幕在线视频免费播放 | 天天操夜夜叫 | 在线成人欧美 | 日日夜夜天天综合 | 国产一线天在线观看 | 免费观看丰满少妇做爰 | 精品一区二区久久久久久久网站 | av成人在线网站 | 99视频在线看 | 91精品国产99久久久久久久 | 日韩 在线a | 国产无套精品久久久久久 | www久草| 人人澡人人爽欧一区 | 亚洲午夜久久久久久久久 | 日韩欧美国产精品 | 久久久久久久久久网站 | 免费在线中文字幕 | 亚洲精品午夜久久久久久久久久久 | 激情欧美一区二区三区 | 国产午夜一级毛片 | 成人毛片网 | 成年人电影免费看 | 亚洲视屏在线播放 | 国产精品理论视频 | 808电影免费观看三年 | 亚洲国产一区在线观看 | 夜夜夜草 | 在线免费中文字幕 | 国产精品9999久久久久仙踪林 | 亚洲做受高潮欧美裸体 | 在线观看国产亚洲 | 亚洲欧美综合精品久久成人 | 黄网站免费久久 | 免费观看午夜视频 | 亚洲理论电影网 | 麻豆影视在线观看 | 麻豆高清免费国产一区 | 成人免费在线视频观看 | 国产大陆亚洲精品国产 | 欧美一区二区精美视频 | 成人在线视频免费看 | 爱爱av在线 | 久久黄色片子 | 久久99精品国产麻豆宅宅 | 黄色一级影院 | 精品久久久久一区二区国产 | 中文超碰字幕 | 看片网站黄| 有码中文字幕在线观看 | 丁香激情综合久久伊人久久 | 国产一级免费在线观看 | 91插插插免费视频 | 精品视频在线看 | 一区二区三区四区五区在线 | 在线国产能看的 | 国产亚洲精品久久久久久网站 | 一区二区三区电影 | 成年人在线免费视频观看 | 在线综合 亚洲 欧美在线视频 | 色噜噜噜 | 国产视频18| 日韩电影在线一区 | 国产丝袜高跟 | 国产精品嫩草影院99网站 | 久久再线视频 | 视频一区二区三区视频 | 3d黄动漫免费看 | www.夜夜爱 | 99久久精品免费看国产麻豆 | 久久超碰97 | 亚洲狠狠婷婷综合久久久 | 手机看片福利 | 日本三级在线观看中文字 | 韩国av三级 | 久久精品视频免费观看 | 日韩在线电影观看 | 一区二区三区观看 | 五月天综合在线 | 97国产一区| 99久久成人| 五月婷婷综合网 | 黄色在线视频网址 | 亚州av成人 | 精品一二三四五区 | 黄色一级在线免费观看 | 超碰97中文 | 国产精品一区二区av | 日韩欧美区 | 91成版人在线观看入口 | 久久国产精品影片 | 久久激五月天综合精品 | 日韩理论在线播放 | 91在线影院| 91视频-88av | 国产成人一区二区三区 | 2019精品手机国产品在线 | 精品国产欧美一区二区 | 日韩精品2区 | 激情网站免费观看 | 日本黄色免费在线 | 国产一区二区中文字幕 | 久久男人影院 | 国产精品久久免费看 | 国产日本高清 | 中字幕视频在线永久在线观看免费 | 欧美性视频网站 | 日韩欧美精品在线观看视频 | 在线看污网站 | 精品美女国产在线 | 国产黄色免费看 | 国产免费久久久久 | 免费黄色看片 | 337p日本大胆噜噜噜噜 | 91精品国产自产在线观看 | 久久99精品久久久久蜜臀 | 日韩在线视频一区二区三区 | 国产精品久久久久久久妇 | 色资源在线观看 | 亚洲闷骚少妇在线观看网站 | 国产无套一区二区三区久久 | 日本久久综合视频 | 久久露脸国产精品 | 免费观看视频的网站 | 日韩电影一区二区三区在线观看 | 中文字幕久久精品 | a一片一级 | 顶级欧美色妇4khd | 亚洲综合视频网 | 国产欧美日韩一区 | 三级在线视频观看 | 日韩亚洲国产精品 | 久久精品网址 | 色婷婷一区 | 人人爽人人av| 日韩久久精品一区二区 | 欧美日韩调教 | 国产小视频你懂的在线 | 91精品爽啪蜜夜国产在线播放 | 视频国产精品 | 午夜精品电影一区二区在线 | 亚洲免费在线观看视频 | 99re中文字幕| 精品国产一区二区三区日日嗨 | 国产一区二区三区黄 | 在线观看亚洲国产精品 | 欧美在线观看禁18 | 亚洲第一区在线播放 | avwww在线观看 | 亚洲黄色区 | 夜夜骑日日 | 伊人天堂av | 国产护士hd高朝护士1 | 亚洲一二区精品 | 国产精品美女久久久久久网站 | 色片网站在线观看 | 美女网站一区 | 亚洲视频一 | 在线亚洲天堂网 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | av观看在线观看 | 99精品亚洲 | 亚洲香蕉在线观看 | 国产精品激情偷乱一区二区∴ | 国内久久看 | 中文字幕免 | 99在线精品免费视频九九视 | 99电影456麻豆 | 91传媒在线观看 | 爱射综合 | 91精品国产乱码久久 | 91丝袜美腿 | 极品中文字幕 | 日韩啪视频 | 色丁香久久 | 亚洲五月婷婷 | av高清影院| 日韩在线观看影院 | 久久久久久久影院 | 色五婷婷 | 国内偷拍精品视频 | 天天综合网 天天综合色 | 黄色大全免费观看 | 午夜久久美女 | 奇米影视四色8888 | 五月婷婷丁香色 | 少妇按摩av | 色婷婷狠狠干 | 欧美激情va永久在线播放 | 日韩国产精品毛片 | 亚洲视屏一区 | 免费一级片观看 | 在线观看黄色小视频 | 三级av中文字幕 | 99久久精品免费看国产麻豆 | 欧美日韩在线电影 | 91丨九色丨国产在线观看 | 国产色网站 | 丁香六月中文字幕 | 永久中文字幕 | 黄色在线免费观看网站 | 国产精品99久久久久 | 国产在线精品区 | 成人 国产 在线 | 久久久www成人免费毛片麻豆 | 国产成人在线网站 | 色婷婷综合五月 | aⅴ视频在线 | 天天操天天操天天操天天操天天操天天操 | 视频91在线 | 色播激情五月 | 有码一区二区三区 | 国产女人40精品一区毛片视频 | 国产一级片免费观看 | 日韩亚洲在线视频 | 婷婷激情小说网 | 五月婷香蕉久色在线看 | www成人av| 中文字幕资源在线 | 国内精品久久久久影院日本资源 | 久久夜夜夜 | 91网站观看 | 亚州精品成人 | 在线蜜桃视频 | 久久高清免费观看 | 一区二区三区中文字幕在线 | 香蕉视频免费在线播放 | 欧美日韩免费在线视频 | av不卡免费看 | 91桃色视频| 久久草| 日韩丝袜在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 99r在线| 久艹视频在线免费观看 | 一区 在线观看 | 2021国产在线视频 | 久青草视频在线观看 | 久久久久久欧美二区电影网 | 国产国产人免费人成免费视频 | 欧美一级片播放 | 久久婷婷一区二区三区 | 狠狠色伊人亚洲综合网站色 | 日本黄色大片免费看 | 波多野结衣一区 | 一色av| 国产资源网 | 国产vs久久 | 99资源网| av观看久久久| 精品理论片| 国产精品18久久久久vr手机版特色 | 波多野结衣在线视频一区 | 天天拍天天爽 | 97福利在线观看 | 在线欧美小视频 | 日韩精品在线视频免费观看 | 国产一区二区在线免费播放 | 亚洲精品自在在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 开心综合网 | 国产91九色视频 | 国内精品视频一区二区三区八戒 | 欧美美女激情18p | 黄色片毛片 | 五月婷丁香 | 免费在线日韩 | www.国产视频 | 欧美福利网站 | 天天综合网 天天综合色 | 九九视频免费在线观看 | 日韩大片在线看 | 六月丁香久久 | 色播激情五月 | 在线精品视频免费观看 | 蜜桃av人人夜夜澡人人爽 | 黄色大片网 | 尤物97国产精品久久精品国产 | 国产高清区 | 免费99视频| 色婷婷精品大在线视频 | 午夜黄网 | 久久99久久99久久 | 激情综合网五月婷婷 | 日韩视频在线一区 | 国产第一福利 | 亚洲精品在线免费观看视频 | 亚洲视频综合在线 | 久热爱 | 午夜视频在线观看一区 | 欧美久久影院 | 久草网视频在线观看 | 香蕉视频网站在线观看 | 国产精品久久久久久吹潮天美传媒 | 在线免费黄色av | 欧美片网站yy | 91精品视频在线播放 | 色吊丝av中文字幕 | 天天色天天色天天色 | 国产色在线观看 | 9ⅰ精品久久久久久久久中文字幕 | 91精品久久久久 | 四虎在线观看网址 | 成人黄色片免费看 | 在线成人短视频 | 中文一区二区三区在线观看 | 最近高清中文字幕 | 国产 在线 高清 精品 | 国产欧美精品在线观看 | 狠狠躁日日躁狂躁夜夜躁av | 国产一区网址 | 亚洲一区二区三区四区在线视频 | 午夜影院三级 | 亚洲精品1区2区3区 超碰成人网 | 久久福利剧场 | av一区二区三区在线观看 | 精品久久网 | 人人看人人做人人澡 | 久久婷婷一区 | 国产综合精品一区二区三区 | 97电影在线看视频 | 久草精品网 | 免费观看成人网 | 福利区在线观看 | 久久久久久免费 | 四虎视频| 国产第页 | 久草在线观看资源 | 国产精品久久久久久久婷婷 | 国产一级在线观看视频 | 国产二区视频在线观看 | 五月婷婷视频在线 | 五月婷av| 91av在| 黄色毛片视频免费 | 欧美日本不卡高清 | 日日干,天天干 | 日韩av高清在线观看 | 日本久久免费视频 | 亚洲黄a | 玖玖视频国产 | 亚洲码国产日韩欧美高潮在线播放 | 一区二区三区在线看 | 亚洲一级国产 | 精品一区91 | 在线成人高清电影 | 美女网站在线观看 | 国产精品久久久久免费 | 综合国产在线 | 色综合色综合久久综合频道88 | 超碰在线天天 | 亚洲人成免费网站 | 四虎成人精品永久免费av九九 | 国产在线p | 国产精品一区二区av麻豆 | 久草热视频 | 精品久久中文 | 国内精品久久久久影院一蜜桃 | 在线观看视频免费大全 | 香蕉在线影院 | 成人小视频在线播放 | 国产中文字幕精品 | 人人插人人草 | 久久久久久看片 | 精品产品国产在线不卡 | 一级黄色在线免费观看 | 欧美另类高清 videos | 久久免费视频网 | 国产精品高清一区二区三区 | 欧美亚洲国产一卡 | 五月婷婷一级片 | 天堂成人在线 | 免费精品在线视频 | 久久久久国产精品免费免费搜索 | 三上悠亚一区二区在线观看 | 日韩电影精品 | 91在线永久 | 成片免费观看视频 | 日日干日日色 | 亚洲理论片在线观看 | 免费看黄在线 | 九九有精品 | 精品久久久精品 | 日日弄天天弄美女bbbb | www.色爱 | 蜜臀91丨九色丨蝌蚪老版 | 亚洲国产中文字幕在线 | 国产高清在线免费观看 | 九九九九九九精品任你躁 | 国产美腿白丝袜足在线av | 成人综合日日夜夜 | 成人黄色在线视频 | 四虎影视av | 国产色网 | 麻花豆传媒mv在线观看网站 | 中文字幕久久亚洲 | 成人黄色在线观看视频 | 99视频在线看 | 夜夜躁日日躁狠狠久久av | 91久久偷偷做嫩草影院 | 精品主播网红福利资源观看 | 美女免费黄视频网站 | 国产手机在线观看视频 | 一区二区欧美激情 | 波多野结衣在线播放视频 | 欧美性黑人 | 中文字幕在线国产精品 | av片一区二区 | 天天干天天草天天爽 | 日本xxxx.com| 一 级 黄 色 片免费看的 | 免费av的网站 | 久在线 | a√国产免费a | 国产不卡一区二区视频 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 日韩一三区| 免费看的国产视频网站 | 国产香蕉视频在线观看 | 久久精品视频网 | 国产精品毛片一区二区三区 | 欧美性极品xxxx做受 | 免费福利在线播放 | 国产精品一区二区久久精品爱涩 | 黄色美女免费网站 | 色多多视频在线观看 | 九九色综合 | 久久激情片 | 久久视频国产 | 日韩精品2区 | 日本不卡123区| 天天干人人插 | 亚洲国产高清在线 | 亚洲精品久久久久999中文字幕 | 国产一区视频在线观看免费 | 九九久久久久久久久激情 | 99麻豆视频 | 久久免费福利视频 | 色综合天天干 | 日日夜夜人人精品 | 久久免费在线视频 | 久久精品观看 | 蜜臀久久99精品久久久酒店新书 | 国产精品久久久久婷婷二区次 | 夜夜操综合网 | 亚洲免费精品一区二区 | 亚洲精品免费观看 | 五月天婷婷在线播放 | 日韩免费在线观看视频 | 午夜视频日本 | 国产精品久久av | 日韩a在线看 | 亚洲精品综合一二三区在线观看 | 久久一区二区三区四区 | 国产成人久久精品亚洲 | 婷婷六月丁 | 91亚洲国产 | 欧美性成人 | 国产高清视频在线观看 | 91手机电影 | 日韩二区精品 | 成人小视频在线观看免费 | 日本最大色倩网站www | 91最新在线视频 | 免费成人av在线看 | 91传媒激情理伦片 | 国产自在线观看 | 一区 在线 影院 | 91麻豆精品国产91久久久使用方法 | 免费在线观看中文字幕 | 国产精品九九久久久久久久 | 国产在线观看一 | 97超碰在线免费 | 亚州欧美精品 | 午夜色站 | 日本在线中文 | 久草在线视频新 | 午夜久久电影网 | 精品久久一区二区三区 | 欧美一级免费黄色片 | 91.精品高清在线观看 | 久久成电影 | 狠狠干婷婷色 | 欧美另类交人妖 | 国产视频不卡一区 | 四虎影视8848dvd | avove黑丝| 五月婷婷操 | 国产一区二区三区视频在线 | 色综合五月天 | 91精品在线免费 | 亚洲高清91| 在线观看免费一区 | 高清视频一区 | 片黄色毛片黄色毛片 | 日韩精品第1页 | 婷婷久久五月天 | 国产精品激情在线观看 | 欧美成人视 | 在线亚洲欧美日韩 | 99色在线视频 | 亚洲最快最全在线视频 | 国产精品第二十页 | 香蕉久草在线 | av免费黄色 | 日本三级香港三级人妇99 | 久久久婷 | 国产一区视频在线 | 亚洲一级影院 | 最近中文字幕免费 | 成人免费视频在线观看 | 国产综合小视频 | 国产精品一区二区av影院萌芽 | 超碰av在线免费观看 | 在线观看一区二区视频 | 98福利在线 | 国产在线观看不卡 | 丁香资源影视免费观看 | 亚洲视频免费在线观看 | 在线观看中文字幕一区二区 | 色综合久久66 | 最近高清中文在线字幕在线观看 | 亚洲国产精品久久久久久 | 国产成人av一区二区三区在线观看 | 欧美日韩一区二区三区免费视频 | 中文资源在线官网 | www.色五月.com| 最近免费中文字幕大全高清10 | 天天干天天爽 | 网站免费黄色 | 欧美日韩精品在线免费观看 | av免费观看网站 | 久草在线最新视频 | 国产一级二级在线 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 久久精品日产第一区二区三区乱码 | 色偷偷网站视频 | 五月婷激情 | 狠狠色丁香久久婷婷综 | 91亚洲欧美| 综合网五月天 | 四虎国产精品免费 | 久久久久日本精品一区二区三区 | 欧美日韩视频在线播放 | 成人羞羞免费 | 国内精品二区 | 色噜噜狠狠狠狠色综合久不 | 麻豆视频免费观看 | 国内揄拍国产精品 | 国产精品第一页在线 | 射久久久| 久久精彩免费视频 | 久久综合久久综合这里只有精品 | 久久国产免费视频 | 久久伦理电影网 | 又黄又爽又刺激的视频 | 国产视频精品免费 | 欧洲精品在线视频 | 日韩在线观看中文字幕 | www.夜色321.com | 婷婷精品视频 | 成人在线中文字幕 | 91精品老司机久久一区啪 | 国产精品短视频 | 在线一区av | 久久精品中文字幕一区二区三区 | 欧美一区二区在线 | 国产资源精品 | 黄色毛片大全 | 99久久精品免费看国产一区二区三区 | 美女黄视频免费 | 99r在线播放| 在线中文字幕一区二区 | 国产精品免费久久久久 | 在线一级片 | 久久99久国产精品黄毛片入口 | 久久在线电影 | 国产又粗又长又硬免费视频 | 日本三级在线观看中文字 | 一区二区三区日韩视频在线观看 | 欧美日韩二三区 | 成人免费观看电影 | 日本韩国中文字幕 | bbbb操bbbb | 国产精品久久久久久久久久ktv | 亚洲涩涩涩| 六月丁香激情综合色啪小说 | 亚洲精品视频在线观看网站 | 91av福利视频 | 99国产精品视频免费观看一公开 | 91最新地址永久入口 | 精品国产网址 | 国产一级二级三级视频 | 日韩中文字幕一区 | 2024国产精品视频 | 青青啪| 国产色综合天天综合网 | 91视频 - v11av | 中文字幕av有码 | 国产视频日韩视频欧美视频 | 亚洲精品自拍视频在线观看 | av免费看看 | 欧美日韩高清一区二区 | 日本黄色大片儿 | 日韩激情一二三区 | 中文字幕色在线 | 日日爱999 | 一区二区三区免费在线观看视频 | 日本九九视频 | 粉嫩av一区二区三区免费 | 亚洲黄色大片 | 欧美福利久久 | 97碰碰视频 | 激情视频二区 | 免费男女羞羞的视频网站中文字幕 | av综合在线观看 | 91精品免费在线观看 | 久久激情视频网 | 成年人视频免费在线播放 | 激情 亚洲 | 人人爽人人干 | 在线观看视频色 | 尤物九九久久国产精品的分类 | 亚洲国产网站 | 99精品成人| 国产免费小视频 |