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

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

?? dev_mem.c

?? 基于Linux的ffmepg decoder
?? C
字號:
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>

#include "fmp4.h"

static int mem_fd = -1;
static int mp4_fd = -1;

// --------------------------------------------------------------------
//	return
//		-1 ==> failure
//		other ==> mapped virtual address
// --------------------------------------------------------------------
void *ioremap(unsigned long physaddr, unsigned size)
{
    unsigned long page_addr, ofs_addr, reg, pgmask;
    unsigned long reg_mem = 0;

    /*
     * looks like mmap wants aligned addresses?
     */
    pgmask = getpagesize()-1;
    page_addr = physaddr & ~pgmask;
    ofs_addr  = physaddr & pgmask;

    /*
     * Don't forget O_SYNC, esp. if address is in RAM region.
     * Note: if you do know you'll access in Read Only mode,
     *    pass O_RDONLY to open, and PROT_READ only to mmap
     */
    if (mem_fd < 0) {
        mem_fd = open("/dev/mem", O_RDWR|O_SYNC);
        if (mem_fd < 0) {
			perror("ioremap: can't open /dev/mem");
            return (void *)-1;
        }
    }

    /* memory map */
    reg_mem = (unsigned long)mmap(
        (caddr_t)reg_mem,
        size+ofs_addr,
        PROT_READ|PROT_WRITE,
        MAP_SHARED,
        mem_fd,
        page_addr
    );
    if (reg_mem == (unsigned long)MAP_FAILED) {
        perror("ioremap: mmap error");
		return (void *)-1;
    }

    reg = reg_mem + ofs_addr;
    return (void *)reg;
}


int iounmap(void *start, size_t length)
{
    unsigned long ofs_addr;
    ofs_addr = (unsigned long)start & (getpagesize()-1);

    /* do some cleanup when you're done with it */
    return munmap((void*)start-ofs_addr, length+ofs_addr);
}



// --------------------------------------------------------------------
//	return
//		0 ==> success
//		-1 ==> failure
// --------------------------------------------------------------------
int dma_malloc(int size, unsigned long *phys, void **virt)
{
	unsigned int ret_virt;
	
    if (mp4_fd == -1) {
        mp4_fd = open("/dev/mp4", O_RDWR);
        if (mp4_fd < 0) {
			perror("dma_malloc: can't open /dev/mp4");
            return -1;
        }
    }
	*phys = ioctl(mp4_fd, MP4_IOCTL_MALLOC, size);
	*virt = ret_virt = ioremap(*phys, size);
	return 0;
}


void dma_free(int size, unsigned long phys, void *virt)
{
	iounmap(virt, size);
	ioctl(mp4_fd, MP4_IOCTL_FREE, phys);
}


///#define TEST_MMAP

#if defined(TEST_MMAP)

#define CPE_MPEG4_BASE		0x90e00000
#define CPE_MPEG4_SIZE		0x100000

int main()
{
	unsigned char *base_address;
	int i;
	unsigned long phys;
	unsigned int *virt;

	base_address = ioremap(CPE_MPEG4_BASE, CPE_MPEG4_SIZE);
	if (base_address == (void *)-1)
	{
		printf("map failure\n");
	}
	for (i=0; i<0x100; ++i)
	{
		printf("%02x ", base_address[i]);
		if (i%16==15)
		{
			printf("\n");
		}
		base_address[i] += 1;
	}
	iounmap(base_address, CPE_MPEG4_SIZE);
	printf("end 1\n");

	dma_malloc(1024, &phys, (void **)&virt);
	printf("phys: 0x%x\n", (unsigned int)phys);
	printf("virt: 0x%x\n", (unsigned int)virt);
	for (i=0; i<16; ++i)
	{
		printf("%02x ", virt[i]);
		if (i%16==15)
		{
			printf("\n");
		}
		virt[i] = i;
	}
	dma_free(1024, phys, virt);
	

	return 0;
}

