This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TDA2EVM5777:VSDK H264编码器链路配置、用于在给定的 IDR 帧间隔内发送 SPS 和 PPS

Guru**** 2935310 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671712/rtos-tda2evm5777-vsdk-h264-encoder-link-configuration-to-send-sps-and-pps-on-a-given-interval-of-idr-frames

器件型号:TDA2EVM5777

工具/软件:TI-RTOS

是否可以配置 H264编码器、以便在给定的 IDR 帧间隔发送 SPS 和 PPS?

我已将编码器配置为发送所有 IDR 帧、如下所示:

if (hObj->staticParams.videnc2Params.encodingPreset =XDM_USER_defined){
hObj->dynamicParams.videnc2DynamicParams.intraFrameInterval = 1;
hObj->dynamicParams.videnc2DynamicParams.interFrameInterval = 1;
hObj->staticParams.videnc2Params.maxInterFrameInterval = 1;
hObj->DynamicParams.rateControlParams.maxPicSizeRatioI = 0;
} 

使用上述配置时、流如下所示:

SPS | PPS | IDR | SPS | PPS | IDR | SPS | PPS | IDR |...

基本上、所有帧都作为 IDR 帧发送、每个 IDR 帧都以相应的 SPS 和 PPS 作为前缀。

但是、我要配置流、使 SPS 和 PPS 仅在固定数量的 IDR 帧之后发送。

例如:

□SPS num_FRAes_refs = 3.

SPS | PPS | IDR | IDR | SPS | PPS | IDR | IDR | IDR | SPS | PPS | PPS | IDR | IDR | IDR |  

我在用户指南和源代码中找不到此类设置和文档。
因此,我是否可以询问是否可以这样做,如果可以,我是否可以要求参考正确的设置来这样做?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Norman、

    如果您可以将介于之间的 I 帧用作"SPS | PPS | IDR | I | I | SPS | PPS | IDR | I |..." 然后设置  IDRFrameInterval = 3。

    您还可以参阅 用户指南中的附录 B -用于可配置 NALU"的控件。 它解释了编码器对 NAL 单元的可配置支持。


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    虽然我想澄清我对按顺序使用 I 帧的理解。
    由于我有一个尚未满足的要求、即流 GOP 大小应为1、因此我想确认我对上面建议的流格式的 GOP 定义的困惑。

    我之前的理解是、GOP 大小是两个 IDR 帧之间的距离。 因此、使用 I 帧(我认为它将以建议的格式编码为非 IDR)将破坏 GOP 大小。

    显然、这是不正确的。

    相反、GOP 尺寸是两个完整帧(在本例中为 I 帧)之间的距离。 因此、在上述建议的格式中、1的 GOP 大小仍然为真。

    我是否可以获得您对该问题的预期确认?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Norman、

    [引用用户="Norman S."]

    相反、GOP 尺寸是两个完整帧(在本例中为 I 帧)之间的距离。 因此、在上述建议的格式中、1的 GOP 大小仍然为真。

    我是否可以获得您对该问题的预期确认?[/QUEST]这是正确的。 GOP 大小为1。

    您可以设置  IDRFrameInterval = 3以及现有参数设置  

    [引用用户="Norman S."]

    1
    2.
    3.
    4.
    5.
    6.
    if(hObj->staticParams.videnc2Params.encodingPreset == XDM_USER_DEFINED){
        hObj->dynamicParams.videnc2DynamicParams.intraFrameInterval = 1;
        hObj->dynamicParams.videnc2DynamicParams.interFrameInterval = 1;
        hObj->staticParams.videnc2Params.maxInterFrameInterval = 1;
        hObj->dynamicParams.rateControlParams.maxPicSizeRatioI = 0;
    }

    [/报价]