Commit 1b6da36d authored by OpenSUSE's avatar OpenSUSE Committed by Jean-Paul Saman

src/xvba_buffer.c: enable H.264 Level 5.1 support

Enable H.264 Level 5.1 in xvba-video VA API plugin. To enable
this a change must be made in ATI configuration database.

Important notice:
=================
It is require to enable H.264 Level 5.1 in the fglrx driver
(for the moment AMD Catalyst 12.6):

  aticonfig --set-pcs-u32=MCIL,HWUVD_H264Level51Support,1
parent 15b861f7
...@@ -371,23 +371,18 @@ translate_VAPictureParameterBufferH264( ...@@ -371,23 +371,18 @@ translate_VAPictureParameterBufferH264(
obj_context->picture_height obj_context->picture_height
); );
/* Check for H.264 content over HP@L4.1 */ /* Check for wrongly coded H264 Level 41
adjust profile to Level 51 when reframes are too many
*/
unsigned int num_ref_frames = pic_param->num_ref_frames; unsigned int num_ref_frames = pic_param->num_ref_frames;
if (profile == XVBA_H264_HIGH && level > 41) { if (profile == XVBA_H264_HIGH && level == 41) {
if (!driver_data->warn_h264_over_hp_l41) {
driver_data->warn_h264_over_hp_l41 = 1;
xvba_information_message(
"driver does not support H.264 content over HP@L4.1. "
"Please upgrade.\n"
);
}
/* Use fail-safe values (lower ref frames) */ /* Increase Level to decode pseudo Level 41 as Level 51 */
const unsigned int mbw = pic_param->picture_width_in_mbs_minus1 + 1; const unsigned int mbw = pic_param->picture_width_in_mbs_minus1 + 1;
const unsigned int mbh = (obj_context->picture_height + 15) / 16; const unsigned int mbh = (obj_context->picture_height + 15) / 16;
const unsigned int max_ref_frames = 12288 * 1024 / (mbw * mbh * 384); const unsigned int max_ref_frames = 12288 * 1024 / (mbw * mbh * 384);
if (max_ref_frames < num_ref_frames) if (max_ref_frames < num_ref_frames)
num_ref_frames = max_ref_frames; level = 51;
} }
XVBABufferDescriptor * const xvba_buffer = obj_surface->pic_desc_buffer; XVBABufferDescriptor * const xvba_buffer = obj_surface->pic_desc_buffer;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment