Community
cancel
Showing results for 
Search instead for 
Did you mean: 
vucetica
Beginner
69 Views

Failed to set anything but High profile

Here is my h264.par file. I put 77 for profile_idc, and initialization goes well, but after I call encoder.GetInfo() and it shows 100 for profile_idc...it is also shown in stream analyzer, so obvious encoder does high profile encoding. It seems that something from my .par file prevents main and base profile, but I can not figure out what:
=====
[bash]/* CommentLine: H.264 Sequence.*/
stream.yuv        /* name of source files */
300               /* number of frames to encode */
1 12 1           /* 1(reserved) , N (# of frames in between I frames), IDR interval. */
2 0               /* Number of B frames between I (or P) and next P, treat B as a reference (only 0 is supported!) */
4 1 0             /* num_ref_frames (2-16), minimum length of list1 for backward prediction (only 1 is supported!), number of slices. */
77 32			  /* 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)  */
720				/* horizontal_size */
480               /* vertical_size */
5                 /* 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 0 0 0 600000    /* 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 1 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) */
352               /* display_horizontal_size */
288            	  /* display_vertical_size */
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! */
1 0               /* speed/quality grade [0,3] (0-maximum speed, 3-maximum quality); OptimalQuantization (0, 1) */[/bash]
===
what is wrong in this .par file? thanks!
Aleksandar
0 Kudos
2 Replies
Ying_H_Intel
Employee
69 Views

Hi Aleksander,

Right, there is function in the codeto check if the entered paramtersarematched with the profile. for example,
//Switch appropriate profile
bool profile_check = true;
while( profile_check ){
switch (core_enc->m_info.profile_idc)
{

if( core_enc->m_info.bit_depth_aux != 8
|| core_enc->m_info.alpha_incr_flag != 0
|| core_enc->m_info.alpha_opaque_value != 0
|| core_enc->m_info.alpha_transparent_value != 0
|| core_enc->m_SeqParamSet.aux_format_idc != 0
|| core_enc->m_info.bit_depth_chroma != 8
|| core_enc->m_info.bit_depth_luma != 8
|| core_enc->m_info.chroma_format_idc != 1
|| core_enc->m_info.transform_8x8_mode_flag
|| core_enc->m_info.qpprime_y_zero_transform_bypass_flag) {
//return(UMC_ERR_INVALID_STREAM);
core_enc->m_info.profile_idc = H264_HIGH_PROFILE;

You may try change
100/*Highprofile:transform_8x8_mode:0--off,1-on;0--usestandard,1--
to
0 0 0
and see if it works

Regards,
Ying
vucetica
Beginner
69 Views

It worked. Thanks!
Reply