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.

如何在ipnc_rdk里缩短编码长度



ipnc rdk版本 3.9

硬件dm385

一帧1920 x 1080的图像数据进来以后,我只想编码四分之一的图像,然后输出,该如何设置呢?

我在enclink_h264.c里面没找到在什么地方改。

  • 你好,

    几点建议如下:
    1. 编码的长宽需要做相应修改
    2. 如果编码不是从图像左上角开始,需要修改输入编码器的buffer的首地址。
    3. 编码偏移仍为1920,请设置编码器的参数captureWidth为1920。具体信息请参考编码器的user guide。
  • 长宽都需要更改吗?一帧1920 x 1080的数据分为1/4 ,编码的长不变,宽度变为1/4就可以了吧。
    更改编码长度后的数据,解码后显示在屏幕上也是只有1/4吗?
  • 编码偏移是什么意思啊?
  • user6370357 说:
    编码偏移是什么意思啊?

    captureWidth
    XDAS_Int32
    Input
    If the field is set to:
     0 - Encoded image width is used as pitch.
    If encoded image width is non multiple of 16 then it is rounded to next multiple of 16 and then assigned to pitch.
    When an inputWidth is non-multiple of 16, then the encoder assumes captureWidth as inputWidth’s next multiple of 16
    Any non-zero value, capture width is used as pitch (if capture width is greater than image width).

  • user6370357 说:
    长宽都需要更改吗?一帧1920 x 1080的数据分为1/4 ,编码的长不变,宽度变为1/4就可以了吧。

    可以。

    user6370357 说:
    更改编码长度后的数据,解码后显示在屏幕上也是只有1/4吗?

    取决于你解码显示的代码是否有做缩放。

  • 你好,我想再请问一下数据分片的问题。

    一帧数据的结构体是FVID2_Frame 

    我采用的是YUV420SP的数据格式,按照FVID2_Frame 结构体的描述,Y变量的起始地址放在放在addr[0][0]中,UV变量的起始地址放在addr[0][1]中。

    我想只编码1/4的数据,就把addr[0][0]的地址加了 1920 * 1080 / 4 addr[0][1]的地址加了1920 * 1080 / 8,按理说显示出来的图像应该就只有3/4但是目前出现了其他的失真现象,比如说颜色不对,还有出来一帧图像就卡住的现象。

    是我的四路不对吗?还是说有其他要改的。

    我是在vpss驱动里面改的,vpsdrv_captureList.c 里面。

  • 你好,

    建议你在编码的地方修改buffer地址指针,而不是采集的地方。

    如果你只需要1/4宽度的数据,你可以把采集宽度直接设置为宽度1/4,这样是不是更简单?
  • 你好,我试过在编码的地方更改,但还是出现上述情况。

    我数据分片的目的不是为了缩小宽度而是为了缩短时延,将一帧图像分为四个部分,然后一部分一部分的编码输出,显示出来就还是完整的一帧图像,这样的话比把一个完整的帧编码后输出花费的时间要少。

    我在外文网站上看到的,说在vpss端驱动更改可以做到这样的效果。

    编解码器有个slice mode 我已经做出来了,但是这个模式我还有些不了解。

    这个slice mode是在输入一帧数据后,全部分片编码完成之后再输出吗?还是说分片编码一部分就输出一部分?

    解码端支持slice mode,所以解码端那边我就还没管。
  • 你好,

    一般来说的slice mode编码都是按行来分割图像的啊。