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.

[参考译文] H.264低分辨率编码

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/608146/h-264-low-lantancy-encode

您好,
我注意到 DM8127中 H.264的低分辨率编码。 但有些问题让我很长时间感到困惑。我按照 G 部分数据表中的步骤操作。 编解码器版本为2.0。演示版本为"500.V.H264AVC。E.IVAHD.02.00\IVAHD_001\Client\test\src"

问题1. 层输入
1)我想将720*576逐片视频编码为720*16..所以我设置 params->videnc2Params.inputDataMode = IVIDEO_NUMROWS,params->videnc2Params.numInputDataUnits = 1,Dynamic_params->videnc2DynamicParams.getDataFxn。
在 getDataFxn 中、我按如下方式设置参数。

/*------------------ *
/*假定每个块的基地址继续并且编解码器*/
/*如果由于其他一些限制而更改,则不起作用*/
/*------------------ *
dataSyncDesc->baseAddr =空;
dataSyncDesc->numBlocks = 1;//gConfigOr.numBlocks[block_count];
dataSyncDesc->varBlockSizeFlag = 1;
dataSyncDesc->blocksizes =(XDAS_Int32*) Input_BlockSizeArray;

当我发送一个帧进行编码时、getDataFxn 被调用36次。 我认为是对的。 但是,为什么 baseAddr 为 NULL,如果我通过片(720*16)捕获帧,我如何发送 baseAddr。它是 Y addr 还是 UV addr? 在数据表中、没有提到每个切片的 addr 会继续、但在演示中提到了它。 由于 addr 的对齐方式,可能是每个层 addr 都不会继续,因此我如何处理它? 如何将帧发送到编解码器中?

模式1
/******* /
是的
/******** /

/******* /
UV0
/******** /

/******* /
Y1
/******** /

/******* /
UV1
/******** /


模式2
/******* /
是的
/******** /

/******* /
Y1
/******** /

/******* /
UV0
/******** /

/******* /
UV1
/******** /


问题2. 层输出

我希望编解码器输出帧(720*576)逐层,即6*720*16。 因此、我将参数设置如下。

Params->videnc2Params.outputDataMode = IVIDEO_SLICEMODE
params->videnc2Params.numOutputDataUnits = 6.
Dynamic_params->videnc2DynamicParams.putDataFxn = H264ETest_DataSyncPutDataFxn;

在数据表中,当6个 NALU 输出时,putDataFxn 应该被调用一次。但它不起作用,每次调用 putDataFxn 时,都会输出一个整帧,但不会是6个 NALU。 这是值得注意的其他重要事项吗?



顺便说一下、如果您可以为我提供一个用于切片输入和切片输出的完整参数、我将不胜感激。 非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    请参阅示例 testapp 中的函数 H264ETest_DataSyncPutDataFxn ()。(500.V.H264AVC。E.IVAHD.02.00\IVAHD_001\Client\test\src)。 有关详细信息,另请参阅《用户指南》中的 putDataFxn。

    尝试以下配置、它应该起作用:
    InputDataMode = 3
    OutputDataMode = 1

    切片式预设 = 1
    切片模式 = 1
    切片单元大小 = 45 (这将产生36个720*16的切片)
    streamFormat = 0

    每个参数的含义可在用户指南中找到。