您好,请教两个问题:
1.
“./encodedecode -b 4000000”
请问这样输入指令的话,是恒定速率的?还是可变速率?
在EVM dm368开发板demo软件中encode文件夹内的video.c代码中,见到如下程序代码;
/* Set up codec parameters depending on bit rate */
if (envp->videoBitRate < 0) {
/* Variable bit rate */
params->rateControlPreset = IVIDEO_NONE;
/*
* If variable bit rate use a bogus bit rate value (> 0)
* since it will be ignored.
*/
params->maxBitRate = 2000000;
}
else {
/* Constant bit rate */
params->rateControlPreset = IVIDEO_STORAGE;
params->maxBitRate = envp->videoBitRate;
}
是不是意味着如果输入一个负值的数,比特率会变成可变速率,而且最高限制为2M?而像我们第一行那样输入的话就是恒定速率的?
2.目前我们在使用贵公司的EVM dm368开发板,想实现1080P视频编码,但是开发板自带的demo软件只支持到1080i,所以想在demo程序的基础上修改一下来实现1080P,最近一直在研究demo软件中的encode文件夹下的代码,想找到不同视频格式的配置和视频算法过程,进而进行代码修改;
第一、其中video.c文件中视频编码使用venc1_process函数,然后此函数又调用了videnc1_process函数,这个函数也没有明显看出视频编码的过程,没有明确找到可以修改编码过程的位置,所以想咨询一下编码过程中实现编码算法的函数是什么?在哪个文件内?我们好进行修改;
第二、目前上面提到的两个函数主要进行编码过程,venc1_process函数的入口参数中有个hVe1变量,是由Venc1_create函数产生的,好像是将参数配置导入编码过程的地方,这个函数中调用了VIDENC1_create函数,然后这个又调用了visa_create函数。。。。。。我们现在没有找到根据不同参数进行区分不同编码过程的地方,目前想知道demo程序中存不存在根据着不同参数进行不同编码算法选择的地方?