
multimedia
nwpu053883
这个作者很懒,什么都没留下…
展开
-
jpeg header parser
根据itu-t81及其他jpeg文档, 写了个header解析。 主要从SOF0段解析出width和height。比较常见的marker及顺序如下:TLA Name Hex Size Required Special Notes SOI start of image 0xFF 0xD8 This tag doesnothave a ...原创 2020-01-11 22:07:33 · 2052 阅读 · 0 评论 -
Jpeg layout
The File LayoutA JPEG file is partitioned by markers. Each marker is immediately preceded by an all 1 byte (0xff). Although there are more markers, We will discuss the following markers:...转载 2020-01-11 21:15:55 · 282 阅读 · 0 评论 -
关于yuv的色彩
https://multimedia.cx/eggs/yuv-and-rgb/挖坑...原创 2020-01-02 15:45:51 · 176 阅读 · 0 评论 -
vivi驱动编写(三)
第二篇vivi驱动, demo效果只是静止的绿色图像。。。所以稍微改良下... 代码如下:#include <linux/module.h>#include <linux/kernel.h>#include <linux/printk.h>#include <linux/platform_device.h>#include <...原创 2020-01-02 14:41:56 · 231 阅读 · 0 评论 -
vivi驱动编写(二)
实现vivi - Virtual Video驱动。以下显示一个全绿屏界面。#include <linux/module.h>#include <linux/kernel.h>#include <linux/printk.h>#include <linux/platform_device.h>#include <linux/vi...原创 2020-01-02 12:48:53 · 411 阅读 · 1 评论 -
vivi驱动编写(一)
vivi 驱动, 即Virtual Video驱动。基于v4l2驱动框架。最新版本支持例如capture(类似摄像头, 采集, 解码等) - 最终通过/dev/videoX设备获得yuv图像数据。看协议描述:Video capture devices sample an analog video signal and store the digitized images in m...原创 2020-01-01 14:27:28 · 864 阅读 · 1 评论 -
为什么YUV全为0的图像是绿色的
Q: 为什么YUV 全为0 的图像是绿色的A: 图像中常见的颜色编码有两种方式。 1. YUV - 灰度(亮度)+ 色差分量 2. RGB - 红绿蓝 三色分量通常电视, 视频等都采用yuv编码方式, 由于人类对灰度/亮度比较敏感, 而对色差分量不是很敏感。所以通过yuv编码方式, 可以减少U, V 也即Cb, Cr分量的数量。故yuv编码方式常见有...原创 2019-12-27 16:24:23 · 8873 阅读 · 1 评论 -
关于vb2_buffer_done
直接贴代码, 907 void vb2_buffer_done(struct vb2_buffer *vb, enum vb2_buffer_state state) ...原创 2019-12-26 21:26:25 · 1470 阅读 · 0 评论 -
关于vb2_buffer的操作描述
以vivi驱动为例,vb2_buffer为vivi设备内部使用的帧缓存描述, (用户态用v4l2_buffer来描述)在vb2_queue队列中, 有两个队列, 分别为queued_list和done_list,前者用于存放用户enqueue的buffer, 后者用于存放处理好等待dequeue的buffer。Q: 贴段代码... 875 static void b...原创 2019-12-26 19:38:09 · 1811 阅读 · 1 评论 -
v4l2 vivi驱动分析
v4l2驱动框架相对还是挺复杂的,最好的参考例子有v4l2-pci-skeleton.c和vivi (Virtual Video)其中vivi在最新的Linux 4.xx版本也变得非常复杂。所以采用Linux-3.16.74版本作为学习...1. 该版本没有使用platform_driver框架, 故模块初始化入口函数vivi_init直接进行video设备的注册...原创 2019-12-26 15:52:58 · 1111 阅读 · 0 评论 -
Linux v4l2框架相关
记录下linux v4l2相关知识。1. v4l2 - Video For Linux 2 version.即内核中关于视频(audio, radio其实也可以用) 处理的驱动框架。常见如摄像头采集, 编解码器等 都可以用v4l2框架。2. 用户态编程网络上有很多相关文档。和大部分linux设备驱动一样, 用户态主要操作有open, close, read, wr...原创 2019-12-26 14:33:39 · 484 阅读 · 0 评论 -
图像编解码 - 熵编码
关于熵编码 - 如jpeg中使用的霍夫曼编码, h264中使用的指数哥伦布编码等。挖个坑...贴个好文https://www.jianshu.com/p/c4e3c6ae8a36原创 2019-12-18 20:43:49 · 806 阅读 · 0 评论 -
uvc协议相关
记录点uvc协议相关...uvc: USB Video Class如 usb webcam, digital camcorders, analog video converts, analog and digital televisions tuners等等。常见的就usb摄像头/webcam。* 按功能/接口分, 通常一个uvc设备, 必定有包含1个VideoControl...原创 2019-11-26 21:20:24 · 1763 阅读 · 0 评论 -
图像, 视频编码技术
Jpeg:https://www.cnblogs.com/Arvin-JIN/p/9133745.htmlhttp://www.robertstocker.co.uk/jpeg/jpeg_new_1.htm视频:https://www.cnblogs.com/xkfz007/archive/2012/08/12/2613690.html转载 2019-10-31 20:23:25 · 405 阅读 · 0 评论