aboutsummaryrefslogtreecommitdiffstats
path: root/mediaplugin/src/base
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/base
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/base')
-rw-r--r--mediaplugin/src/base/UMusic.pas15
1 files changed, 12 insertions, 3 deletions
diff --git a/mediaplugin/src/base/UMusic.pas b/mediaplugin/src/base/UMusic.pas
index 1f7c8e8f..a4faa98a 100644
--- a/mediaplugin/src/base/UMusic.pas
+++ b/mediaplugin/src/base/UMusic.pas
@@ -417,9 +417,17 @@ type
property Position: real read GetPosition write SetPosition;
end;
+ TVideoFrameFormat = (
+ vffUnknown,
+ vffRGB, // packed RGB 24bpp (R:8,G:8,B:8)
+ vffRGBA, // packed RGBA 32bpp (R:8,G:8,B:8,A:8)
+ vffBGR, // packed RGB 24bpp (B:8,G:8,R:8)
+ vffBGRA // packed BGRA 32bpp (B:8,G:8,R:8,A:8)
+ );
+
TVideoDecodeStream = class
public
- function Open(const FileName: IPath): boolean; virtual; abstract;
+ function Open(const FileName: IPath; Format: TVideoFrameFormat): boolean; virtual; abstract;
procedure Close; virtual; abstract;
procedure SetLoop(Enable: boolean); virtual; abstract;
@@ -428,11 +436,12 @@ type
procedure SetPosition(Time: real); virtual; abstract;
function GetPosition: real; virtual; abstract;
- function GetFrameAspect(): real; virtual; abstract;
function GetFrame(Time: Extended): PByteArray; virtual; abstract;
function GetFrameWidth(): integer; virtual; abstract;
function GetFrameHeight(): integer; virtual; abstract;
+ function GetFrameAspect(): real; virtual; abstract;
+ function GetFrameFormat(): TVideoFrameFormat; virtual; abstract;
end;
type
@@ -525,7 +534,7 @@ type
IVideoDecoder = interface(IGenericDecoder)
['{2F184B2B-FE69-44D5-9031-0A2462391DCA}']
- function Open(const FileName: IPath): TVideoDecodeStream;
+ function Open(const FileName: IPath; Format: TVideoFrameFormat): TVideoDecodeStream;
end;
IAudioDecoder = interface(IGenericDecoder)