[libbluray-devel] HDMV: change page UO mask before in effects

hpi1 git at videolan.org
Wed Apr 22 12:44:12 CEST 2015


libbluray | branch: master | hpi1 <hpi1 at anonymous.org> | Wed Apr 22 12:41:15 2015 +0300| [1532ed40cfb81e6880fb4fd564502994df23f09e] | committer: hpi1

HDMV: change page UO mask before in effects

> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=1532ed40cfb81e6880fb4fd564502994df23f09e
---

 src/libbluray/decoders/graphics_controller.c |   19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/libbluray/decoders/graphics_controller.c b/src/libbluray/decoders/graphics_controller.c
index 02b8794..790a6e6 100644
--- a/src/libbluray/decoders/graphics_controller.c
+++ b/src/libbluray/decoders/graphics_controller.c
@@ -1381,13 +1381,6 @@ static int _render_page(GRAPHICS_CONTROLLER *gc,
         }
         gc->out_effects = NULL;
     }
-    if (gc->in_effects) {
-        if (gc->effect_idx < gc->in_effects->num_effects) {
-            _render_effect(gc, &gc->in_effects->effect[gc->effect_idx]);
-            return 1;
-        }
-        gc->in_effects = NULL;
-    }
 
     page = _find_page(&s->ics->interactive_composition, page_id);
     if (!page) {
@@ -1396,6 +1389,16 @@ static int _render_page(GRAPHICS_CONTROLLER *gc,
         return -1;
     }
 
+    gc->page_uo_mask = page->uo_mask_table;
+
+    if (gc->in_effects) {
+        if (gc->effect_idx < gc->in_effects->num_effects) {
+            _render_effect(gc, &gc->in_effects->effect[gc->effect_idx]);
+            return 1;
+        }
+        gc->in_effects = NULL;
+    }
+
     palette = _find_palette(s, page->palette_id_ref);
     if (!palette) {
         GC_ERROR("_render_page: unknown palette id %d (have %d palettes)\n",
@@ -1412,8 +1415,6 @@ static int _render_page(GRAPHICS_CONTROLLER *gc,
                   s->ics->video_descriptor.video_height);
     }
 
-    gc->page_uo_mask = page->uo_mask_table;
-
     for (ii = 0; ii < page->num_bogs; ii++) {
         BD_IG_BOG    *bog      = &page->bog[ii];
         unsigned      valid_id = gc->bog_data[ii].enabled_button;



More information about the libbluray-devel mailing list