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

macroblocks upon transitions/movement in h.264 encoding?

gennadii_mog
Beginner
647 Views
Hi
we are seeing a problem where a lot of pixelezation appears upon h.264 encoding of movement or transition. for example, when a camera 1 would switch to camera 2, we see big macro blocks on the screen which would disappear after a second or two, and the quality would be good again.
same problem is shown when encoding a camera shoot of a moving camera
this happens on a 700Kbps stream.
any ideas what we should change - on h264.par or in the code - to resolve this issue?
thanks
Gennadii
0 Kudos
3 Replies
Chao_Y_Intel
Moderator
647 Views

Gennadii,

Could you post some picturs and test stream that can showthe problem?

thanks,
Chao
0 Kudos
gennadii_mog
Beginner
647 Views
Hi
you can see here clearly the differences in quality between x264 and IPP:
these are the parameters from the h264.par we used:
/* CommentLine: H.264 Sequence.*/
1 200 0 /* 1(reserved) , N (# of frames in between I frames), IDR interval. */
2 1 /* Number of B frames between I (or P) and next P, treat B as a reference (only 0 is supported!) */
2 1 4 /* num_ref_frames (2-16), minimum length of list1 for backward prediction (only 1 is supported!), number of slices. */
100 50 /* 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) */
2 /* 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] */
2 30 30 30 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 2 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 1 /* 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 */
1 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) */
1 2 /* 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! */
3 1 /* speed/quality grade [0,3] (0-maximum speed, 3-maximum quality); OptimalQuantization (0, 1) */
0 Kudos
gennadii_mog
Beginner
647 Views
bump - reminder...
0 Kudos
Reply