I've been evaluating "enableAutoSkip" function of VPU API of i.MX6.
My current environment is :
- Target : i.MX6Q (SABRE-SDP)
- OS : Linux 3.14.28
- Encoding : H.264 (1920x1080)
- VPU firmware : Ver 3.1.1_r46063
- VPU library : Ver 5.4.28
I've tested by the following conditions here.(based on "mxc_vpu_test")
- H.264 video encoding.
- Set fixed frame rate : 30fps (also GOP=30 fixed.)
- Use same 1080P YUV image file as video input.
- Set enableAutoSkip=1(enable)
- Target bit rate is being done a little small.(from 4Mbps to 500kbps)
- As a target bit rate is lowered, image quality becomes bad gradually.
- The encoded data size is always almost same.
- A frame skip occurs from some bit rate.
- Image quality will be gradually badly.
- The encoded data size becomes bigger than the target from some bit rate.
- A frame skip doesn't seem performed.
Generally key-frame(I-picture) doesn't skip. Then VPU shouldn't skip an I-picture
and should skip an P-picture (or P-pictures), I think.
Also by extreme setting,such as the case of setting very small target bit rate,
then all P-pictures must be skipped.
However, I can't find any skipped-frames from the result.
Would there be any mistakes in my understanding or test method?