Mercurial > libdvdnav.hg
view decoder.h @ 14:ebf344d11bde src
Some improvements to decoder.c
Registers should be updated correctly now, but still needs checking.
author | jcdutton |
---|---|
date | Wed, 10 Apr 2002 13:09:40 +0000 |
parents | 6f0fb88d1463 |
children | 74aee0b81da0 |
line wrap: on
line source
/* * Copyright (C) 2000, 2001 Martin Norbäck, Håkan Hjort * * This file is part of libdvdnav, a DVD navigation library. It is modified * from a file originally part of the Ogle DVD player. * * libdvdnav is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * libdvdnav is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * * $Id$ * */ #ifndef DECODER_H_INCLUDED #define DECODER_H_INCLUDED #include "config.h" #include <inttypes.h> #include <dvdread/ifo_types.h> /* vm_cmd_t */ /* Uncomment for tracing */ #define TRACE typedef enum { LinkNoLink = 0, LinkTopC = 1, LinkNextC = 2, LinkPrevC = 3, LinkTopPG = 5, LinkNextPG = 6, LinkPrevPG = 7, LinkTopPGC = 9, LinkNextPGC = 10, LinkPrevPGC = 11, LinkGoUpPGC = 12, LinkTailPGC = 13, LinkRSM = 16, LinkPGCN, LinkPTTN, LinkPGN, LinkCN, Exit, JumpTT, /* 22 */ JumpVTS_TT, JumpVTS_PTT, JumpSS_FP, JumpSS_VMGM_MENU, JumpSS_VTSM, JumpSS_VMGM_PGC, CallSS_FP, /* 29 */ CallSS_VMGM_MENU, CallSS_VTSM, CallSS_VMGM_PGC, PlayThis } link_cmd_t; typedef struct { link_cmd_t command; uint16_t data1; uint16_t data2; uint16_t data3; } link_t; typedef struct { uint16_t SPRM[24]; uint16_t GPRM[16]; uint8_t GPRM_mode[16]; /* Need to have some thing to indicate normal/counter mode for every GPRM */ } registers_t; int vmEval_CMD(vm_cmd_t commands[], int num_commands, registers_t *registers, link_t *return_values); void vmPrint_LINK(link_t value); void vmPrint_registers( registers_t *registers ); #endif /* DECODER_H_INCLUDED */