【问题标题】:nal_ref_idc value for the last frame in GOP when B frame is there for x264 encoding当 B 帧用于 x264 编码时,GOP 中最后一帧的 nal_ref_idc 值
【发布时间】:2018-02-21 09:14:22
【问题描述】:

nal_ref_idc 在 x264 编码期间对每个帧的值表示解码器是否必须记住或将这些帧保存在内存中,或者换句话说,这些帧是否是参考图片。

一般来说,I 帧的 nal_ref_idc 值 =3,对于 P 帧,值 = 2。

如果考虑这种模式的 GOP,IPPPIPPP......

那么为什么最后一个P也有一个非零值2。我认为应该是0。

谁能告诉我为什么最后一帧的最终值非零?

【问题讨论】:

    标签: encoding x264


    【解决方案1】:

    因为没关系。添加代码以检查 NEXT 帧将是什么是额外的工作。特别是对于场景变化检测。所以仅仅说帧可以被引用是更少的工作和更少的代码,并且不会在解码器中导致额外的工作,因为 IDR 无论如何都会刷新所有缓存的帧。

    【讨论】:

    • 你能告诉我解码器将存储解码帧多长时间吗?如果所有帧的 nal_ref_idc 值非零。
    • 取决于配置文件。但最大为 16 帧。一切都在 IDR 上重置。
    • 我已经看到我的 H.264 编码视频流由 I 和 P 帧组成。因此,当 I 和 P 帧的数量超过 16 时,它将清除缓冲区。正确的?对于nal_ref_idc = 0,它会立即删除帧吗?
    • 解码器可以删除帧。更有可能它会保留它并在需要时重用内存。
    • 解码器正在返回一个指向已解码帧的内存位置的指针,如果它删除了nal_ref_idc = 0的帧,那么显示模块如何显示它?
    猜你喜欢
    • 1970-01-01
    • 2014-11-25
    • 2021-08-16
    • 1970-01-01
    • 2017-03-17
    • 2015-03-31
    • 1970-01-01
    • 2012-12-17
    • 2021-11-12
    相关资源
    最近更新 更多