STM32实现USB Video Class开始干活了

2019-12-19 18:08发布

终于出来图像,虽然图像混乱,问题还很多,但它干活了!发贴自我庆贺!

(原文件名:Capture.jpg)

真实意义的USB摄像头,OV7670拍摄图像,STM32 JPEG编码。用USB虚拟串口传到PC端显示早就OK,移植到USB Video Class就是不工作!
描述符和流控制耗了N多天,找不到什么问题,UVCView分析通过,Bushound也看到完整的JPEG数据,甚至用自己写的DirectX接口Video Capture程序调试,都能发现有逐帧的数据上来,可是显示就是黑屏一个。
无计加无聊之下去翻看JPEG的编码,对照JPEG文件。JPEG Encoder是自己写的,为了节省Bytes,有些可选段没加上。乱调整一下,把省略了的APP0段加上,突然发现有图像出来了!他NN的熊。
回头一想也好理解,JPEG标准中APP0段是可选的,没有它单独的图像也能显示;视频流模式,USB Video Class设备把数据流丢给DirectX Render,后者要从每帧图像中找APP0段中的JFIF标记,或者,在数据流出错后,新的帧到来,找到JFIF标记就丢给JPEG解码器。没有JFIF标记,初始化(用上次的标记?)错,或者中间数据流出错,DirectX Render就直接罢工!显示黑屏。这个APP0段说是可选,实际是必选才行!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
97条回答
newhz
1楼-- · 2019-12-19 21:39
NB
chunxx
2楼-- · 2019-12-19 21:47
才几天就被踩到水底了,这里好热闹呀!
仍然没有进展。jpeg压缩改成YUV420格式,也不起作用,好在这个工作不算浪费。
这东西找不到可抄抄改改的例子,似乎感兴趣的人不多,或者不愿开放,只能一点点摸索。希望能遇到有经验或感兴趣的人交流。抛砖引玉,上传JPEG编码的源程序:
点击此处下载 ourdev_703933JSK7EE.rar(文件大小:11K) (原文件名:ejpeg.rar)
无删节版,中文字幕。自己写的,以前在DM642上用的,已验证。
越做越觉得这个东西水很深,一己之力做不了多少,决定开源,但不是一次上传结果,每调妥一块就上传一块,逐步完善。
chunxx
3楼-- · 2019-12-20 00:49
 精彩回答 2  元偷偷看……
windboy
4楼-- · 2019-12-20 02:09
马克
wuguoyan
5楼-- · 2019-12-20 02:40
支持~~~
dingliming
6楼-- · 2019-12-20 04:06
mark

一周热门 更多>