00001 /* 00002 * This file is part of libbluray 00003 * Copyright (C) 2010 hpi1 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library. If not, see 00017 * <http://www.gnu.org/licenses/>. 00018 */ 00019 00020 #ifndef BD_OVERLAY_H_ 00021 #define BD_OVERLAY_H_ 00022 00023 #include <stdint.h> 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 typedef enum { 00030 BD_OVERLAY_PG = 0, /* Presentation Graphics plane */ 00031 BD_OVERLAY_IG = 1, /* Interactive Graphics plane (on top of PG plane) */ 00032 } bd_overlay_plane_e; 00033 00034 typedef struct bd_pg_palette_entry_s { 00035 uint8_t Y; 00036 uint8_t Cr; 00037 uint8_t Cb; 00038 uint8_t T; 00039 } BD_PG_PALETTE_ENTRY; 00040 00041 typedef struct bd_pg_rle_elem_s { 00042 uint16_t len; 00043 uint16_t color; 00044 } BD_PG_RLE_ELEM; 00045 00046 typedef struct bd_overlay_s { 00047 int64_t pts; 00048 uint8_t plane; /* bd_overlay_plane_e */ 00049 00050 uint16_t x; 00051 uint16_t y; 00052 uint16_t w; 00053 uint16_t h; 00054 00055 const BD_PG_PALETTE_ENTRY * palette; 00056 const BD_PG_RLE_ELEM * img; 00057 } BD_OVERLAY; 00058 00059 #ifdef __cplusplus 00060 }; 00061 #endif 00062 00063 #endif // BD_OVERLAY_H_
1.6.3