[libbluray-devel] Fixed "bc" (binary compare) instruction

npzacs git at videolan.org
Thu Apr 21 13:57:58 CEST 2011


libbluray | branch: master | npzacs <npzacs at gmail.com> | Thu Apr 21 12:57:47 2011 +0300| [6d00d542328a0709f10b38630644a5dddff4ec15] | committer: npzacs

Fixed "bc" (binary compare) instruction

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

 src/libbluray/hdmv/hdmv_vm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/libbluray/hdmv/hdmv_vm.c b/src/libbluray/hdmv/hdmv_vm.c
index 4c5ad04..aebd507 100644
--- a/src/libbluray/hdmv/hdmv_vm.c
+++ b/src/libbluray/hdmv/hdmv_vm.c
@@ -794,7 +794,7 @@ static int _hdmv_step(HDMV_VM *p)
                 BD_DEBUG(DBG_HDMV|DBG_CRIT, "missing operand in BRANCH/JUMP opcode 0x%08x] ", *(uint32_t*)insn);
             }
             switch (insn->cmp_opt) {
-                case INSN_BC: p->pc += !(dst &  src); break;
+                case INSN_BC: p->pc += !!(dst & ~src); break;
                 case INSN_EQ: p->pc += !(dst == src); break;
                 case INSN_NE: p->pc += !(dst != src); break;
                 case INSN_GE: p->pc += !(dst >= src); break;



More information about the libbluray-devel mailing list