spudec.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:2k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * spudec.h : sub picture unit decoder thread interface
  3.  *****************************************************************************
  4.  * Copyright (C) 1999, 2000, 2006 the VideoLAN team
  5.  * $Id: 9e5b5fbbc5af385e43374423d114b7bd4cb24aef $
  6.  *
  7.  * Authors: Sam Hocevar <sam@zoy.org>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  22.  *****************************************************************************/
  23. /* #define DEBUG_SPUDEC 1 */
  24. struct decoder_sys_t
  25. {
  26.     int b_packetizer;
  27.     mtime_t i_pts;
  28.     unsigned int i_spu_size;
  29.     unsigned int i_rle_size;
  30.     unsigned int i_spu;
  31.     block_t *p_block;
  32.     /* We will never overflow */
  33.     uint8_t buffer[65536];
  34. };
  35. /*****************************************************************************
  36.  * Amount of bytes we GetChunk() in one go
  37.  *****************************************************************************/
  38. #define SPU_CHUNK_SIZE              0x200
  39. /*****************************************************************************
  40.  * SPU commands
  41.  *****************************************************************************/
  42. #define SPU_CMD_FORCE_DISPLAY       0x00
  43. #define SPU_CMD_START_DISPLAY       0x01
  44. #define SPU_CMD_STOP_DISPLAY        0x02
  45. #define SPU_CMD_SET_PALETTE         0x03
  46. #define SPU_CMD_SET_ALPHACHANNEL    0x04
  47. #define SPU_CMD_SET_COORDINATES     0x05
  48. #define SPU_CMD_SET_OFFSETS         0x06
  49. #define SPU_CMD_END                 0xff
  50. /*****************************************************************************
  51.  * Prototypes
  52.  *****************************************************************************/
  53. subpicture_t * ParsePacket( decoder_t * );