VC1
来源:互联网 发布:js缺省参数 编辑:程序博客网 时间:2024/06/18 15:46
VC1
VC1是微软联合一些公司共同贡献形成的视频编解码协议协议内容类似H264(现代的视频协议基本都类似H264)协议内容存在歧义的 全部引用英文原文
解码
解码vc1的裸码流
layout层级结构
类似h264 分为sequence picture slices macroblocks blocks 区别点是多了一个entry-point层级结构: decode顺序 sequence -> entry-point -> picture -> slices -> macroblocks
layout说明
entry-point仅在advanced profile下存在slice: a slice comprises one or more contiguous rows of macroblocksfield: 场模式存在的情况下 picture layer 内还有 field layer,在 slices layer之上
profile
1. 比较简洁 仅分为 simple,main and advanced三种 ffmpeg的VC1解码器多包含一种complex 对应的是wmv92. simple和main: 一个sequence包含一或多个编码picture3. advanced: 一个sequence包含一或多个entry-point segments,其中的每个entry-point segments又包含一或多个编码picture4. simple和main profile只支持帧模式编码 advanced除了帧模式还支持场模式编码5. 每个profile 还区分为不同的level
分帧
不同语法单元的起始码:
1. sequence header为0x00 0x00 0x01 0x0F sequence end则为0x00 0x00 0x01 0x0A2. entry-point header为0x00 0x00 0x01 0x0E3. IPB帧的frame header都为0x00 0x00 0x01 0x0D4. slice header 0x00 0x00 0x01 0x0B5. field header 0x00 0x00 0x01 0x0C
帧类型
类似于h264的nalu单元 0x00 0x00 0x01作为单元分隔符帧的类型分为:I帧1. 仅使用自身信息编码 2. 不依赖其它帧的信息3. 所有宏块都是intra-codedP帧1. 参考之前的帧 使用向量预测信息编码2. 可以包含inter-coded宏块和intra-coded宏块skipped帧skipped帧是和它的参考帧相同的P帧BI帧BI帧是只包含intra-coded宏块的B帧B帧1. 参考之前或之后的帧 使用向量预测信息编码2. 可以包含inter-coded宏块和intra-coded宏块
解码流程Overview
simple和main profile的解码流程
advanced profile的解码流程
阅读全文
0 0
- VC1
- VC1
- 学习VC1
- 資料繫結運算式使用示範-VC1(web)
- WMV3 WMV9 VC1 之间的关系
- VC1和VS的对应关系
- webservice系列教学(10)-如何调用webservice(vc1)
- 视频编码 MPEG2 MPEG4 DIVX Xvid H264 VC1封装格式MKV AVI RMVB MPG TS扫盲
- 视频编码 MPEG2 MPEG4 DIVX Xvid H264 VC1封装格式MKV AVI RMVB MPG TS扫盲 转载
- 视频比特率与分辨率
- Android 源码中的设计模式
- C语言单链表实现19个功能完全详解
- pycharm连接mysql数据库
- nginx三 之动静分离
- VC1
- PHP学习笔记10(日期时间函数)
- IT人必须掌握的面试技巧
- vue阻止冒泡
- 使用Redis SETNX 命令实现分布式锁
- Java HashMap源码解析 不是COPY
- 安卓事件格式化不正确问题
- 图解正向代理、反向代理、透明代理
- 白帽子讲web安全笔记-3.2.6.4 window.name的妙用