blessed
发表于 2013-7-27 08:58:43
ashwing 发表于 2013-7-27 07:23 static/image/common/back.gif
终于运行起来 但是屏是花的
摄像头是支持MJPEG的
YUV420sp的输入是可以的,具体的你可以先查看camera支持什么格式的输出,然后修改V4L2那个部分的像素格式设置。
ashwing
发表于 2013-7-27 19:35:18
blessed 发表于 2013-7-27 08:58 static/image/common/back.gif
YUV420sp的输入是可以的,具体的你可以先查看camera支持什么格式的输出,然后修改V4L2那个部分的像素格式 ...
我用enm 查了摄像头只支持MJPEG
不知道该怎么修改对这些格式一无所知。。。。
ashwing
发表于 2013-7-27 19:35:44
blessed 发表于 2013-7-27 08:58 static/image/common/back.gif
YUV420sp的输入是可以的,具体的你可以先查看camera支持什么格式的输出,然后修改V4L2那个部分的像素格式 ...
我用enm 查了摄像头只支持MJPEG
不知道该怎么修改对这些格式一无所知。。。。
blessed
发表于 2013-7-29 11:55:58
ashwing 发表于 2013-7-27 19:35 static/image/common/back.gif
我用enm 查了摄像头只支持MJPEG
不知道该怎么修改对这些格式一无所知。。。。 ...
网上有很多可以查看camera支持像素格式的代码,你随便找找,现在的camera很少只支持一种像素格式的
ashwing
发表于 2013-7-29 17:35:27
我直接在你代码里 加了个 ENM SMT的函数查的
然后又用MOTION测试了确实只有MJPEG工作、。。、
08年的老摄像头了
ashwing
发表于 2013-7-29 17:37:39
VENC_DEVICE * CedarvEncInit(__u32 width, __u32 height, __u32 avg_bit_rate, __s32 (*GetFrmBufCB)(__s32 uParam1,void *pFrmBufInfo))
请教下这个函数 是怎么调用的
最后个回调 总是出错
g_pCedarV = CedarvEncInit(mVideoWidth,mVideoHeight,1024*1024,GetFrmBufCB);
编译可以通过 运行出现
E/osal_linux:(329) flush cache fail,range error
谢谢指教
ashwing
发表于 2013-7-29 17:44:17
void queryvideo()
{
int ret = -1;
struct v4l2_fmtdesc fmt;
memset(&fmt, 0, sizeof(fmt));
fmt.index = 0;
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
while ((ret = ioctl(fd, VIDIOC_ENUM_FMT, &fmt)) == 0)
{
fmt.index++;
printf("{ pixelformat = ''%c%c%c%c'', description = ''%s'' }\n",
fmt.pixelformat & 0xFF, (fmt.pixelformat >> 8) & 0xFF, (fmt.pixelformat >> 16) & 0xFF,
(fmt.pixelformat >> 24) & 0xFF, fmt.description);
}
printf("OVER");
}
用这个查询的
blessed
发表于 2013-7-30 10:52:05
ashwing 发表于 2013-7-29 17:37 static/image/common/back.gif
VENC_DEVICE * CedarvEncInit(__u32 width, __u32 height, __u32 avg_bit_rate, __s32 (*GetFrmBufCB)(__s3 ...
你肯定是参数没有设置对,把第三个参数设置为原先的3*512*1024试试。
你这个出错是直接退出程序吗?如果不是的话,只要参数设置没有问题,应该可以的
另外,这个出错的信息应该来自库里面的函数。
ashwing
发表于 2013-7-30 11:51:58
恩我现在能跑起来只是屏幕分4等分只显示2格 花屏而已
其中一段循环的 输出
GetPreviewFrame failed
v4l2 should not release the same buffer twice continuous: index : 0
VIDIOC_QBUF failed, id: 0
get para success
set video layer param
success set para
get para success
set video layer param
success set para
layer0 open hdl:101,ret:0 w:320 h:240
layer0 open hdl:102,ret:0 w:320 h:240
layer0 open hdl:0,ret:-1 w:320 h:240
Open video display layer failed!
ashwing
发表于 2013-7-30 11:52:14
不管怎么样谢谢你耐心的指导
页:
1
[2]
3
4
5
6
7
8
9
10
11