aboutsummaryrefslogtreecommitdiffstats
path: root/mediaplugin/src/media/UMediaPlugin.pas
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-12-22 18:21:41 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-12-22 18:21:41 +0000
commit1822c266c552a76cdbe75288515b5abfa9a41d5d (patch)
tree7c522487d3c1bdb54ec1d3fcb1220f6cc1abddd9 /mediaplugin/src/media/UMediaPlugin.pas
parent71e7b0bb663197c4bbc4aad55082dd6424e0fb33 (diff)
downloadusdx-1822c266c552a76cdbe75288515b5abfa9a41d5d.tar.gz
usdx-1822c266c552a76cdbe75288515b5abfa9a41d5d.tar.xz
usdx-1822c266c552a76cdbe75288515b5abfa9a41d5d.zip
support for video pixel format selection
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2767 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'mediaplugin/src/media/UMediaPlugin.pas')
-rw-r--r--mediaplugin/src/media/UMediaPlugin.pas13
1 files changed, 12 insertions, 1 deletions
diff --git a/mediaplugin/src/media/UMediaPlugin.pas b/mediaplugin/src/media/UMediaPlugin.pas
index cf25e033..8d4a8a7e 100644
--- a/mediaplugin/src/media/UMediaPlugin.pas
+++ b/mediaplugin/src/media/UMediaPlugin.pas
@@ -119,11 +119,22 @@ type
getRatio: function(stream: PAudioConvertStream): double; cdecl;
end;
+type
+ TCVideoFrameFormat = cint;
+const
+ FRAME_FORMAT_UNKNOWN = 0;
+ FRAME_FORMAT_RGB = 1; // packed RGB 24bpp (R:8,G:8,B:8)
+ FRAME_FORMAT_RGBA = 2; // packed RGBA 32bpp (R:8,G:8,B:8,A:8)
+ FRAME_FORMAT_BGR = 3; // packed RGB 24bpp (B:8,G:8,R:8)
+ FRAME_FORMAT_BGRA = 4; // packed BGRA 32bpp (B:8,G:8,R:8,A:8)
+
+type
PVideoFrameInfo = ^TVideoFrameInfo;
TVideoFrameInfo = record
width: cint;
height: cint;
aspect: double;
+ format: TCVideoFrameFormat;
end;
PVideoDecoderInfo = ^TVideoDecoderInfo;
@@ -131,7 +142,7 @@ type
priority: cint;
init: function(): cbool; cdecl;
finalize: function(): cbool; cdecl;
- open: function(filename: PAnsiChar): PVideoDecodeStream; cdecl;
+ open: function(filename: PAnsiChar; format: TCVideoFrameFormat): PVideoDecodeStream; cdecl;
close: procedure(stream: PVideoDecodeStream); cdecl;
setLoop: procedure(stream: PVideoDecodeStream; enable: cbool); cdecl;
getLoop: function(stream: PVideoDecodeStream): cbool; cdecl;