Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

H.264 quant_codes compression don't work

jerome-brossais
Beginner
307 Views

Hi,

I develop an application which encodes YUV stream to H.264. I have no problems when I put Rate Control to VBR (so with a bitrate).

But QuantCodes doesn't work. I use Ipp 5.3.2.072 (Win32)

This is my par file.

/* CommentLine: H.264 Sequence.*/
stream.yuv /* name of source files */
200 /* number of frames to encode */
1 16 0 /* 1(reserved) , N (# of frames in between I frames), IDR interval. */
0 0 /* Number of B frames between I (or P) and next P, treat B as a reference (only 0 is supported!) */
1 1 0 /* num_ref_frames (2-16), minimum length of list1 for backward prediction (only 1 is supported!), number of slices. */
77 0 /* profile_idc (77-main, 100-high); level_idc (set 0 for automatic selection) (check that num_ref_frames and frame size are in accordance with the level) */
768 /* horizontal_size */
576 /* vertical_size */
3 /* frame_rate_code [0,8] (0-30 fps,1-15 fps,2-24 fps,3-25 fps,4-30 fps,5-30 fps,6-50 fps,7-60 fps,8-60 fps)*/
1 8 8 /* High profile: chroma_format_idc (0 - monochrom, 1 - 420, 2 - 422), bit_depth_luma [8,12], bit_depth_chroma [8,12] */
0 8 0 0 0 /* High profile: aux_format_idc: [0,3], bit_depth_aux: [8,12], alpha_incr_flag: 0, 1; alpha_opaque_value: [0, 2^(bit_depth_aux + 9) -1]; alpha_transparent_value: [0, 2^(bit_depth_aux + 9) - 1] */
0 15 15 15 1000000 /* RC method(0 - quant_codes, 1 - CBR MBwise, 2 - CBR framewise, 3 - Debug); start qp values for I, P, B slices; bitrate (bits per second) */
2 0 8 8 /* ME method (1-6), subblock split, search x,search_y */
0 0 0 /* weighted prediction, weighted biprediction implicit weighted biprediction (not supported!)*/
1 0 /* direct type (0 - temporal 1 - spatial 2 - auto); direct_inference_flag */
0 0 0 /* disable_deblocking_idc: 1-- off, 0 - on, 2 -- on(without crossing slice boundaries); deblocking_filter_alpha, deblocking_filter_beta */
0 0 0 /* High profile: transform_8x8_mode: 0 -- off, 1 - on; 0 -- use standard, 1 -- use default scaling matrices for 8x8 quantization; qpprime_y_zero_transform_bypass_flag: (0, 1) */
768 /* display_horizontal_size */
576 /* display_vertical_size */
0 0 /* entropy coding mode (0-cavlc,1-cabac); cabac_init_idc (0,1,2) */
0 /* picture coding type (0 - only FRM, 1 - only FLD , 2 - only AFRM, 3 - pure PicAFF(no MBAFF) 4 PicAFF + MBAFF). Only 0 (FRM) is supported! */
0 sample.log /* speed/quality grade [0,3] (0-maximum speed, 3-maximum quality); log file name (unused) */

The encode proccess works fine but the compress file has always the same size.

Test 1 :

Rate Control=0 ; QuantI=0 ; QuantP=0 ; QuantB=0 Result : fps=26.58 size=22224ko

Test 2 :

Rate Control=0 ; QuantI=15 ; QuantP=15 ; QuantB=15 Result : fps=26.81 size=22224ko

Test 3 :

Rate Control=0 ; QuantI=51 ; QuantP=51 ; QuantB=51 Result : fps=27.09 size=22224ko

For information this is the configuration of the test machine :

CPU : Core 2 Duo E6850 @ 3.00GHz

RAM : 2Go

OS : Windows XP Pro Sp2

IDE : Visual Studio .NET 2002

How to resolve my problem? In fact settings don't change output file size.

Is it a problem with my par file?

For information I tried with Ipp 5.3.4.87 and 6.0.0.044BETA but I had the same result.

My application also uses Mpeg-4 encoder and I have no problems to set QuantCode for RateControl.

Best Regards.

0 Kudos
3 Replies
jerome-brossais
Beginner
307 Views

Please, help me !!!!!!!!!!!!!!!!!!!

0 Kudos
Emmanuel_W_
New Contributor I
307 Views

Please, help me !!!!!!!!!!!!!!!!!!!


Instead of using quant_code try using debug I think it will do what you want.

0 Kudos
jerome-brossais
Beginner
307 Views

Thanks for your help. I try your modification and it's work fine. But the parameter H264_RCM_DEBUG don't appease me. Is it a debug mode? Intel's engineer can explain it?

0 Kudos
Reply