diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-12-22 18:21:41 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-12-22 18:21:41 +0000 |
commit | 1822c266c552a76cdbe75288515b5abfa9a41d5d (patch) | |
tree | 7c522487d3c1bdb54ec1d3fcb1220f6cc1abddd9 /mediaplugin/src/base | |
parent | 71e7b0bb663197c4bbc4aad55082dd6424e0fb33 (diff) | |
download | usdx-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.pas | 15 |
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) |