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.

1920*1080分辨率问题

Hi,TI

我遇到了一个关于1080p分辨率的问题,是在ipnc4.0开发包里面调试的。我需要得到1920*1080的图像,RAW数据的分辨率是1920*1088,但是经过编码之后,输出的图像数据就变成1920*1072。通过查找,发现图像在编码的时候,宽高被这样子操作了:

config->encodeConfig[i].cropWidth  = ALIGN_ENCODE(1920); 

config->encodeConfig[i].cropHeight = ALIGN_ENCODE(1080);

这两句的意思是,16对齐,于是1920*1080就变成了1920*1072;

为了使得编码之后的图像为1920*1080,我使其8对齐,这样就是1920*1080,但是图像底部又有一些跳动。

我该从何处下手呢?

  • 16字节对齐,1088不会被截断成1072吧?你把原代码改成

    config->encodeConfig[i].cropWidth  = ALIGN_ENCODE(1920); 

    config->encodeConfig[i].cropHeight = ALIGN_ENCODE(1088);

    然后再看结果。

  • 谢谢 Robin Edson

    但是我这样子做了,底部还是有闪动。

  • 额,你用的是8对齐?

    按照我说的改,还用16对齐。

  • 1088/8=136;

    1088/16=68;

    也就是1088即是8的倍数,也是16的倍数

  • .。。。你不是按8对齐底边会闪吗?源程序时按照16对齐,那就是按照16对齐,你按照8对齐,数据处理就会有问题。

  • 谢谢 的回答,但是我的目标不是8对齐,还是16对齐;

    不关源程序怎么处理,如果是8对齐,那么1088是符合条件的,如果是16对齐,同样1088也满足条件;

    因为源程序是lib的形式存在,所以只要保证给参数符合它的要求,就ok,否则就是bug。你说是不是呢?

    可能我的问题没有写清楚,不知道你对TI的H264是否熟悉,我比较纳闷为什么在TI的H264的指导手册里面规定输入帧的高、宽必须是16位?

    目前我想获取1920*1080的图像,该如何整呢?

     

x 出现错误。请重试或与管理员联系。