UVC规范(USB摄像头)
+ -

UVC H265视频帧描述符

2021-11-04 1341 0

H265视频帧描述符H264视频帧描述符结构体一样,只是参数不同而已。

H265视频格式结构体定义


typedef struct _H265_VIDEO_FORMAT_DESCRIPTOR
{
    UINT8  bLength;  
    UINT8  bDescriptorType;
    UINT8  bDescriptorSubtype;
    UINT8  bFormatIndex;
    UINT8  bNumberFrameDescriptor;
    GUID   guidFormat; //UINT[16]
    UINT8  bBitsPerPixel;
    UINT8  bDefaultFrameIndex;
    UINT8  bAspectRatioX;
    UINT8  bAspectRatioY;
    UINT8  bmInterlaceFlags;
    UINT8  bCopyProtect;
    UINT8  bVariableSize;    
}H265_VIDEO_FORMAT_DESCRIPTOR;

bLength                  : 0x1C (28 bytes)
bDescriptorType          : 0x24 (Video Streaming Interface)
bDescriptorSubtype       : 0x10 (Frame Based Format Type)
bFormatIndex             : 0x04 (4)
bNumFrameDescriptors     : 0x03 (3)
guidFormat               : {35363248-0000-0010-8000-00AA00389B71} (H265)
bBitsPerPixel            : 0x10 (16 bits)
bDefaultFrameIndex       : 0x03 (3)
bAspectRatioX            : 0x00
bAspectRatioY            : 0x00
bmInterlaceFlags         : 0x00
 D0 IL stream or variable: 0 (no)
 D1 Fields per frame     : 0 (2 fields)
 D2 Field 1 first        : 0 (no)
 D3 Reserved             : 0
 D4..5 Field pattern     : 0 (Field 1 only)
 D6..7 Display Mode      : 0 (Bob only)
bCopyProtect             : 0x00 (No restrictions)
bVariableSize            : 0x01 (Variable Size)
Data (HexDump)           : 1C 24 10 04 03 48 32 36 35 00 00 10 00 80 00 00   .$...H265.......
                           AA 00 38 9B 71 10 03 00 00 00 00 01               ..8.q.......

OUR_GUID_ENTRY(MEDIASUBTYPE_H265,
0x35363248, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71)

H265视频帧格式

#pragma pack(1)
typedef struct _H265_VIDEO_FRAME_DESCRIPTOR
{
    UINT8  bLength;
    UINT8  bDescriptorType;
    UINT8  bDescriptorSubtype;
    UINT8  bFrameIndex;
    UINT8  bmCapabilities;
    UINT16 wWidth;
    UINT16 wHeight;
    UINT32 dwMinBitRate;
    UINT32 dwMaxBitRate;
    UINT32 dwDefaultFrameInterval;
    UINT8  bFrameIntervalType;
    UINT32 dwBytesPerLine;
    UINT32 adwFrameInterval[1];
} H265_VIDEO_FRAME_DESCRIPTOR;
#pragma pack()

        ----- VS Frame Based Payload Frame Type Descriptor ----
bLength                  : 0x26 (38 bytes)
bDescriptorType          : 0x24 (Video Streaming Interface)
bDescriptorSubtype       : 0x11 (Frame Based Payload Frame Type)
bFrameIndex              : 0x03
bmCapabilities           : 0x00
wWidth                   : 0x0780 (1920)
wHeight                  : 0x0438 (1080)
dwMinBitRate             : 0x13C68000 (331776000 bps -> 41.472 MB/s)
dwMaxBitRate             : 0x3B538000 (995328000 bps -> 124.416 MB/s)
dwDefaultFrameInterval   : 0x00051615 (33.3333 ms -> 30.000 fps)
bFrameIntervalType       : 0x03 (3 discrete frame intervals supported)
dwBytesPerLine           : 0x00 (0 bytes)
adwFrameInterval[1]      : 0x00051615 (33.3333 ms -> 30.000 fps)
adwFrameInterval[2]      : 0x000A2C2A (66.6666 ms -> 15.000 fps)
adwFrameInterval[3]      : 0x000F4240 (100.0000 ms -> 10.000 fps)
Data (HexDump)           : 26 24 11 03 00 80 07 38 04 00 80 C6 13 00 80 53   &$.....8.......S
                           3B 15 16 05 00 03 00 00 00 00 15 16 05 00 2A 2C   ;.............*,
                           0A 00 40 42 0F 00                                 ..@B..

bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x24 (Video Streaming Interface)
bDescriptorSubtype       : 0x11 (Frame Based Payload Frame Type)
bFrameIndex              : 0x01
bmCapabilities           : 0x00
wWidth                   : 0x0F00 (3840)
wHeight                  : 0x0870 (2160)
dwMinBitRate             : 0x00002000 (8192 bps -> 1000 Bytes/s)
dwMaxBitRate             : 0x0C000000 (201326592 bps -> 25.165 MB/s)
dwDefaultFrameInterval   : 0x00051615 (33.3333 ms -> 30.000 fps)
bFrameIntervalType       : 0x02 (2 discrete frame intervals supported)
dwBytesPerLine           : 0x00 (0 bytes)
adwFrameInterval[1]      : 0x00051615 (33.3333 ms -> 30.000 fps)
adwFrameInterval[2]      : 0x00061A80 (40.0000 ms -> 25.000 fps)
Data (HexDump)           : 22 24 11 01 00 00 0F 70 08 00 20 00 00 00 00 00   "$.....p.. .....
                           0C 15 16 05 00 02 00 00 00 00 15 16 05 00 80 1A   ................
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

UVC Windows下UVC摄像头数据分析
这里我们分析一款UVC摄像头来进行数据分析。环境:win10 x64工具:bushound,usbviewer将摄像头插入PC后,打开usbviewer工具,可以看到关于此摄像头的相关信息。可以看到,这个摄像头其实是一个USB复合设备,所以其对应的系统驱动为USBCCGP,然后再由USB复合设......
UVC YUV2、NV12、M420、I420无压缩视频帧描述符GUID
无压缩数据格式的官方文档为:USB_Video_Payload_Uncompressed_1.5.pdf,其下载地址为:https://www.usb.org/sites/default/files/USB_Video_Class_1_5.zip UVC无压缩的数据格式支持四种数据格式类型,见下表......
UVC MJPEG视频帧描述符
Motion-JPEG视频格式描述符OffsetFieldSizeValueDescription0bLength1Number此描述符的大小,以字节为单位:111bDescriptorType1ConstantCS_INTERFACE描述符类型。......
UVC 视频帧描述符
视频帧描述符(简称帧描述符)用于描述解码后的视频以及基于帧格式支持的静止图像帧尺寸和其他帧特定特性。帧描述符(如果需要)紧跟在相关的格式之后.UVC已经定义的数据帧格式类型见下表(以VS_FRAME开头):描述符类型值VS_UNDEFINED0x00VS_INPUT_HEADER0x01VS_OUT......
UVC H264视频帧描述符
H264视频格式结构体定义typedef struct _H264_VIDEO_FORMAT_DESCRIPTOR{ UINT8 bLength; UINT8 bDescriptorType; UINT8 bDescriptorSubtype; UIN......
UVC H265视频帧描述符
H265视频帧描述符和H264视频帧描述符结构体一样,只是参数不同而已。H265视频格式结构体定义typedef struct _H265_VIDEO_FORMAT_DESCRIPTOR{ UINT8 bLength; UINT8 bDescriptorType; ......
H265(HEVC)深度解析
本文的转载得到了零声教育的QQ同意。数字视频的超高清潮流奔腾向前,帧率从30 fps向60fps、120fps甚至240fps进发,与此同时,物理媒介日薄西山,内容正通过有形无形的网络在世界各个角落的终端设备上传递。高度密集的数据给带宽和存储带来巨大挑战,当前主流的H.264开始不敷应用,而新......
视频编码格式分类
本文的转载得到了零声教育的QQ同意。跟音频编码一样,视频编码最重要的目的也是为了进行数据压缩,以此来降低数据传输和存储成本。以一路分辨率 720x1280(常说的 720P),帧率为 30 fps 的视频为例,如果不经过编码压缩,直接传输或存储原始的 RGB 数据,对应的码率是:720 * ......
UVC相机配置描述符-BULK批量传输-NV12-H265
格式概述格式分辨率NV12640X360x30H2653840X2160X30传输方式批量传输,BULK模式功能支持处理单元D0:亮度D1:对比度D2:色调D3:饱和D4:锐度扩展单元选择子9-11D0的选择子为1视频流端点地址0x81其它附......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!