视频编解码绿边的问题
文章目录
- 16位对齐问题(绿边green bar)
- 附录1. 来源stackoverflow:
16位对齐问题(绿边green bar)
描述:一般编/解码器都有16位对齐的处理(有未经证实的说法,也存在32位、64位对齐的),否则会产生绿边问题。
因此,需要做以下处理:
编解码时保证16位对齐;
解码时遇到非16位对齐的分辨率,解码器一般会解码成比较接近的更大的尺寸(有可能长宽均有变化),因此需要手动做裁剪。
测试时发现在Android低端手机上解码高分辨率视频时会出现此种情况(哪怕视频原尺寸是16位对齐的),比如红米Note 4X上解码3180x2160的视频,解码器输出尺寸1920x1088(8bit绿边,crop大小是1920x1080,处理方式:裁剪8bit即可),在解码2280x1080视频时,解码器输出1920x1088的缓存(较大绿边,crop大小是1914x906,但输出的图像是放大过(放大到一边与输出缓存的尺寸大小相同方式,处理方式:根据放大后的大小做裁剪),此类均需要做裁剪处理。
附录1. 来源stackoverflow:
Video coding requires the frame dimensions to be aligned to multiples of 16 i.e. macroblock dimensions. HD resolution i.e. 1920 x 1080 is a special case as 1080 is not a multiple of 16. The underlying encoder expects the client to provide an aligned boundary.
In this case, you could provide the data windowed as below. For Luma
, you will have to align to a multiple of 16 and for Chroma
, you will have to align to a multiple of 8. The remaining pixels could be prefilled with zeroes.
Please note: If the encoder is capable of handling 1920 x 1080 as an encoding resolution, the output should be fine. If the encoder encodes with 1920 x 1088, you will observe a green band at the bottom of the picture in the generated bitstream due to the zero padding.
---------------------------------------------
| |
| |
| |
| Luma |
| 1920 x 1080 |
| filled into |
| a buffer of |
| 1920 x 1088 |
| |
| Last 8 lines could |
| be filled with zeroes |
| |
---------------------------------------------
-----------------------
| Cb |
| 960 x 540 |
| filled into |
| a buffer of |
| 960 x 544 |
| |
-----------------------
-----------------------
| Cr |
| 960 x 540 |
| filled into |
| a buffer of |
| 960 x 544 |
| |
-----------------------
视频编解码绿边的问题相关推荐
- 即时通讯音视频开发(二):视频编解码之数字视频介绍
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- H.264/AVC视频编解码技术详解 第一章 视频信息与压缩编码
H.264/AVC视频编解码技术详解系列笔记 是对 H.264/AVC视频编解码技术详解 课程的学习 文章目录 人与世界的交互 视频信号的表示方法 视频压缩编码 视频信息为什么可以被压缩? 视频压缩编 ...
- 中科大的AI图像/视频编解码综述
[前言] 长论文ptsd犯病了,这次是一篇35页的AI编解码器的综述,犯病了犯病了. 首先还是保命时刻,以下解读与见解均为我的个人理解,要是我有哪里曲解了,造成了不必要的麻烦,可以联系我删除文章,也可 ...
- Hevc 视频编解码并行处理技术
一 并行处理技术 并行处理一般是指许多指令得以同时进行的处理模式,并行处理通常是将处理的过程分解成小部分,之后采用多个运算单元并以兵法方式加以解决,本章只讨论使用过个处理器的并行处理技术.通常分为两种 ...
- 【从零开始】理解视频编解码技术
[从零开始]理解视频编解码技术 auxten CovenantSQL 联合创始人 关注他 1,263 人赞同了该文章 转载自: https://github.com/leandromoreira ...
- 视频编解码之理论概述 和即时通信
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...
- 【H.264/AVC视频编解码技术详解】十九:熵编码算法(5)——H.264的CABAC(上):语法元素的二值化方法...
<H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...
- 视频编解码的理论和实践2:Ffmpeg视频编解码
近几年,视频编解码技术在理论及应用方面都取得了重大的进展,越来越多的人想要了解编解码技术.因此,网易云信研发工程师为大家进行了归纳梳理,从理论及实践两个方面简单介绍视频编解码技术. 相关阅读推荐 &l ...
- 【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据...
<H.264/AVC视频编解码技术具体解释>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战project的形式对H.2 ...
最新文章
- MATLAB从入门到精通-Matlab R2020b中的新标记符号(New-marker-symbols)
- 请你说明一下ConcurrentHashMap的原理?
- java序列化与深度拷贝
- excel随机抽取_简单随机抽样及其进阶分层随机抽样方法展示
- 查看zookeeper版本
- c语言实验题——字符串排序,C语言中实现“三个数由小到大排序”的多种方法浅析...
- Ubuntu系统详细分析【1-10】
- 傲腾会是NAND的接班人么?
- 【第102期】游戏策划:在校生求职简历怎么写?
- PADS导出gerber文件
- PDF中加入HTML,将PDF导入/嵌入到HTML中(For PDF)
- 爬取noi官网所有题目分析
- windows 查询域名DNS解析
- 金蝶中间件中标国家金质工程
- 分类与预测模型效果评价
- 各种数据库中的dual表
- java水泡_FrozenBubble java实现的泡泡龙游戏,完整 逻辑,关卡功能,分数记录。 Games 240万源代码下载- www.pudn.com...
- qlikview中日期问题的两个小结
- ad2019--LED灯按键类创建元件库
- 到底什么是UE设计师啊?