34#ifdef BLURAY_API_EXPORT
35#include "util/attributes.h"
36#elif !defined(BD_PUBLIC)
41#define BD_OVERLAY_INTERFACE_VERSION 3
84typedef struct bd_pg_palette_entry_s {
94typedef struct bd_pg_rle_elem_s {
102typedef struct bd_overlay_s {
131 memcpy(ov, src,
sizeof(*ov));
173typedef struct bd_argb_overlay_s {
202typedef struct bd_argb_buffer_s {
207 void (*
lock) (
struct bd_argb_buffer_s *);
208 void (*
unlock)(
struct bd_argb_buffer_s *);
BD_PUBLIC void bd_refcnt_dec(const void *)
Release reference-counted object.
bd_argb_overlay_cmd_e
ARGB overlay event type.
Definition overlay.h:158
@ BD_ARGB_OVERLAY_INIT
Initialize overlay plane.
Definition overlay.h:160
@ BD_ARGB_OVERLAY_CLOSE
Close overlay plane.
Definition overlay.h:161
@ BD_ARGB_OVERLAY_DRAW
Draw ARGB image on plane.
Definition overlay.h:166
@ BD_ARGB_OVERLAY_FLUSH
All changes have been done, flush overlay to display at given pts.
Definition overlay.h:167
bd_overlay_cmd_e
YUV overlay event type.
Definition overlay.h:59
@ BD_OVERLAY_INIT
Initialize overlay plane.
Definition overlay.h:61
@ BD_OVERLAY_WIPE
Clear area.
Definition overlay.h:69
@ BD_OVERLAY_HIDE
Overlay is empty and can be hidden.
Definition overlay.h:70
@ BD_OVERLAY_DRAW
Draw bitmap.
Definition overlay.h:68
@ BD_OVERLAY_CLEAR
Clear overlay plane.
Definition overlay.h:67
@ BD_OVERLAY_CLOSE
Close overlay plane.
Definition overlay.h:62
@ BD_OVERLAY_FLUSH
All changes have been done, flush overlay to display at given pts.
Definition overlay.h:72
bd_overlay_plane_e
Overlay plane.
Definition overlay.h:46
@ BD_OVERLAY_IG
Interactive Graphics plane (on top of PG plane).
Definition overlay.h:48
@ BD_OVERLAY_BG
Background Graphics plane (behind video).
Definition overlay.h:49
@ BD_OVERLAY_PG
Presentation Graphics plane.
Definition overlay.h:47
BD_PUBLIC const void * bd_refcnt_inc(const void *)
Hold reference-counted object.
Application-allocated frame buffer for ARGB overlays.
Definition overlay.h:202
void(* unlock)(struct bd_argb_buffer_s *)
Unlock buffer (write complete).
Definition overlay.h:208
int height
overlay buffer height (pixels)
Definition overlay.h:224
int width
overlay buffer width (pixels)
Definition overlay.h:223
void(* lock)(struct bd_argb_buffer_s *)
Lock (or prepare) buffer for writing.
Definition overlay.h:207
uint16_t x0
top-left x coordinate
Definition overlay.h:231
uint16_t y0
top-left y coordinate
Definition overlay.h:232
uint32_t * buf[6]
[0] - PG plane, [1] - IG plane, [2] - Background plane.
Definition overlay.h:216
uint16_t x1
bottom-down x coordinate
Definition overlay.h:233
uint16_t y1
bottom-down y coordinate
Definition overlay.h:234
ARGB overlay event.
Definition overlay.h:173
uint16_t y
top-left y coordinate
Definition overlay.h:184
int64_t pts
Event timestamp, on video grid.
Definition overlay.h:174
uint16_t h
region height
Definition overlay.h:186
const uint32_t * argb
ARGB image data, 'h' lines, line stride 'stride' pixels.
Definition overlay.h:189
uint8_t cmd
Overlay event type (bd_argb_overlay_cmd_e).
Definition overlay.h:176
uint8_t plane
Overlay plane (bd_overlay_plane_e).
Definition overlay.h:175
uint16_t x
top-left x coordinate
Definition overlay.h:183
uint16_t stride
ARGB buffer stride.
Definition overlay.h:188
uint16_t w
region width
Definition overlay.h:185
YUV overlay event.
Definition overlay.h:102
uint8_t cmd
Overlay event type (bd_overlay_cmd_e).
Definition overlay.h:105
const BD_PG_PALETTE_ENTRY * palette
overlay palette (256 entries)
Definition overlay.h:114
uint16_t x
top-left x coordinate
Definition overlay.h:109
uint8_t palette_update_flag
Set if only overlay palette is changed.
Definition overlay.h:107
int64_t pts
Timestamp, on video grid.
Definition overlay.h:103
uint16_t y
top-left y coordinate
Definition overlay.h:110
uint16_t w
region width
Definition overlay.h:111
uint8_t plane
Overlay plane (bd_overlay_plane_e).
Definition overlay.h:104
uint16_t h
region height
Definition overlay.h:112
const BD_PG_RLE_ELEM * img
RLE-compressed overlay image.
Definition overlay.h:115
Overlay palette entry.
Definition overlay.h:84
uint8_t T
Transparency ( 0...255).
Definition overlay.h:88
uint8_t Cb
Cb component (16...240).
Definition overlay.h:87
uint8_t Y
Y component (16...235).
Definition overlay.h:85
uint8_t Cr
Cr component (16...240).
Definition overlay.h:86
RLE element.
Definition overlay.h:94
uint16_t len
RLE run length.
Definition overlay.h:95
uint16_t color
palette index
Definition overlay.h:96