Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
6 Views

H264 Baseline Profile

Jump to solution
Hello all,
I'll be happy that if someone can provide me parameters for H264enc, which produces baseline profile stream.
Setting profile_idc to 66 and level to 0 seems to not work.
When I check produced stream in sequence header I can see profile as 42 (hexa).
When I push this stream to external system for decoding I frames are decoded successfully, but P frames failed to decode. So I believe I'm missing something.
p.s. External system can decode other baseline H264 streams coming from other encoders.
Thanks in advance,
-victor
0 Kudos

Accepted Solutions
Highlighted
Employee
6 Views

Hi Victor,

Baseline profile is supported in the UMC sample. The problem happens, because besides the profile_idc and level setting, there are some other restriction to create a base line video. If some high level encoding tools are used, the encoder may change it to high level profile:

Could you have a check on the following file?

\codec\h264_enc\include\umc_h264_video_encoder_tmpl.cpp.h

In function:

Status H264ENC_MAKE_NAME(H264CoreEncoder_CheckEncoderParameters)( void* state)

On profile check part:

bool profile_check = true;

while( profile_check ){

.

}

You can run it with your parameter setting, and see if the encoder changed it to other profiles.

Thanks,
Chao

View solution in original post

0 Kudos
1 Reply
Highlighted
Employee
7 Views

Hi Victor,

Baseline profile is supported in the UMC sample. The problem happens, because besides the profile_idc and level setting, there are some other restriction to create a base line video. If some high level encoding tools are used, the encoder may change it to high level profile:

Could you have a check on the following file?

\codec\h264_enc\include\umc_h264_video_encoder_tmpl.cpp.h

In function:

Status H264ENC_MAKE_NAME(H264CoreEncoder_CheckEncoderParameters)( void* state)

On profile check part:

bool profile_check = true;

while( profile_check ){

.

}

You can run it with your parameter setting, and see if the encoder changed it to other profiles.

Thanks,
Chao

View solution in original post

0 Kudos