#endif // TEST_MMAP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区美女| 国产九色sp调教91| 色偷偷久久一区二区三区| 久久久久九九视频| 麻豆91精品视频| 精品少妇一区二区三区免费观看| 免费观看91视频大全| 日韩一区二区视频| 国产一区二区三区免费观看| 欧美经典一区二区| 96av麻豆蜜桃一区二区| 一区二区三区四区亚洲| 91精品午夜视频| 国产一区二区视频在线播放| 中文字幕五月欧美| 欧美三级电影网站| 狠狠色综合日日| 国产精品三级电影| 欧美日韩精品二区第二页| 久久福利视频一区二区| 国产精品区一区二区三| 欧美视频一区在线观看| 韩国欧美国产1区| 亚洲丝袜另类动漫二区| 欧美综合在线视频| 国产毛片精品视频| 亚洲综合久久久久| 26uuu国产一区二区三区| 91无套直看片红桃| 男人的天堂久久精品| 国产精品久99| 日韩一区二区免费高清| 成人av在线影院| 日本sm残虐另类| 中文字幕日韩一区| 欧美成人精品高清在线播放| 91原创在线视频| 韩国欧美国产1区| 亚洲r级在线视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲国产成人porn| 久久久亚洲欧洲日产国码αv| 色av成人天堂桃色av| 国产剧情av麻豆香蕉精品| 亚洲午夜羞羞片| 综合久久综合久久| 久久婷婷综合激情| 欧美区在线观看| 一本大道久久a久久综合| 精品综合久久久久久8888| 一区二区三区**美女毛片| 中文字幕va一区二区三区| 欧美电影免费观看高清完整版在 | 91亚洲精品乱码久久久久久蜜桃 | 欧美精品在线观看播放| 国产成人精品网址| 日本va欧美va欧美va精品| 一区二区久久久| 中文字幕在线不卡| 国产午夜亚洲精品不卡| 欧美成人a在线| 91麻豆精品国产91久久久使用方法| 91丨九色丨尤物| 成人一区二区三区视频| 久草中文综合在线| 五月激情综合网| 亚洲一二三专区| 国产精品久久久久久久久图文区 | 国产精品丝袜91| 久久久久国产免费免费| 精品电影一区二区三区| 欧美一级日韩免费不卡| 欧美精品日韩综合在线| 欧美日韩精品欧美日韩精品 | 欧美一级专区免费大片| 精品视频一区二区不卡| 欧美色倩网站大全免费| 欧美色图免费看| 欧美丰满高潮xxxx喷水动漫| 欧美日韩一区二区三区免费看| 色菇凉天天综合网| 欧美在线一二三| 欧美日韩国产小视频| 91精品国产aⅴ一区二区| 欧美性大战久久久久久久蜜臀 | 天天综合天天综合色| 亚洲成av人片在线观看无码| 亚洲成人一二三| 日韩中文字幕91| 另类中文字幕网| 国产精品一区久久久久| 成人性生交大片免费看中文| 成人在线视频首页| 色噜噜狠狠色综合中国| 欧美日韩黄视频| 精品国产乱码久久久久久久| 久久精品在这里| 1024精品合集| 亚洲自拍偷拍图区| 日本欧美一区二区在线观看| 久久成人综合网| 成人性视频免费网站| 在线免费观看一区| 欧美一级黄色录像| 国产三级欧美三级| 亚洲欧美一区二区三区孕妇| 亚洲成人自拍网| 久久99在线观看| av电影在线观看一区| 欧美人伦禁忌dvd放荡欲情| 精品国产乱码久久久久久影片| 中文字幕精品一区二区精品绿巨人 | 欧美情侣在线播放| 久久婷婷久久一区二区三区| 中文字幕日韩精品一区| 天使萌一区二区三区免费观看| 久久99精品一区二区三区三区| 福利91精品一区二区三区| 欧美影片第一页| 久久先锋影音av鲁色资源| 亚洲精品午夜久久久| 久久99精品久久久久婷婷| 99久久精品国产一区| 欧美一区二区三区人| 国产精品久久毛片| 免费欧美高清视频| 69久久99精品久久久久婷婷| 2021国产精品久久精品| 一区二区三区视频在线观看| 韩国中文字幕2020精品| 欧美在线免费播放| 久久老女人爱爱| 性做久久久久久久久| 成人一区在线观看| 9191久久久久久久久久久| 国产精品国产三级国产普通话99 | 日韩午夜激情电影| 久久精品在线免费观看| 日韩精品一级中文字幕精品视频免费观看 | 国产精品久久毛片av大全日韩| 青草av.久久免费一区| 91在线观看下载| 国产亚洲欧美一区在线观看| 天天射综合影视| 色综合激情五月| 中文字幕欧美三区| 青青草91视频| 精品视频色一区| 亚洲欧美日韩在线播放| 国产乱码精品一区二区三区五月婷| 色视频成人在线观看免| 久久伊人蜜桃av一区二区| 日本三级亚洲精品| 欧美二区乱c少妇| 亚洲国产综合色| 色av综合在线| 一区二区三区在线观看欧美 | 欧美探花视频资源| 亚洲精品视频观看| 成人av在线一区二区三区| 国产丝袜欧美中文另类| 美国毛片一区二区三区| 欧美丰满高潮xxxx喷水动漫| 亚洲国产aⅴ成人精品无吗| 色噜噜狠狠色综合中国| 亚洲精品国产一区二区精华液 | 美女视频一区二区| 欧美精品电影在线播放| 亚洲免费三区一区二区| 91在线视频官网| 亚洲人吸女人奶水| 色综合久久综合| 一区二区三区日韩欧美精品| 色8久久精品久久久久久蜜| 亚洲精品免费在线观看| 日本国产一区二区| 亚洲国产美女搞黄色| 欧美日韩一区二区三区免费看| 亚洲国产视频在线| 欧美日韩一区二区三区四区| 日韩高清中文字幕一区| 欧美一级一区二区| 国产麻豆成人精品| 亚洲欧洲日产国产综合网| 一本到一区二区三区| 亚洲成在线观看| 日韩一区二区视频在线观看| 国产一区二区视频在线| 国产亚洲欧美日韩日本| av在线一区二区| 亚洲成人综合网站| 精品国一区二区三区| 国产成人免费视频一区| 中文字幕在线观看一区二区| 一本色道久久综合亚洲91| 亚洲一区二区三区视频在线播放| 欧美三级电影一区| 九九九久久久精品| 成人欧美一区二区三区| 欧美日本不卡视频|