summaryrefslogtreecommitdiffstats
path: root/DOCS/tech/vidix.txt
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/tech/vidix.txt')
-rw-r--r--DOCS/tech/vidix.txt78
1 files changed, 39 insertions, 39 deletions
diff --git a/DOCS/tech/vidix.txt b/DOCS/tech/vidix.txt
index 71409be69d..7308dde184 100644
--- a/DOCS/tech/vidix.txt
+++ b/DOCS/tech/vidix.txt
@@ -1,5 +1,5 @@
- VIDIX - VIDeo Interface for *niX
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ VIDIX - VIDeo Interface for *niX
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This interface was designed and introduced as interface to userspace drivers
to provide DGA everywhere where it's possible (unline X11).
@@ -40,43 +40,43 @@ So any suggestions, reports, criticism are gladly accepted.
7) APP calls vixConfigPlayback. Driver should prepare BES on this call.
APP pass to driver following info:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- vidix_playback_t.fourcc - contains fourcc of movie
- vidix_playback_t.capability - currently contsinas copy of vidix_capability_t.flags
+ vidix_playback_t.fourcc - contains fourcc of movie
+ vidix_playback_t.capability - currently contsinas copy of vidix_capability_t.flags
vidix_playback_t.blend_factor- currently unused
- vidix_playback_t.src - x,y,w,h fields contain original movie size
- (in pixels) x and y often are nulls.
+ vidix_playback_t.src - x,y,w,h fields contain original movie size
+ (in pixels) x and y often are nulls.
vidix_playback_t.src.pitch.y These fields contain source pitches
vidix_playback_t.src.pitch.u - for each Y,U,V plane in bytes.
vidix_playback_t.src.pitch.v (For packed fourcc only Y value is used)
- They are hints for driver to use same destinition
- pitches as in source memory (to speed up
- memcpy process).
- Note: when source pitches are unknown or
- variable these field will be filled into 0.
- vidix_playback_t.dest - x,y,w,h fields contains destinition rectange
- on the screen in pixels.
+ They are hints for driver to use same destinition
+ pitches as in source memory (to speed up
+ memcpy process).
+ Note: when source pitches are unknown or
+ variable these field will be filled into 0.
+ vidix_playback_t.dest - x,y,w,h fields contains destinition rectange
+ on the screen in pixels.
vidix_playback_t.num_frames - maximal # of frames which can be used by APP.
- (Currently 10).
+ (Currently 10).
Driver should fill following fields:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vidix_playback_t.num_frames - real # of frames which will be used by driver.
- (Should be less or equal to app's num_frames).
+ (Should be less or equal to app's num_frames).
vidix_playback_t.dest.pitch.y These fields should contain alignment
vidix_playback_t.dest.pitch.u - for each Y,U,V plane in bytes.
vidix_playback_t.dest.pitch.v (For packed fourcc only Y value is used)
- vidix_playback_t.frame_size - Driver should tell to app which size of
- source frame (src.w and src.h) should
- use APP (according to pitches and offsets)
+ vidix_playback_t.frame_size - Driver should tell to app which size of
+ source frame (src.w and src.h) should
+ use APP (according to pitches and offsets)
- vidix_playback_t.offsets - offsets from begin of BES memory for each frame
+ vidix_playback_t.offsets - offsets from begin of BES memory for each frame
- vidix_playback_t.offset.y These field should contain offset
- vidix_playback_t.offset.u - for each Y,U,V plane within frame.
- vidix_playback_t.offset.v (For packed fourcc only Y value is used)
+ vidix_playback_t.offset.y These field should contain offset
+ vidix_playback_t.offset.u - for each Y,U,V plane within frame.
+ vidix_playback_t.offset.v (For packed fourcc only Y value is used)
- vidix_playback_t.dga_addr - Address of BES memory.
+ vidix_playback_t.dga_addr - Address of BES memory.
Also see this picture:
@@ -85,9 +85,9 @@ VIDEO MEMORY layout:
| |
v v
[ RGB memory | YUV memory | UNDEF ]
- ^
- |
- +---- begin of BES memory
+ ^
+ |
+ +---- begin of BES memory
BES MEMORY layout:
+-------- begin of BES memory
@@ -109,22 +109,22 @@ offset of Y plane != offset of first frame
But often: vidix_playback_t.offsets[0] = vidix_playback_t.offset.y = 0;
Formula: (For Y plane) copy source to:
- vidix_playback_t.dga_addr +
- vidix_playback_t.offsets[i] +
- vidix_playback_t.offset.y
+ vidix_playback_t.dga_addr +
+ vidix_playback_t.offsets[i] +
+ vidix_playback_t.offset.y
8) APP calls vixPlaybackOn. Driver should activate BES on this call.
9) PLAYBACK. Driver should sleep here ;)
But during playback can be called:
vixFrameSelect (if this function is exported)
- Driver should prepare and activate corresponded frame.
- This function is used only for double and trilpe buffering and
- never used for single buffering playback.
+ Driver should prepare and activate corresponded frame.
+ This function is used only for double and trilpe buffering and
+ never used for single buffering playback.
vixGet(Set)GrKeys (if this function is exported)
- This interface should be tuned but intriduced for overlapped playback
- and video effects (TYPE_FX)
+ This interface should be tuned but intriduced for overlapped playback
+ and video effects (TYPE_FX)
vixPlaybackGet(Set)Eq (if this function is exported)
- For color correction.
+ For color correction.
10) APP calls vixPlaybackOff. Driver should deactivate BES on this call.
11) If vixDestroy is defined APP calls this function before unloading driver
from memory.
@@ -144,10 +144,10 @@ All other functions are optionaly.
Useful links:
~~~~~~~~~~~~~
-Guide to DTV http://www.digitaltelevision.com/dtvbook/toc.shtml
-Fourcc http://www.webartz.com/fourcc/
-MPEG http://www.mpeg.org/MPEG/index.html
-Analog colors http://www.miranda.com/en/app_notes/TN/TN-05/TN-05.htm
+Guide to DTV http://www.digitaltelevision.com/dtvbook/toc.shtml
+Fourcc http://www.webartz.com/fourcc/
+MPEG http://www.mpeg.org/MPEG/index.html
+Analog colors http://www.miranda.com/en/app_notes/TN/TN-05/TN-05.htm
Please send your suggestions, reports, feedback to mplayer-dev-eng@mplayerhq.hu
Best regards! Nick Kurshev.