Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

H264 Baseline Profile

vardar
Beginner
938 Views
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
1 Solution
Chao_Y_Intel
Moderator
938 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
Chao_Y_Intel
Moderator
939 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

0 Kudos
Reply