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

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

?? image.c

?? 基于Linux的ffmepg decoder
?? C
字號:
#include <stdlib.h>#include <string.h>				// memcpy, memset#include <math.h>#include "../portab.h"#include "image.h"//#include "../divx4.h"//#include "utils/mem_align.h"#include "../define.h"#define SAFETY	64#define EDGE_SIZE2  (EDGE_SIZE/2)#if 0int32_timage_create(IMAGE * image,			 uint32_t edged_width,			 uint32_t edged_height){	const uint32_t edged_width2 = edged_width / 2;	const uint32_t edged_height2 = edged_height / 2;	image->y =		mp4_malloc(edged_width * (edged_height + 1) + SAFETY, CACHE_LINE);	if (image->y == NULL) {		return -1;	}#ifdef fpga//	for (i = 0; i < edged_width * edged_height + SAFETY; i++) {//		image->y[i] = 0;//	}#endif	image->u = mp4_malloc(edged_width2 * edged_height2 + 4*SAFETY, CACHE_LINE);	if (image->u == NULL) {		mp4_free(image->y);		return -1;	}#ifdef fpga	//	for (i = 0; i < edged_width2 * edged_height2 + 4*SAFETY; i++) {//		image->u[i] = 0;//	}#endif	image->v = mp4_malloc(edged_width2 * edged_height2 + 4*SAFETY, CACHE_LINE);	if (image->v == NULL) {		mp4_free(image->u);		mp4_free(image->y);		return -1;	}#ifdef fpga//	for (i = 0; i < edged_width2 * edged_height2 + 4*SAFETY; i++) {//		image->v[i] = 0;//	}#endif	image->y += EDGE_SIZE * edged_width + EDGE_SIZE;	image->u += EDGE_SIZE2 * edged_width2 + EDGE_SIZE2;	image->v += EDGE_SIZE2 * edged_width2 + EDGE_SIZE2;	return 0;}voidimage_destroy(IMAGE * image,			  uint32_t edged_width,			  uint32_t edged_height){	const uint32_t edged_width2 = edged_width / 2;	if (image->y) {		mp4_free(image->y - (EDGE_SIZE * edged_width + EDGE_SIZE));	}	if (image->u) {		mp4_free(image->u - (EDGE_SIZE2 * edged_width2 + EDGE_SIZE2));	}	if (image->v) {		mp4_free(image->v - (EDGE_SIZE2 * edged_width2 + EDGE_SIZE2));	}}#endif/*size creat:	  EDGE_SIZE		mb_width * PIXEL_Y		    |	   /							      \		/	\/								\		-------------------------------------		|	|								|\		|	|								| EDGE_SIZE		|	|								|/		-------------------------------------			|								|\			|								| \			|								|			|								|			|								|			|								|			|								|  mb_height * PIXEL_Y			|								|			|								|			|								|			|								| /			|								|/			-------------------------------------			|								|	|\			|								|	| EDGE_SIZE			|								|	|/			-------------------------------------											\	/											EDGE_SIZE*/int32_timage_create(IMAGE * image,			 uint32_t mbwidth,			 uint32_t mbheight,	 		DECODER * ptdec){	DMA_MALLOC_PTR pfnDmaMalloc = ptdec->pfnDmaMalloc;	DMA_FREE_PTR pfnDmaFree = ptdec->pfnDmaFree;	uint8_t u8align = ptdec->u32CacheAlign;	image->y_virt = (uint8_t *)pfnDmaMalloc(				mbwidth * (2 + mbheight)  * PIXEL_Y * PIXEL_Y+ 2 * EDGE_SIZE * EDGE_SIZE,				u8align, u8align, (void **)&image->y_phy);	if (image->y_virt == NULL) {		return -1;	}	image->u_virt = (uint8_t *)pfnDmaMalloc(				mbwidth * (2 + mbheight)  * PIXEL_U  * PIXEL_U + 2 * EDGE_SIZE2 * EDGE_SIZE2,				u8align, u8align, (void **)&image->u_phy);	if (image->u_virt == NULL) {		pfnDmaFree(image->y_virt, image->y_phy);		return -1;	}	image->v_virt = (uint8_t *)pfnDmaMalloc(				mbwidth * (2 + mbheight)  * PIXEL_V  * PIXEL_V + 2 * EDGE_SIZE2 * EDGE_SIZE2,				u8align, u8align, (void **)&image->v_phy);	if (image->v_virt == NULL) {		pfnDmaFree(image->y_virt, image->y_phy);		pfnDmaFree(image->u_virt, image->u_phy);		return -1;	}	image->y_virt += mbwidth * PIXEL_Y * EDGE_SIZE + EDGE_SIZE * EDGE_SIZE;	image->u_virt += mbwidth * PIXEL_U * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2;	image->v_virt += mbwidth * PIXEL_V * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2;	image->y_phy += mbwidth * PIXEL_Y * EDGE_SIZE + EDGE_SIZE * EDGE_SIZE;	image->u_phy += mbwidth * PIXEL_U * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2;	image->v_phy += mbwidth * PIXEL_V * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2;	return 0;}voidimage_destroy(IMAGE * image,			uint32_t mbwidth,	 		DECODER * ptdec){	DMA_FREE_PTR pfnDmaFree = ptdec->pfnDmaFree;	if (image->y_virt) {		pfnDmaFree(image->y_virt - (mbwidth * PIXEL_Y * EDGE_SIZE + EDGE_SIZE * EDGE_SIZE),				    image->y_phy- (mbwidth * PIXEL_Y * EDGE_SIZE + EDGE_SIZE * EDGE_SIZE));	}	if (image->u_virt) {		pfnDmaFree(image->u_virt - (mbwidth * PIXEL_U * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2),				   image->u_phy - (mbwidth * PIXEL_U * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2));	}	if (image->v_virt) {		pfnDmaFree(image->v_virt - (mbwidth * PIXEL_V * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2),				   image->v_phy - (mbwidth * PIXEL_V * EDGE_SIZE2 + EDGE_SIZE2 * EDGE_SIZE2));	}}voidimage_swap_dec(IMAGE * image1,		   IMAGE * image2){	uint8_t *tmp;	tmp = image1->y_virt;	image1->y_virt = image2->y_virt;	image2->y_virt = tmp;	tmp = image1->u_virt;	image1->u_virt = image2->u_virt;	image2->u_virt = tmp;	tmp = image1->v_virt;	image1->v_virt = image2->v_virt;	image2->v_virt = tmp;	tmp = image1->y_phy;	image1->y_phy = image2->y_phy;	image2->y_phy = tmp;	tmp = image1->u_phy;	image1->u_phy = image2->u_phy;	image2->u_phy = tmp;	tmp = image1->v_phy;	image1->v_phy = image2->v_phy;	image2->v_phy = tmp;}#if 0voidimage_copy(IMAGE * image1,		   IMAGE * image2,		   uint32_t edged_width,		   uint32_t height){	memcpy(image1->y, image2->y, edged_width * height);	memcpy(image1->u, image2->u, edged_width * height / 4);	memcpy(image1->v, image2->v, edged_width * height / 4);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线综合+亚洲+欧美中文字幕| 成人免费毛片片v| 麻豆精品视频在线观看视频| 国产成人在线网站| 在线欧美小视频| 精品999久久久| 亚洲影视资源网| 国内精品国产成人| 欧美系列亚洲系列| 中文字幕一区二区三区在线观看| 天天色综合成人网| 在线观看国产日韩| 国产精品福利一区二区| 精品一区二区三区久久| 欧美蜜桃一区二区三区 | 视频一区欧美日韩| 国产精品亚洲综合一区在线观看| 欧美欧美欧美欧美| 亚洲欧美激情一区二区| 国产成人精品亚洲777人妖| 91精品国产综合久久久久久| 亚洲精品中文在线影院| 成人少妇影院yyyy| 国产日韩欧美不卡| 国产1区2区3区精品美女| 日韩欧美国产高清| 美女网站色91| 日韩欧美一区中文| 日韩福利电影在线观看| 欧美日韩激情一区| 亚洲成人免费电影| 7777女厕盗摄久久久| 午夜视频久久久久久| 欧美日韩一区二区三区在线看 | 日韩精品亚洲一区二区三区免费| 国产精品自拍毛片| 日韩精品中午字幕| 精东粉嫩av免费一区二区三区| 7777精品伊人久久久大香线蕉最新版 | 91美女片黄在线| 亚洲一区二区在线播放相泽| 在线一区二区三区四区| 婷婷中文字幕一区三区| 欧美一个色资源| 国产乱码精品一品二品| 国产精品乱人伦中文| 91视频.com| 天堂在线亚洲视频| 欧美电视剧在线看免费| 国产高清不卡一区二区| 国产精品国产自产拍高清av| 99久久99精品久久久久久 | 午夜精品免费在线| 日韩午夜小视频| 福利电影一区二区| 一区二区三区在线视频免费| 欧美巨大另类极品videosbest| 日韩黄色一级片| 日韩亚洲欧美一区二区三区| 国产一区 二区 三区一级| 粉嫩av一区二区三区粉嫩| 久久久精品天堂| 一本到一区二区三区| 亚洲一区免费观看| 久久久久久久久99精品| 色综合久久88色综合天天6 | 亚洲狠狠爱一区二区三区| 7878成人国产在线观看| 国内精品视频一区二区三区八戒| 欧美韩日一区二区三区| 欧美私模裸体表演在线观看| 麻豆国产精品777777在线| 国产精品成人网| 欧美一区二区三区视频在线观看| 国产在线精品视频| 亚洲国产成人精品视频| 中文字幕欧美激情| 日韩欧美国产麻豆| 欧美写真视频网站| av午夜一区麻豆| 精品无码三级在线观看视频| 亚洲国产一区视频| 亚洲欧洲日韩综合一区二区| 日韩视频在线你懂得| 91免费看片在线观看| 国产综合一区二区| 日韩vs国产vs欧美| 亚洲最新视频在线播放| 久久久久高清精品| 日韩视频免费观看高清完整版在线观看 | 亚洲综合区在线| 国产精品三级在线观看| 日韩欧美高清dvd碟片| 欧美日韩一区视频| 色综合色狠狠天天综合色| 成人在线综合网站| 国产激情偷乱视频一区二区三区| 日本免费新一区视频| 亚洲综合精品自拍| 1区2区3区欧美| 欧美国产日韩精品免费观看| 2019国产精品| 欧美成人欧美edvon| 777a∨成人精品桃花网| 制服丝袜一区二区三区| 欧美日韩国产高清一区二区三区| 91免费看视频| 一本色道亚洲精品aⅴ| 99re成人精品视频| 91视频一区二区| 成人av在线播放网站| 国内精品嫩模私拍在线| 久久99日本精品| 国产一区二区三区免费| 国产乱子轮精品视频| 国产精品综合在线视频| 国产在线视频一区二区| 国产一区二区三区日韩| 国产成人在线视频网址| 成人高清免费观看| 99精品一区二区| 在线欧美日韩国产| 8v天堂国产在线一区二区| 欧美一二三在线| 国产亚洲一区二区在线观看| 国产欧美精品在线观看| 日本一二三四高清不卡| 国产精品卡一卡二| **欧美大码日韩| 一区二区三区国产豹纹内裤在线| 亚洲一区在线播放| 久久精品国产**网站演员| 久久国内精品自在自线400部| 国产呦萝稀缺另类资源| 成人黄色a**站在线观看| 91黄色在线观看| 日韩一区二区在线播放| 国产拍揄自揄精品视频麻豆| 亚洲色大成网站www久久九九| 一二三区精品视频| 看电视剧不卡顿的网站| 国产·精品毛片| 欧洲人成人精品| 日韩欧美一二三区| 国产精品美女久久久久久久网站| 亚洲美女视频在线观看| 日韩和的一区二区| 国产精品一二三区在线| 欧美性感一类影片在线播放| 精品区一区二区| 亚洲精品国久久99热| 日本视频一区二区三区| 波多野洁衣一区| 欧美久久久久久久久中文字幕| 国产亚洲精品免费| 午夜欧美电影在线观看| 成人综合在线观看| 日韩视频免费直播| 亚洲欧洲日韩在线| 激情文学综合网| 欧美体内she精高潮| www国产精品av| 午夜av区久久| 99riav一区二区三区| 精品国产一区二区三区忘忧草 | 色综合色狠狠综合色| 欧美电影免费观看高清完整版 | 国产丝袜欧美中文另类| 亚洲国产成人av好男人在线观看| 国产精品乡下勾搭老头1| 欧美日韩中文字幕精品| 国产精品乱码一区二区三区软件 | 一区二区不卡在线视频 午夜欧美不卡在| 免费在线一区观看| 91福利区一区二区三区| 国产精品沙发午睡系列990531| 另类小说视频一区二区| 欧美亚日韩国产aⅴ精品中极品| 久久久99精品免费观看| 美女mm1313爽爽久久久蜜臀| 欧美日韩卡一卡二| 一区二区在线观看视频在线观看| 国产成人久久精品77777最新版本| 日韩一区二区三免费高清| 亚洲成人自拍网| 在线观看不卡视频| 亚洲黄色尤物视频| 99精品在线免费| 国产精品成人在线观看 | 久久99精品国产.久久久久| 欧美色图免费看| 亚洲国产精品一区二区久久恐怖片| av中文字幕在线不卡| 国产精品成人在线观看| av中文字幕不卡| 国产精品国产自产拍在线| 99久久久国产精品| 中文字幕一区二区三区蜜月| 99久久综合色| 亚洲乱码国产乱码精品精的特点|