海思3531 资料下载的vpss文件在哪

发表了一篇文章
特别说明:尊重作者的劳动成果,转载请注明出处哦~~~http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt370
1. CAP理论
2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论…
发表了一篇文章
特别说明:尊重作者的劳动成果,转载请注明出处哦~~~http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt371
两阶段提交的协议大家都比较熟悉了,解释一下每个阶段的异常处理。首先,我们需要持久化协议过程中的状态,这样如果server宕机,那么恢复的时候还能通过日志知道宕机前处于那个阶段。同时,所有对数据的修…
发表了一篇文章
特别说明:尊重作者的劳动成果,转载请注明出处哦~~~http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt373
自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止,其中动作最大的莫过于2005年发表的Fast Paxos。无论何种改进,其重点依然是在消息延迟与性能、吞吐…
<a href="j查看: 1683|回复: 6
例程解码JPEG图片出现的问题,请教各位
使用海思例程解码本地存储的.jpeg图片,如果只是用解码通道0解码,可见成功创建解码通道,而且解码。如果使用4路解码通道解码同一图片,解码通道0可以创建成功,创建解码通道1时报错:HI_MPI_VDEC_CreateChn chn 1 failed at SAMPLE_COMM_VDEC_Start: LINE: 755 with 0xaxA0058003: HI_ERR_VDEC_ILLEGAL_PARAM 参数超出合法范围。
下面是设置解码通道参数的部分函数部分,请教各位帮看看
& &for(i=0; i&s32ChnN i++)
& && &&&pstVdecChnAttr[i].enType& && & = PT_JPEG;
& && &&&pstVdecChnAttr[i].u32BufSize& &= 3 * pstSize-&u32Width * pstSize-&u32H
& && &&&pstVdecChnAttr[i].u32Priority&&= 5;
& && &&&pstVdecChnAttr[i].u32PicWidth&&= pstSize-&u32W
& && &&&pstVdecChnAttr[i].u32PicHeight = pstSize-&u32H
& && &&&if (PT_H264 == enType || PT_MP4VIDEO == enType)
& && && && &pstVdecChnAttr[i].stVdecVideoAttr.enMode=VIDEO_MODE_STREAM;
& && && && &pstVdecChnAttr[i].stVdecVideoAttr.u32RefFrameNum = 1;
& && && && &pstVdecChnAttr[i].stVdecVideoAttr.bTemporalMvpEnable = 0;
& && &&&else if (PT_JPEG == enType || PT_MJPEG == enType)
& && && && &pstVdecChnAttr-&stVdecJpegAttr.enMode = VIDEO_MODE_FRAME;
& && && && &pstVdecChnAttr-&stVdecJpegAttr.enJpegFormat = JPG_COLOR_FMT_YCBCR420;
本帖最后由 andy_mqy 于
09:28 编辑
主要是希望实现当给解码通道发送码流时,一旦码流中断,希望通道出现一个图片提示或logo图片,用海思芯片这方面是应用哪种模块实现的呢?因为输出窗口的通道数量变化,窗口的大小随之改变,需要图片也随窗口大小一同缩放,请教有这方面使用的网友指点。
一. 在图形形层上画上一个不透明的OSD上去, 用fb buffer,这个最容易实现,一般来说解码的设备不象IPC多少都是会画界面的,把这个当界面来画就是了
二. 解码结束后, 把那些vdec和vpss都解绑, 开一个JPEG vdec通道, 绑这些vpss
解码结束前
vdec0 ----& vpss0 ---& vo_chn0
vdec1 ----& vpss1 ---& vo_chn1
vdecN ----& vpssN ---& vo_chnN
解码结束时,解绑定
vdec0 -X-& vpss0 ---& vo_chn0
vdec1 -X-& vpss1 ---& vo_chn1
vdecN -X-& vpssN ---& vo_chnN
jpeg_vdec0 ---& vpss0 ---& vo_chn0
& && && && && && & |
& && && && && && & +-& vpss1 ---& vo_chn1
& && && && && && & +-& vpssN ---& vo_chnN
无需开多个jpeg vdec
这里有个问题,解码通道肯定不会同时都结束,这里可以考虑哪路结束,就解绑对应的vpss和vdec再绑到JPEG的vdec,同时再给JPEG的vdec喂一次JPEG码流,保证能显示出图
三. 解码结束后, 解绑vdec和vpss, 用HI_MPI_VPSS_SendFrame()把要显示的图发到VPSS,缺点是图不能是JPEG
一. 在图形形层上画上一个不透明的OSD上去, 用fb buffer,这个最容易实现,一般来说解码的设备 ...
感谢楼上回复,对于请教解码通道与VPSS绑定之后,设置解码通道属性时可以设置解码文件类型264或JPEG,还需要将VDEC解码通道和VPSS解绑定吗?
解码协议类型是静态属性, 不能动态设置, 只能先destroy,重新create
解码协议类型是静态属性, 不能动态设置, 只能先destroy,重新create
恩,是如楼上所说,解码通道的属性是静态的,如修改参数需要按流程一步步执行,对于解码码流中断显示图片,然后码流恢复再进行解码264码流,这种方式不知道是否合适,看到MPP中介绍区域region的,有位图填充,但是这个位图填充好像要设置填充区域,对于解码通道而言,窗口的大小是随解码通道数量变化的,不知道哪种是合适的方法。
region的方式的话可能要用到 vpss上叠加 OVERLAY/OVERLAYEX(前者只能是vpss channel 0)
如果是显示码流中断的话,建议使用fb来画吧, 不然vdec要不断destroy/create
Powered by海思平台3519画中画
一直在做海思的rtsp直播和录播,要在源实现画中画和两个通道画面合成编码h264输出。。
&在合成上面走了好多弯路。。也找不到具体的指导。。只能瞎折腾。。。刚开始用海思的wbc回写来实现,结果坑爹啊。。在搞好的时候。。发现分辨率提不高。。。只能720&576的分辨率。。一提高就出错。。。终于在手册的VO_WBC_ATTR_S结构体说明上看到。。。“视频回写图像大小。最大为720&576,最小为32&32。动态属性”这么一句话。。。神坑。。。。
回写这条路没法走了。。。只能用刚开始想到的,觉得最傻的办法做了。。。自己去到每一张yuv数据进行合成后再发送给通道编码。。。这样做肯定是可以的。。就是比较担心效率会不会跟不上,哎,最后还是证实了我的想法。。合成的时候效率根本跟不上,画面帧率较低,CPU占用高。。。就是不知道该如何提高,还是说有什么更好的方法。。纠结啊。。
首先说一下要实现的功能:
合成功能是把两个通道,两张分别是960*1080的图片进行合成,合成一张的图片,然后进行编码输出
画中画功能就是在一个的图片上覆盖上一张320*240的图像。然后进行编码
下面就说说我的实现方法吧:
我是要从vpss上取数据,取数据的例子在还是的sdk中vpss_dump.c上,我就在这个基础上修改好了。
首先我要做的是取出两个通道的yuv数据,然后再进行合成处理。
取数据的步骤如下:
HI_MPI_VPSS_SetChnMode()函数设置属性,这里我需要设置两个vpss通道的属性,分别是VpssGrp
=1,&VpssChn = 1;&VpssGrp2 =
0,VpssChn2 = 1;
设置好属性后就设置数据深度
HI_MPI_VPSS_SetDepth()函数设置数据深度,参数u32Depth的取值范围是0到8,具体解释在海思的官方手册上有,这个主要是控制通道缓冲的图片数量,默认是0不缓冲直接发送到编码通道,这个属性设置越大延时相对的也会提高。。我设置位1,只缓冲一张。
接着下一步就是要申请一个缓冲块了,这个是给画面合成使用的,画中画不需要一个新的缓冲块,画面合成需要一个1080P的缓冲块存放两个960*1080的画面进行合成。
HI_MPI_VB_GetBlock()申请一块缓冲块,在公共缓冲池中获取
HI_MPI_VB_Handle2PoolId()获取缓冲池的ID
HI_MPI_VB_Handle2PhysAddr()获取缓冲块的物理地址,这个是给还是硬件使用的地址,我们不能在程序中直接对物理地址进行操作
HI_MPI_SYS_Mmap()获取缓冲块的虚拟地址,这个是我们进行写入操作的操作地址
获取这些地址主要是为了进行写操作和填充VIDEO_FRAME_INFO_S结构体,这个结构体是提供给编码通道的参数
这里就配置好了合成画面需要的参数,如果是画中画这些均无需配置,然后下一步就是通过HI_MPI_VPSS_UserGetFrame()来获取图像数据,
获取到图像数据后调用sample_yuv_dump或sample_yuv_dump_pip来进行合成操作或者是画中画操作。
操作完成后需要通过HI_MPI_VPSS_UserReleaseFrame来进行释放。
sample_yuv_dump函数为画面合成的实现,主要实现方法是通过对yuv数据每行进行拼接来实现的。
3531的获取到的视频数据是SemiPlanar420格式,这种格式的存放顺序是Y数据独立存放,而UV数据交错存放,这样就比较好处理了,可以直接对UV一起拼接,而无需独立拼接U和V
sample_yuv_dump_pip函数是处理画中画的,画中画的处理比较简单,但是位置计算有点摸不着头脑。。后来省事,就直接在0,0开始和1080结尾往会倒,取边界位置,这样UV数据的位置可以直接得出。。。。
画中画处理无需申请新的地址,直接把小分辨率的往高分辨率位置写入即可
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。君,已阅读到文档的结尾了呢~~
Hi编解码处理器Hi,H264,处理器,H264,编解码,h264
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Hi编解码处理器
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口>> sample_comm_vpss.c
sample_comm_vpss.c ( 文件浏览 )
/******************************************************************************
Some simple Hisilicon HI3531 video input functions.
Copyright (C), , Hisilicon Tech. Co., Ltd.
******************************************************************************
Modification:
2011-2 Created
******************************************************************************/
#ifdef __cplusplus
#if __cplusplus
extern &C&{
#endif /* End of #ifdef __cplusplus */
#include &stdio.h&
#include &stdlib.h&
#include &string.h&
#include &sys/types.h&
#include &sys/stat.h&
#include &sys/ioctl.h&
#include &sys/poll.h&
#include &sys/time.h&
#include &fcntl.h&
#include &errno.h&
#include &pthread.h&
#include &math.h&
#include &unistd.h&
#include &signal.h&
#include &sample_comm.h&
/******************************************************************************
* function : Set vpss system memory location
******************************************************************************/
HI_S32 SAMPLE_COMM_VPSS_MemConfig()
HI_CHAR * pcMmzN
MPP_CHN_S stMppChnV
HI_S32 s32Ret,
/*vpss group max is 64, not need config vpss chn.*/
for(i=0;i&64;i++)
stMppChnVpss.enModId
= HI_ID_VPSS;
stMppChnVpss.s32DevId =
stMppChnVpss.s32ChnId = 0;
if(0 == (i%2))
pcMmzName = NULL;
pcMmzName = &ddr1&;
s32Ret = HI_MPI_SYS_SetMemConf(&stMppChnVpss, pcMmzName);
if (HI_SUCCESS != s32Ret)
SAMPLE_PRT(&Vpss HI_MPI_SYS_SetMemConf ERR !\n&);
return HI_FAILURE;
return HI_SUCCESS;
HI_S32 SAMPLE_COMM_VPSS_StartGroup(VPSS_GRP VpssGrp, VPSS_GRP_ATTR_S *pstVpssGrpAttr)
HI_S32 s32R
VPSS_GRP_PARAM_S stVpssP
if (VpssGrp & 0 || VpssGrp & VPSS_MAX_GRP_NUM)
printf(&VpssGrp%d is out of rang. \n&, VpssGrp);
return HI_FAILURE;
if (HI_NULL == pstVpssGrpAttr)
printf(&null ptr,line%d. \n&, __LINE__);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_CreateGrp(VpssGrp, pstVpssGrpAttr);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_CreateGrp failed with %#x!\n&, s32Ret);
return HI_FAILURE;
/*** set vpss param ***/
s32Ret = HI_MPI_VPSS_GetGrpParam(VpssGrp, &stVpssParam);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&failed with %#x!\n&, s32Ret);
return HI_FAILURE;
stVpssParam.u32MotionThresh = 0;
s32Ret = HI_MPI_VPSS_SetGrpParam(VpssGrp, &stVpssParam);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&failed with %#x!\n&, s32Ret);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_StartGrp(VpssGrp);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_StartGrp failed with %#x\n&, s32Ret);
return HI_FAILURE;
return HI_SUCCESS;
HI_S32 SAMPLE_COMM_VPSS_EnableChn(VPSS_GRP VpssGrp, VPSS_CHN VpssChn,
VPSS_CHN_ATTR_S *pstVpssChnAttr,
VPSS_CHN_MODE_S *pstVpssChnMode,
VPSS_EXT_CHN_ATTR_S *pstVpssExtChnAttr)
HI_S32 s32R
if (VpssGrp & 0 || VpssGrp & VPSS_MAX_GRP_NUM)
printf(&VpssGrp%d is out of rang[0,%d]. \n&, VpssGrp, VPSS_MAX_GRP_NUM);
return HI_FAILURE;
if (VpssChn & 0 || VpssChn & VPSS_MAX_CHN_NUM)
printf(&VpssChn%d is out of rang[0,%d]. \n&, VpssChn, VPSS_MAX_CHN_NUM);
return HI_FAILURE;
if (HI_NULL == pstVpssChnAttr && HI_NULL == pstVpssExtChnAttr)
printf(&null ptr,line%d. \n&, __LINE__);
return HI_FAILURE;
if (VpssChn & VPSS_MAX_PHY_CHN_NUM)
s32Ret = HI_MPI_VPSS_SetChnAttr(VpssGrp, VpssChn, pstVpssChnAttr);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_SetChnAttr failed with %#x\n&, s32Ret);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_SetExtChnAttr(VpssGrp, VpssChn, pstVpssExtChnAttr);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&%s failed with %#x\n&, __FUNCTION__, s32Ret);
return HI_FAILURE;
if (VpssChn & VPSS_MAX_PHY_CHN_NUM && HI_NULL != pstVpssChnMode)
s32Ret = HI_MPI_VPSS_SetChnMode(VpssGrp, VpssChn, pstVpssChnMode);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&%s failed with %#x\n&, __FUNCTION__, s32Ret);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_EnableChn(VpssGrp, VpssChn);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_EnableChn failed with %#x\n&, s32Ret);
return HI_FAILURE;
return HI_SUCCESS;
HI_S32 SAMPLE_COMM_VPSS_StopGroup(VPSS_GRP VpssGrp)
HI_S32 s32R
if (VpssGrp & 0 || VpssGrp & VPSS_MAX_GRP_NUM)
printf(&VpssGrp%d is out of rang[0,%d]. \n&, VpssGrp, VPSS_MAX_GRP_NUM);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_StopGrp(VpssGrp);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&%s failed with %#x\n&, __FUNCTION__, s32Ret);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_DestroyGrp(VpssGrp);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&%s failed with %#x\n&, __FUNCTION__, s32Ret);
return HI_FAILURE;
return HI_SUCCESS;
HI_S32 SAMPLE_COMM_VPSS_DisableChn(VPSS_GRP VpssGrp, VPSS_CHN VpssChn)
HI_S32 s32R
if (VpssGrp & 0 || VpssGrp & VPSS_MAX_GRP_NUM)
printf(&VpssGrp%d is out of rang[0,%d]. \n&, VpssGrp, VPSS_MAX_GRP_NUM);
return HI_FAILURE;
if (VpssChn & 0 || VpssChn & VPSS_MAX_CHN_NUM)
printf(&VpssChn%d is out of rang[0,%d]. \n&, VpssChn, VPSS_MAX_CHN_NUM);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_DisableChn(VpssGrp, VpssChn);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&%s failed with %#x\n&, __FUNCTION__, s32Ret);
return HI_FAILURE;
return HI_SUCCESS;
/*****************************************************************************
* function : start vpss. VPSS chn with frame
*****************************************************************************/
HI_S32 SAMPLE_COMM_VPSS_Start(HI_S32 s32GrpCnt, SIZE_S *pstSize, HI_S32 s32ChnCnt,VPSS_GRP_ATTR_S *pstVpssGrpAttr)
VPSS_GRP VpssG
VPSS_CHN VpssC
VPSS_GRP_ATTR_S stGrpA
VPSS_CHN_ATTR_S stChnA
VPSS_GRP_PARAM_S stVpssP
HI_S32 s32R
/*** Set Vpss Grp Attr ***/
if(NULL == pstVpssGrpAttr)
stGrpAttr.u32MaxW = pstSize-&u32W
stGrpAttr.u32MaxH = pstSize-&u32H
stGrpAttr.bDrEn = HI_FALSE;
stGrpAttr.bDbEn = HI_FALSE;
stGrpAttr.bIeEn = HI_TRUE;
stGrpAttr.bNrEn = HI_TRUE;
stGrpAttr.bHistEn = HI_FALSE;
stGrpAttr.enDieMode = VPSS_DIE_MODE_AUTO;
stGrpAttr.enPixFmt = SAMPLE_PIXEL_FORMAT;
memcpy(&stGrpAttr,pstVpssGrpAttr,sizeof(VPSS_GRP_ATTR_S));
for(i=0; i&s32GrpC i++)
/*** create vpss group ***/
s32Ret = HI_MPI_VPSS_CreateGrp(VpssGrp, &stGrpAttr);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_CreateGrp failed with %#x!\n&, s32Ret);
return HI_FAILURE;
/*** set vpss param ***/
s32Ret = HI_MPI_VPSS_GetGrpParam(VpssGrp, &stVpssParam);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&failed with %#x!\n&, s32Ret);
return HI_FAILURE;
stVpssParam.u32MotionThresh = 0;
s32Ret = HI_MPI_VPSS_SetGrpParam(VpssGrp, &stVpssParam);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&failed with %#x!\n&, s32Ret);
return HI_FAILURE;
/*** enable vpss chn, with frame ***/
for(j=0; j&s32ChnC j++)
/* Set Vpss Chn attr */
stChnAttr.bSpEn = HI_FALSE;
stChnAttr.bFrameEn = HI_TRUE;
stChnAttr.stFrame.u32Color[VPSS_FRAME_WORK_LEFT] = 0xff00;
stChnAttr.stFrame.u32Color[VPSS_FRAME_WORK_RIGHT] = 0xff00;
stChnAttr.stFrame.u32Color[VPSS_FRAME_WORK_BOTTOM] = 0xff00;
stChnAttr.stFrame.u32Color[VPSS_FRAME_WORK_TOP] = 0xff00;
stChnAttr.stFrame.u32Width[VPSS_FRAME_WORK_LEFT] = 2;
stChnAttr.stFrame.u32Width[VPSS_FRAME_WORK_RIGHT] = 2;
stChnAttr.stFrame.u32Width[VPSS_FRAME_WORK_TOP] = 2;
stChnAttr.stFrame.u32Width[VPSS_FRAME_WORK_BOTTOM] = 2;
s32Ret = HI_MPI_VPSS_SetChnAttr(VpssGrp, VpssChn, &stChnAttr);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_SetChnAttr failed with %#x\n&, s32Ret);
return HI_FAILURE;
s32Ret = HI_MPI_VPSS_EnableChn(VpssGrp, VpssChn);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_EnableChn failed with %#x\n&, s32Ret);
return HI_FAILURE;
/*** start vpss group ***/
s32Ret = HI_MPI_VPSS_StartGrp(VpssGrp);
if (s32Ret != HI_SUCCESS)
SAMPLE_PRT(&HI_MPI_VPSS_StartGrp failed with %#x\n&, s32Ret);
return HI_FAILURE;
return HI_SUCCESS;
/*****************************************************************************
* function : disable vi dev
*****************************************************************************/
(文件超长,未完全显示,请下载后阅读剩余部分)
展开> <收缩
下载源码到电脑,阅读使用更方便
还剩0行未阅读,继续阅读 ▼
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
577.00 B29-09-16 20:39
sample_audio947.72 kB29-09-16 20:39
16.25 kB29-09-16 20:39
sample_audio.o22.99 kB29-09-16 20:39
10.06 kB29-09-16 20:40
2.78 kB29-09-16 20:40
loadbmp.o16.07 kB29-09-16 21:53
11.60 kB29-09-16 20:40
27.01 kB29-09-16 20:40
sample_comm_audio.o37.96 kB29-09-16 21:53
23.32 kB29-09-16 20:40
sample_comm_isp.o9.25 kB29-09-16 21:53
11.25 kB29-09-16 20:40
sample_comm_sys.o16.34 kB29-09-16 21:53
17.08 kB29-09-16 20:40
sample_comm_vda.o23.07 kB29-09-16 21:53
39.94 kB29-09-16 22:49
46.50 kB29-09-16 20:40
9.55 kB29-09-16 20:40
11.03 kB29-09-16 20:40
678.00 B29-09-16 20:39
0.bmp77.68 kB29-09-16 20:39
1.bmp77.68 kB29-09-16 20:39
cursor.bmp6.80 kB29-09-16 20:39
sample_hifb969.66 kB29-09-16 20:39
30.76 kB29-09-16 20:39
sample_hifb.o39.43 kB29-09-16 20:39
577.00 B29-09-16 20:40
sample_iq971.86 kB29-09-16 20:40
21.62 kB29-09-16 20:40
sample_iq.o21.66 kB29-09-16 20:40
1.yuv3.19 MB29-09-16 20:40
b.yuv5.08 MB29-09-16 20:40
23.00 B29-09-16 20:40
frame.yuv1.32 MB29-09-16 20:40
BG.yuv4.00 kB29-09-16 20:39
FG.yuv4.00 kB29-09-16 20:39
668.00 B29-09-16 20:40
3.23 kB29-09-16 20:40
22.72 kB29-09-16 20:40
15.29 kB29-09-16 20:40
34.97 kB29-09-16 20:40
10.47 kB29-09-16 20:40
11.69 kB29-09-16 20:40
test.yuv607.50 kB29-09-16 20:40
5.34 kB29-09-16 20:40
2.36 kB29-09-16 20:40
22.43 kB29-09-16 20:40
691.00 B29-09-16 20:40
3.27 kB29-09-16 22:47
6.65 kB29-09-16 20:40
577.00 B29-09-16 20:39
mm.bmp75.99 kB29-09-16 20:39
sample_region964.24 kB29-09-16 20:39
40.09 kB29-09-16 20:39
sample_region.o46.21 kB29-09-16 20:39
408.00 B29-09-16 20:39
apple.bits4.52 kB29-09-16 20:39
apple.bmp9.05 kB29-09-16 20:39
applets.bits4.52 kB29-09-16 20:39
applets.bmp9.05 kB29-09-16 20:39
background.bits810.02 kB29-09-16 20:39
background.bmp1.19 MB29-09-16 20:39
calendar.bits4.52 kB29-09-16 20:39
calendar.bmp9.05 kB29-09-16 20:39
foot.bits4.52 kB29-09-16 20:39
foot.bmp6.80 kB29-09-16 20:39
gimp.bits4.52 kB29-09-16 20:39
gimp.bmp9.05 kB29-09-16 20:39
gmush.bits4.52 kB29-09-16 20:39
gmush.bmp9.05 kB29-09-16 20:39
gsame.bits4.52 kB29-09-16 20:39
gsame.bmp9.05 kB29-09-16 20:39
keys.bits4.52 kB29-09-16 20:39
keys.bmp9.05 kB29-09-16 20:39
sample_tde960.15 kB29-09-16 20:39
12.40 kB29-09-16 20:39
sample_tde.o28.36 kB29-09-16 20:39
577.00 B29-09-16 20:40
sample_vda942.27 kB29-09-16 20:40
8.72 kB29-09-16 20:40
sample_vda.o17.65 kB29-09-16 20:40
577.00 B29-09-16 20:39
18.28 kB29-09-16 20:39
sample_venc.o24.53 kB29-09-16 21:53
577.00 B29-09-16 20:40
sample_vio949.89 kB29-09-16 20:40
27.09 kB29-09-16 20:40
sample_vio.o29.44 kB29-09-16 20:40
&res&0.00 B29-09-16 20:39
&input&0.00 B29-09-16 20:39
&output&0.00 B29-09-16 20:40
&windows(VC2008)&0.00 B29-09-16 20:40
&res&0.00 B29-09-16 20:39
&audio&0.00 B29-09-16 20:39
&common&0.00 B29-09-16 21:53
&hifb&0.00 B29-09-16 20:39
&iq&0.00 B29-09-16 20:40
&ive&0.00 B29-09-16 20:40
&region&0.00 B29-09-16 20:39
&tde&0.00 B29-09-16 20:39
&vda&0.00 B29-09-16 20:40
&venc&0.00 B29-09-16 21:53
&vio&0.00 B29-09-16 20:40
&sample&0.00 B29-09-16 21:53
Sponsored links
评价成功,多谢!
下载sample.rar
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足
支付宝优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:116.177ms 5.8
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧}

我要回帖

更多关于 海思制作文件系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信