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.
Hello,
I am using DVRRDK 3.0.0.0 on TI816x.
Is there any materials / documents or can anyone explain to me what is IVA map table?? (SystemVideo_Ivahd2ChMap_Tbl)
I am developing the usecase with two 1080p cap encoding, how should I set SystemVideo_Ivahd2ChMap_Tbl table?
There are three HDVICPs in DM8168.The IVA map table maps each encode and decode channel to one of the HDVICPs. Application should distribute the load evenly on the three HDVICPs.
For two 1080p cap encoding you should use map as below where encode channel 0 is mapped to HDVICP0 and encode channel 1 is mapped to HDVICP1:
static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
{
.isPopulated = 1,
.ivaMap[0] =
{
.EncNumCh = 1,
.EncChList = {0},
.DecNumCh = 0,
.DecChList = {0},
},
.ivaMap[1] =
{
.EncNumCh = 1,
.EncChList = {1},
.DecNumCh = 0,
.DecChList = {0},
},
.ivaMap[2] =
{
.EncNumCh = 0,
.EncChList = {0},
.DecNumCh = 0,
.DecChList = {0},
},
};
Hi, Badri
During encoding, or decoding, if we want to switch the table dynamcally, could we just update the table directly? if not, what should we do among this operation? Is there any side effect or drawback when doing this?
You should use API
Int32 Vsys_getIVAMap(VSYS_IVA2CHMAP_TBL_S *ivaTbl) & Int32 Vsys_setIVAMap(VSYS_IVA2CHMAP_TBL_S *ivaTbl) to get and set the HDVICP map. You should never change map directly.
IVA map is meant to be changed in NVR usecase where a D1 decode channel is deleted and a 1080P channel is created in its place so the HDVICP load will have to be balanced correctly by the application. Doing it frequently will reduce HDVICP utilization when map change occurs.
Badri Narayanan said:IVA map is meant to be changed in NVR usecase where a D1 decode channel is deleted and a 1080P channel is created in its place so the HDVICP load will have to be balanced correctly by the application. Doing it frequently will reduce HDVICP utilization when map change occurs.
Is it possible to eliminate the process about "D1 decode channel is deleted and a 1080P channel is created " for encoder and decoder? If yes, how do we to do that?
I don't understand the question. What process do you want to eliminate ? You can use Int32 Vsys_setIVAMap(VSYS_IVA2CHMAP_TBL_S *ivaTbl) to change HDVICP map.Only this is supported .Nothing else is supported.
Hi Badri,
By you speaking, I have question as below
Q1. is there any restriction in "EncNumCh ","DecNumCh " ? like maximum or minimum...
Q2. is there any effect in the order of "EncChList" and "DecChList" when I use the same number? like EncChList = {1, 2, 3}, or EncChList = { 3, 2, 1}.
Q3. For some application, I want ch1 to be high priority than ch2, ch3. How could I do that?
Q1. is there any restriction in "EncNumCh ","DecNumCh " ? like maximum or minimum...
- Max is 47, Min is 0
Q2. is there any effect in the order of "EncChList" and "DecChList" when I use the same number? like EncChList = {1, 2, 3}, or EncChList = { 3, 2, 1}.
- No effect
Q3. For some application, I want ch1 to be high priority than ch2, ch3. How could I do that?
- Assigning priority for different channels is not supported
Hi Badri,
Thanks for your reply
- Max is 47, Min is 0
Q1. why the max is 47? is there any meaning?
Q2. is it possible to divide encoding into several parts and assign one part to be done by one IVA? like DCT by IVA-0, Quantilized by IVA-1
Q1 Max is 47, Min is 0 Q1. why the max is 47? is there any meaning?
- Because encode link can have max 48 channels from 0 - 47.
Q2. is it possible to divide encoding into several parts and assign one part to be done by one IVA? like DCT by IVA-0, Quantilized by IVA-1
- No it is not possible
Hi Badri,
Thanks for your reply. I have question
Q1. By checking, enc/dec link is a task, is it possible that every IVA is a task? if yes, how could we do that?
Hi Badri
I have one more question
Q2. If I set the content of IVA-0, IVA-1, IVA-2 the same, what'll be done?
Q1. By checking, enc/dec link is a task, is it possible that every IVA is a task? if yes, how could we do that?
- There is already separate task for each IVA
Q2. If I set the content of IVA-0, IVA-1, IVA-2 the same, what'll be done?
-- It is wrong to set same content for all IVAs. It will cause error and will not work.