⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdrom.h

📁 vlc源码
💻 H
字号:
/**************************************************************************** * cdrom.h: cdrom tools header ***************************************************************************** * Copyright (C) 1998-2001 the VideoLAN team * $Id$ * * Authors: Johan Bilien <jobi@via.ecp.fr> *          Gildas Bazin <gbazin@netcourrier.com> * * This program 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. * * This program 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/#define CDDA_TYPE 0#define VCD_TYPE 1/* where the data start on a VCD sector */#define VCD_DATA_START 24/* size of the availablr data on a VCD sector */#define VCD_DATA_SIZE 2324/* size of a VCD sector, header and tail included */#define VCD_SECTOR_SIZE 2352/* size of a CD sector */#define CD_SECTOR_SIZE 2048/* sector containing the entry points */#define VCD_ENTRIES_SECTOR 151/* where the data start on a CDDA sector */#define CDDA_DATA_START 0/* size of the availablr data on a CDDA sector */#define CDDA_DATA_SIZE 2352/* size of a CDDA sector, header and tail included */#define CDDA_SECTOR_SIZE 2352/***************************************************************************** * Misc. Macros *****************************************************************************//* LBA = msf.frame + 75 * ( msf.second + 60 * msf.minute ) */#define MSF_TO_LBA(min, sec, frame) ((int)frame + 75 * (sec + 60 * min))/* LBA = msf.frame + 75 * ( msf.second - 2 + 60 * msf.minute ) */#define MSF_TO_LBA2(min, sec, frame) ((int)frame + 75 * (sec -2 + 60 * min))/* Converts BCD to Binary data */#define BCD_TO_BIN(i) \    (uint8_t)((uint8_t)(0xf & (uint8_t)i)+((uint8_t)10*((uint8_t)i >> 4)))typedef struct vcddev_s vcddev_t;/***************************************************************************** * structure to store minute/second/frame locations *****************************************************************************/typedef struct msf_s{    uint8_t minute;    uint8_t second;    uint8_t frame;} msf_t;/***************************************************************************** * entries_sect structure: the sector containing entry points *****************************************************************************/typedef struct entries_sect_s{    char psz_id[8];                                 /* "ENTRYVCD" */    uint8_t i_version;                              /* 0x02 VCD2.0                                                       0x01 SVCD  */    uint8_t i_sys_prof_tag;                         /* 0x01 if VCD1.1                                                       0x00 else */    uint16_t i_entries_nb;                          /* entries number <= 500 */    struct    {        uint8_t i_track;                            /* track number */        msf_t   msf;                                /* msf location                                                       (in BCD format) */    } entry[500];    uint8_t zeros[36];                              /* should be 0x00 */} entries_sect_t;/***************************************************************************** * Prototypes *****************************************************************************/vcddev_t *ioctl_Open         ( vlc_object_t *, const char * );void      ioctl_Close        ( vlc_object_t *, vcddev_t * );int       ioctl_GetTracksMap ( vlc_object_t *, const vcddev_t *, int ** );int       ioctl_ReadSectors  ( vlc_object_t *, const vcddev_t *,                               int, uint8_t *, int, int );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -