Blame src/libbluray/decoders/pg.h
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* This file is part of libbluray
|
|
Packit |
5e46da |
* Copyright (C) 2010 Petri Hintukainen <phintuka@users.sourceforge.net>
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is free software; you can redistribute it and/or
|
|
Packit |
5e46da |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License as published by the Free Software Foundation; either
|
|
Packit |
5e46da |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
5e46da |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
5e46da |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
5e46da |
* Lesser General Public License for more details.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License along with this library. If not, see
|
|
Packit |
5e46da |
* <http://www.gnu.org/licenses/>.
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#if !defined(_BD_PG_H_)
|
|
Packit |
5e46da |
#define _BD_PG_H_
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include "overlay.h"
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include <stdint.h>
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint16_t video_width;
|
|
Packit |
5e46da |
uint16_t video_height;
|
|
Packit |
5e46da |
uint8_t frame_rate;
|
|
Packit |
5e46da |
} BD_PG_VIDEO_DESCRIPTOR;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint16_t number;
|
|
Packit |
5e46da |
uint8_t state;
|
|
Packit |
5e46da |
} BD_PG_COMPOSITION_DESCRIPTOR;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t first_in_seq;
|
|
Packit |
5e46da |
uint8_t last_in_seq;
|
|
Packit |
5e46da |
} BD_PG_SEQUENCE_DESCRIPTOR;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint8_t id;
|
|
Packit |
5e46da |
uint16_t x;
|
|
Packit |
5e46da |
uint16_t y;
|
|
Packit |
5e46da |
uint16_t width;
|
|
Packit |
5e46da |
uint16_t height;
|
|
Packit |
5e46da |
} BD_PG_WINDOW;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
uint16_t object_id_ref;
|
|
Packit |
5e46da |
uint8_t window_id_ref;
|
|
Packit |
5e46da |
uint8_t forced_on_flag;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint16_t x;
|
|
Packit |
5e46da |
uint16_t y;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t crop_flag;
|
|
Packit |
5e46da |
uint16_t crop_x;
|
|
Packit |
5e46da |
uint16_t crop_y;
|
|
Packit |
5e46da |
uint16_t crop_w;
|
|
Packit |
5e46da |
uint16_t crop_h;
|
|
Packit |
5e46da |
} BD_PG_COMPOSITION_OBJECT;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
int64_t pts;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t id;
|
|
Packit |
5e46da |
uint8_t version;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PG_PALETTE_ENTRY entry[256];
|
|
Packit |
5e46da |
} BD_PG_PALETTE;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
int64_t pts;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint16_t id;
|
|
Packit |
5e46da |
uint8_t version;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint16_t width;
|
|
Packit |
5e46da |
uint16_t height;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PG_RLE_ELEM *img;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
} BD_PG_OBJECT;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
int64_t pts;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PG_VIDEO_DESCRIPTOR video_descriptor;
|
|
Packit |
5e46da |
BD_PG_COMPOSITION_DESCRIPTOR composition_descriptor;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
uint8_t palette_update_flag;
|
|
Packit |
5e46da |
uint8_t palette_id_ref;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
unsigned num_composition_objects;
|
|
Packit |
5e46da |
BD_PG_COMPOSITION_OBJECT *composition_object;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
} BD_PG_COMPOSITION;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct {
|
|
Packit |
5e46da |
int64_t pts;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
unsigned num_windows;
|
|
Packit |
5e46da |
BD_PG_WINDOW *window;
|
|
Packit |
5e46da |
} BD_PG_WINDOWS;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#endif // _BD_PG_H_
|