大家好!
在阅读 DVRRDK 代码的时候发现有设置 IVAHD 通道的代码 如下:
static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
{
.isPopulated = 1,
.ivaMap[0] = {
.EncNumCh = 10,
.EncChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0 , 0, 0},
.DecNumCh = 0,
.DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
},
.ivaMap[1] = {
.EncNumCh = 0, .EncChList = {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31},
.DecNumCh = 12,
.DecChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0 , 0, 0},
},
.ivaMap[2] = {
.EncNumCh = 6,
.EncChList = {10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
.DecNumCh = 4,
.DecChList = {12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
},
};
初步了解到是设置3个视频加速器通道对应关系的,但是具体要深入理解这些参数含义或者机制的话,如 EncChList = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0 , 0, 0},
有哪些文档有涉及可以参考的,望TI的大神们给个建议。
Ternence_Hsu:
/**\brief Data structure to assign the video channles to any single IVA-HD */ typedef struct SystemVideo_Ivahd2ChMap {UInt32 EncNumCh;/**< Number of Encoder channels */UInt32 EncChList[SYSTEMVIDEO_MAX_IVACH];/**< Encoder channel list */UInt32 DecNumCh;/**< Number of Decoder channels */UInt32 DecChList[SYSTEMVIDEO_MAX_IVACH];/**< Decoder channel list */ } SystemVideo_Ivahd2ChMap;
Ternence_Hsu:
回复 Ternence_Hsu:
typedef struct SystemVideo_Ivahd2ChMap_Tbl {UInt32 isPopulated;/**< Flag to verify if the table is populated */SystemVideo_Ivahd2ChMap ivaMap[SYSTEMVIDEO_MAX_NUMHDVICP];/**< Structure to assign the video channels to all 3 IVA-HDs */} SystemVideo_Ivahd2ChMap_Tbl;
你好;
这里 3个 ivaMap ,分别代表 dm8168 中的 3个 hdvicp 视频编码引擎,
EncChList这里是encode link 中对应的编码通道的 id;注意资源的合理使用就行,保证性能满意要求就可以;