i.MX6Q Encoder slice mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6Q Encoder slice mode

Jump to solution
1,366 Views
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!


Labels (3)
0 Kudos
1 Solution
806 Views
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.

View solution in original post

0 Kudos
5 Replies
807 Views
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 Kudos
806 Views
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 Kudos
806 Views
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 Kudos
806 Views
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 Kudos
806 Views
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 Kudos