视频编解码绿边的问题
文章目录
- 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 ...
最新文章
- Java中float类型精度问题
- dns劫持简介 https流量数据获取原理
- 如何高效地阅读文献?
- Linux编程手册读书笔记第四章(20140407)
- wsl2 Ubuntu 18.04 安装 ROS
- 【TensorFlow】TensorFlow函数精讲之tf.clip_by_value()
- artcam 9.0英文版本下载_Win10安装paddlepaddle-gpu的python版本
- php动态页面在ie浏览器中css布局板块全缩在中间,CSS网页布局开发时的常见问题及解决方法...
- Java™ 教程(不可变对象)
- 【转】wait_fences: failed to receive reply: 10004003问题的引起原因
- STM32学习心得二十五:光敏传感器原理及实验
- 云视频安防监控解决方案
- 用友商贸宝问题解答一
- es-从搜索中检索选定的字段
- 程序员是不是青春饭?年纪大了何去何从
- bilibiliC++25程序流程结构-选择结构-多行ifi语句
- ARM探索之旅 | 二、ARM Cortex-M 用什么指令集?
- 计算机点阵存储空间,计算机存储量计算存储400个24*24点阵汉字字形所需的存储容量是________....
- 微信小程序:注册微信小程序
- 【推荐算法】Knowledge-aware Graph Neural Networks with Label Smoothness Regularization(KGNN-LS)论文笔记
热门文章
- python作业网站_php网站编程作业代写、代做php网站小作业
- php5运行速度慢,stripos,PHP性能优化
- 2020年公认最好一篇文章,必看
- 狭义云计算和广义云计算_云计算比我们想象的更环保
- Java编程基础 - 布局管理器
- 侠客岛--多线程系列之线程池(十二)
- 刚毕业还在试用期的java工程师
- 【阿里云挂载/阿里云盘/本地挂载网络盘/WebDAV/win软件/界面】
- python基础入门(六)
- 已解决libpng warning: iccp: known incorrect sRGB profile