From cc05910f16a5ccd8e3dca26a89e9c3835cbdb645 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 4 Oct 2012 17:16:40 +0200 Subject: sub: cosmetics: move things around Move sub-bitmap definitions from dec_sub.h to sub.h. While it's a bit odd that OSD data structures are in a file named sub.h, it's definitely way too strange to have them in a file about subtitle decoding. (Maybe sub.h/.c and the sub/ directory should be split out and renamed "osd" at a later point.) Remove including ass_mp.h (and the libass headers) where possible. Remove typedefs for mp_eosd_res and sub_bitmaps structs. Store a mp_eosd_res struct in osd_state instead of just w/h. Note that sbtitles might be rendered using different sizes/margins when filters are involved (the subtitle renderer is not supposed to use the OSD res directly, and the "dim" member removed in the previous commit is something different). --- sub/dec_sub.h | 56 +++----------------------------------------------------- 1 file changed, 3 insertions(+), 53 deletions(-) (limited to 'sub/dec_sub.h') diff --git a/sub/dec_sub.h b/sub/dec_sub.h index 442cd870d8..9cfe8d964c 100644 --- a/sub/dec_sub.h +++ b/sub/dec_sub.h @@ -4,61 +4,11 @@ #include #include +#include "sub.h" + struct sh_sub; -struct osd_state; struct ass_track; - -enum sub_bitmap_format { - SUBBITMAP_EMPTY = 0,// no bitmaps; always has num_parts==0 - SUBBITMAP_LIBASS, // A8, with a per-surface blend color (libass.color) - SUBBITMAP_RGBA, // B8G8R8A8, can be scaled - SUBBITMAP_OLD, // I8A8 (monochrome), premultiplied alpha - SUBBITMAP_OLD_PLANAR, // like previous, but bitmap points to old_osd_planar - - SUBBITMAP_COUNT -}; - -// For SUBBITMAP_OLD_PANAR -struct old_osd_planar { - unsigned char *bitmap; - unsigned char *alpha; -}; - -typedef struct mp_eosd_res { - int w, h; // screen dimensions, including black borders - int mt, mb, ml, mr; // borders (top, bottom, left, right) -} mp_eosd_res_t; - -struct sub_bitmap { - void *bitmap; - int stride; - int w, h; - int x, y; - // Note: not clipped, going outside the screen area is allowed - int dw, dh; - - union { - struct { - uint32_t color; - } libass; - }; -}; - -typedef struct sub_bitmaps { - int render_index; // for VO cache state (limited by MAX_OSD_PARTS) - - enum sub_bitmap_format format; - bool scaled; // if false, dw==w && dh==h - - struct sub_bitmap *parts; - int num_parts; - - // Provided for VOs with old code - struct ass_image *imgs; - - // Incremented on each change - int bitmap_id, bitmap_pos_id; -} mp_eosd_images_t; +struct MPOpts *opts; struct sub_render_params { double pts; -- cgit v1.2.3