1
mirror of https://github.com/mpv-player/mpv synced 2024-09-05 02:48:21 +02:00

spelling/grammar/wording

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16836 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
diego 2005-10-23 14:49:32 +00:00
parent a2220dbb7a
commit bd84c608ea

View File

@ -1,50 +1,50 @@
some draft of new osd engine:
=============================
draft of new OSD engine:
========================
written by A'rpi
including ideas from maillist from Jiri Svoboda, Tobias Diedrich, Artur Zaprzala
Michael Niedermayer, Felix Buenemann, LGB
including ideas from mailing list from Jiri Svoboda, Tobias Diedrich,
Artur Zaprzala, Michael Niedermayer, Felix Buenemann, LGB
requirements:
- be able to do partial rendering, within a given bounding box
usefull, when parts of osd are outside of teh image and has to be
updated only when osd changes, or even has different colorspace
useful when parts of the OSD are outside of the image and has to be
updated only when OSD changes, or even has different colorspace
- text should be rendered in 2-pass way: 1. alpha 2. pixels
so char's alpha won't overwrite previous char, and may be faster
- osd elements should be cached - so rendering once into the cache and
- OSD elements should be cached - so rendering once into the cache and
reuse this while it's unchanged
- colors support (csp could be YA, YUVA, RGB )
- color support (colorspace could be YA, YUVA, RGB)
- change brightness, saturation, hue of chars ???
- way to disable alphablending, and use black outline (FAST_OSD now)
- respect movie and monitor aspect, so osd is rendered/scaled correctly
eg. for svcd/anamorphic dvd with hardware scaling (now OSD is squashed)
- respect movie and monitor aspect, so OSD is rendered/scaled correctly
eg. for SVCD/anamorphic DVD with hardware scaling (now OSD is squashed)
- develop some text-based apps: osdterm, osdzilla etc ;)
Ok. The basic idea of my design is using 'osd objects', a data structure
Ok. The basic idea of my design is using 'OSD objects', a data structure
in a 1 (or 2?) way linked list.
There would be different object types, sharing type-dependent data in an
There would be different object types, sharing type-dependent data in a
union. The basic types: box, text, symbol, progressbar, group.
Group would be a special type, grouping other osd objects together,
with a common x,y and boundingbox. usefull for grouping symbol+progrbar
Group would be a special type, grouping other OSD objects together,
with a common x,y and boundingbox. Useful for grouping symbol+progrbar
or multiline subtitle text.
Each obj could have flags, for example:
Each object could have flags, for example:
- visible (set if we should display it)
- color (set if it's YUVA not YA)
- cached (set when there is a cached rendered variant)
- bbox updated (should be set when recalc bbox, reset when change params)
- several flags to control positioning. for example, x;y could be
absolute coord, or percent. flags to set left/center/right alignment...
absolute coordinates, or percent. flags to set left/center/right alignment...
- start and end timestamp, to automagically set/reset visible flag
ok, my first draft:
OK, my first draft:
typedef struct mp_osd_obj_s {
struct mp_osd_obj_s* next;