电子工程专辑互动社区>自由讨论>嵌入式系统专区>关于4412的linux系统下的硬解码jpeg
作者 问题:

关于4412的linux系统下的硬解码jpeg

发布时间:2016-1-12 下午3:31

作者: 王de生活

等级: 学有小成

积分: 459分

发帖数: 47次

网站总积分: 459分

经验值: 0.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
安卓4.03相关代码Top4412_ICS_20150413\iTop4412_ICS\device\samsung\exynos4\libhwjpeg的jpeg_hal_unit.c
内核里相关代码iTop4412_Kernel_3.0_20150403.tar(1)\iTop4412_Kernel_3.0_20150403\iTop4412_Kernel_3.0\drivers\media\video\samsung\jpeg_v2x目录下
然后把安卓里面的代码抠出来,放在linux系统里编,我代码这样写的
//头文件
#include<jpeg_hal.h>
????int?dec_fd;
????struct?v4l2_format?fmt;
????struct?jpeg_config?*config;
????struct?jpeg_buf?*out_buf;
????struct?jpeg_buf?*in_buf;
????unsigned?char?*m_tmpbuffer;

//源文件
????config=?(struct?jpeg_config?*)calloc(1,?sizeof(struct?jpeg_config));
????out_buf=(struct?jpeg_buf?*)calloc(1,?sizeof(struct?jpeg_buf));
????in_buf=(struct?jpeg_buf?*)calloc(1,?sizeof(struct?jpeg_buf));
????dec_fd=jpeghal_dec_init();
????m_tmpbuffer?=?(unsigned?char?*)?calloc(1,?(size_t)1024*768*4);
????config->scaled_height=768;
????config->scaled_width=1024;
????config->height=768;
????config->width=1024;
????config->pix.dec_fmt.out_fmt=V4L2_PIX_FMT_RGB32;
????config->pix.dec_fmt.in_fmt=V4L2_PIX_FMT_JPEG_422;
????config->sizeJpeg=1024*768;
????config->num_planes=3;
????config->enc_qual=QUALITY_LEVEL_4;
????out_buf->memory=V4L2_MEMORY_MMAP;
????in_buf->memory=V4L2_MEMORY_MMAP;
????out_buf->num_planes=3;
????in_buf->num_planes=3;
???if(?jpeghal_dec_setconfig(dec_fd,config)>=0)
???????{
????????printf("set?config?succes\n");
???????}
???if(jpeghal_set_inbuf(dec_fd,?in_buf)>=0)
???????{
????????printf("set?inbuf?succes\n");
???????}
???if(?jpeghal_set_outbuf(dec_fd,?out_buf)>=0)
??????{
???????printf("set?outbuf?succes\n");
??????}
??while(1)

????memcpy(in_buf->start[0],vd->tmpbuffer,vd->struvd->buf.bytesused);//拷贝摄像头压缩数据给解码器内存
????jpeghal_dec_exe(dec_fd,in_buf,out_buf);
????memcpy(m_tmpbuffer,out_buf->start[0],1024*768*4);

程序运行后打印信息
set?config?succes
set?inbuf?succes
set?outbuf?succes
Device?information:
??Device?path:??/dev/video5
??Frame?size:???1024x768
??Frame?rate:???30?fps
[?7331.828197]?ctx?is?null.
jpeg_v4l2_streamon:STREAMON?failed::?Device?or?resource?busy
jpeg_v4l2_streamon:STREAMON?failed::?Device?or?resource?busy
[?7346.087380]?ctx?is?null.
jpeg_v4l2_streamon:STREAMON?failed::?Device?or?resource?busy
jpeg_v4l2_streamon:STREAMON?failed::?Device?or?resource?busy
[?7361.089575]?ctx?is?null.

通过输出的m_tempbuffer我存了几张图,发现这有图像最上方的一窄条图像是正确的,其他的都不对
内核打印的信息ctx?is?null.也不知道只什么意思。。。。
有谁会这方面的给指教下,感激不尽那。。。
???标签: 4412开发板
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0) 有新回复时发送邮件通知

与?4412开发板?相关的话题
?
快速回复
用户名:?
美国的游客?????? (您将以游客身份发表,请登陆 | 注册 ) ?
标题: * 你还可以输入80
评论: * 你还可以输入10000
分享到: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
验证码: ?*?
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回嵌入式系统专区 | 返回自由讨论
本论坛仅陈述专家或个人观点,并不代表电子工程专辑网站立场。
返回论坛页首
有问题请反馈