文章目录

  • 16位对齐问题(绿边green bar)
  • 附录1. 来源stackoverflow:

16位对齐问题(绿边green bar)

描述:一般编/解码器都有16位对齐的处理(有未经证实的说法,也存在32位64位对齐的),否则会产生绿边问题。
因此,需要做以下处理:

  1. 编解码时保证16位对齐;

  2. 解码时遇到非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         |
|                     |
-----------------------

视频编解码绿边的问题相关推荐

  1. 即时通讯音视频开发(二):视频编解码之数字视频介绍

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...

  2. H.264/AVC视频编解码技术详解 第一章 视频信息与压缩编码

    H.264/AVC视频编解码技术详解系列笔记 是对 H.264/AVC视频编解码技术详解 课程的学习 文章目录 人与世界的交互 视频信号的表示方法 视频压缩编码 视频信息为什么可以被压缩? 视频压缩编 ...

  3. 中科大的AI图像/视频编解码综述

    [前言] 长论文ptsd犯病了,这次是一篇35页的AI编解码器的综述,犯病了犯病了. 首先还是保命时刻,以下解读与见解均为我的个人理解,要是我有哪里曲解了,造成了不必要的麻烦,可以联系我删除文章,也可 ...

  4. Hevc 视频编解码并行处理技术

    一 并行处理技术 并行处理一般是指许多指令得以同时进行的处理模式,并行处理通常是将处理的过程分解成小部分,之后采用多个运算单元并以兵法方式加以解决,本章只讨论使用过个处理器的并行处理技术.通常分为两种 ...

  5. 【从零开始】理解视频编解码技术

    [从零开始]理解视频编解码技术 auxten ​ CovenantSQL 联合创始人 ​关注他 1,263 人赞同了该文章 转载自: https://github.com/leandromoreira ...

  6. 视频编解码之理论概述 和即时通信

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...

  7. 【H.264/AVC视频编解码技术详解】十九:熵编码算法(5)——H.264的CABAC(上):语法元素的二值化方法...

    <H.264/AVC视频编解码技术详解>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战工程的形式对H.264的标准进行 ...

  8. 视频编解码的理论和实践2:Ffmpeg视频编解码

    近几年,视频编解码技术在理论及应用方面都取得了重大的进展,越来越多的人想要了解编解码技术.因此,网易云信研发工程师为大家进行了归纳梳理,从理论及实践两个方面简单介绍视频编解码技术. 相关阅读推荐 &l ...

  9. 【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据...

    <H.264/AVC视频编解码技术具体解释>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战project的形式对H.2 ...

最新文章

  1. Java中float类型精度问题
  2. dns劫持简介 https流量数据获取原理
  3. 如何高效地阅读文献?
  4. Linux编程手册读书笔记第四章(20140407)
  5. wsl2 Ubuntu 18.04 安装 ROS
  6. 【TensorFlow】TensorFlow函数精讲之tf.clip_by_value()
  7. artcam 9.0英文版本下载_Win10安装paddlepaddle-gpu的python版本
  8. php动态页面在ie浏览器中css布局板块全缩在中间,CSS网页布局开发时的常见问题及解决方法...
  9. Java™ 教程(不可变对象)
  10. 【转】wait_fences: failed to receive reply: 10004003问题的引起原因
  11. STM32学习心得二十五:光敏传感器原理及实验
  12. 云视频安防监控解决方案
  13. 用友商贸宝问题解答一
  14. es-从搜索中检索选定的字段
  15. 程序员是不是青春饭?年纪大了何去何从
  16. bilibiliC++25程序流程结构-选择结构-多行ifi语句
  17. ARM探索之旅 | 二、ARM Cortex-M 用什么指令集?
  18. 计算机点阵存储空间,计算机存储量计算存储400个24*24点阵汉字字形所需的存储容量是________....
  19. 微信小程序:注册微信小程序
  20. 【推荐算法】Knowledge-aware Graph Neural Networks with Label Smoothness Regularization(KGNN-LS)论文笔记

热门文章

  1. python作业网站_php网站编程作业代写、代做php网站小作业
  2. php5运行速度慢,stripos,PHP性能优化
  3. 2020年公认最好一篇文章,必看
  4. 狭义云计算和广义云计算_云计算比我们想象的更环保
  5. Java编程基础 - 布局管理器
  6. 侠客岛--多线程系列之线程池(十二)
  7. 刚毕业还在试用期的java工程师
  8. 【阿里云挂载/阿里云盘/本地挂载网络盘/WebDAV/win软件/界面】
  9. python基础入门(六)
  10. 已解决libpng warning: iccp: known incorrect sRGB profile