i.MX6Q Encoder slice mode

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.MX6Q Encoder slice mode

跳至解决方案
2,649 次查看
jotes
Contributor IV

Hi!

While encoding h.264 video in slice mode, how will I now, when a single slice is ready (for example to further processing)? As I understand vpu_IsBusy() and vpu_WaitForInt() are useful only when I want to encode frame by frame (not slice by slice).

Thanks!


标签 (3)
0 项奖励
回复
1 解答
2,089 次查看
eaglezhou
NXP Employee
NXP Employee

Hi,

  

     Only "frame by frame" output is supported by vpu, "slice by slice" output not supported,

     Slice mode means user can config vpu to encode multi-slice per frame, not means "slice by slice" output.

Regard

Eagle.

在原帖中查看解决方案

0 项奖励
回复
5 回复数
2,090 次查看
eaglezhou
NXP Employee
NXP Employee

Hi,

  

     Only "frame by frame" output is supported by vpu, "slice by slice" output not supported,

     Slice mode means user can config vpu to encode multi-slice per frame, not means "slice by slice" output.

Regard

Eagle.

0 项奖励
回复
2,089 次查看
jotes
Contributor IV

Hi Peng Zhou,

I have another question in this topic.

Encoder can send the encoded bits after each slice. Can decoder start decoding after receiving one single slice? Or maybe it has to wait for whole complete frame?

Thanks!

0 项奖励
回复
2,089 次查看
eaglezhou
NXP Employee
NXP Employee

Hi, Jotes

  For iMX6 vpu decoder, there are two mode, rollback mode(vpu wait the whole frame ready), and interrupt mode(not required the whole frame ready)

  in rollback mode, user need to feed enough data to vpu, otherwise, vpu will return and report data isn't enough

  while in interrupt mode, vpu won't reuturn when the data isn't enough, and will enter busy state in which it will wait the following data.

  but for the output, only interrupt in frame level is sendout by vpu decoder for both mode,

Regard

Eagle

0 项奖励
回复
2,089 次查看
jotes
Contributor IV

So, to sum up:

  1. I can encode slice by slice and send one frame in few parts to decoder.
  2. In rollback mode I can't start decoding until I have a whole frame in decoder. When same parts of frame are missing, I can see the following warning: "vpu needs more bitstream in rollback mode".
  3. In interrupt mode I can start decoding even if only a part of frame (few slices) is received, but the output is generated after decoding whole frame.
  4. No matter if decoder works in interrupt mode or rollback mode, output is generated in the same time (after decoding the entire frame).

Is that correct?

0 项奖励
回复
2,089 次查看
eaglezhou
NXP Employee
NXP Employee

Hi, Jotes

    Your understanding are basically right.

    For 1, the output from encoder still is frame level.

Regard

Eagle.

0 项奖励
回复