diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2013-03-10 10:24:53 +0100 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2013-03-10 10:24:53 +0100 |
commit | 61da6ed883804e3fb97bc1ad314585a52383cf4c (patch) | |
tree | de51a9925d95f31c897f841aeb0d8fa075b1461d /community/xvba-video-open/xvba-video-h264-level51.patch | |
parent | 0a353bad57296d34a69b3df25e53a6b00d3bd369 (diff) | |
parent | 6ee08d6a9217906f2ef84f70923d3d362d4b40ad (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community/luajit/PKGBUILD
extra/speech-dispatcher/PKGBUILD
extra/xine-lib/PKGBUILD
libre/cups-filters-libre/PKGBUILD
libre/file-roller-libre/PKGBUILD
Diffstat (limited to 'community/xvba-video-open/xvba-video-h264-level51.patch')
-rw-r--r-- | community/xvba-video-open/xvba-video-h264-level51.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/community/xvba-video-open/xvba-video-h264-level51.patch b/community/xvba-video-open/xvba-video-h264-level51.patch new file mode 100644 index 000000000..a617a90ab --- /dev/null +++ b/community/xvba-video-open/xvba-video-h264-level51.patch @@ -0,0 +1,33 @@ +diff -rup xvba-video.orig/src/xvba_buffer.c xvba-video/src/xvba_buffer.c +--- xvba-video.orig/src/xvba_buffer.c 2011-09-08 03:17:28.000000000 +0200 ++++ xvba-video/src/xvba_buffer.c 2012-07-03 21:38:04.851465348 +0200 +@@ -368,23 +368,18 @@ translate_VAPictureParameterBufferH264( + 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; +- 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" +- ); +- } ++ if (profile == XVBA_H264_HIGH && level == 41) { + +- /* 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 mbh = (obj_context->picture_height + 15) / 16; + const unsigned int max_ref_frames = 12288 * 1024 / (mbw * mbh * 384); + if (max_ref_frames < num_ref_frames) +- num_ref_frames = max_ref_frames; ++ level = 51; + } + + XVBABufferDescriptor * const xvba_buffer = obj_surface->pic_desc_buffer; |