aboutsummaryrefslogtreecommitdiffstats
path: root/mediaplugin/src/media
diff options
context:
space:
mode:
authortobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-12-22 11:52:39 +0000
committertobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-12-22 11:52:39 +0000
commit71e7b0bb663197c4bbc4aad55082dd6424e0fb33 (patch)
treec79cc705da2c3e986aa33fed999b236c310c931f /mediaplugin/src/media
parentdbdb5b7e4fc5acd72c9283990a412fffb7bb33c3 (diff)
downloadusdx-71e7b0bb663197c4bbc4aad55082dd6424e0fb33.tar.gz
usdx-71e7b0bb663197c4bbc4aad55082dd6424e0fb33.tar.xz
usdx-71e7b0bb663197c4bbc4aad55082dd6424e0fb33.zip
meld video-frame info (width/height/aspect) to reduce exported functions
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2766 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'mediaplugin/src/media')
-rw-r--r--mediaplugin/src/media/UMediaPlugin.pas11
-rw-r--r--mediaplugin/src/media/UVideoDecoderPlugin.pas15
2 files changed, 20 insertions, 6 deletions
diff --git a/mediaplugin/src/media/UMediaPlugin.pas b/mediaplugin/src/media/UMediaPlugin.pas
index 8632b9df..cf25e033 100644
--- a/mediaplugin/src/media/UMediaPlugin.pas
+++ b/mediaplugin/src/media/UMediaPlugin.pas
@@ -119,6 +119,13 @@ type
getRatio: function(stream: PAudioConvertStream): double; cdecl;
end;
+ PVideoFrameInfo = ^TVideoFrameInfo;
+ TVideoFrameInfo = record
+ width: cint;
+ height: cint;
+ aspect: double;
+ end;
+
PVideoDecoderInfo = ^TVideoDecoderInfo;
TVideoDecoderInfo = record
priority: cint;
@@ -130,9 +137,7 @@ type
getLoop: function(stream: PVideoDecodeStream): cbool; cdecl;
setPosition: procedure(stream: PVideoDecodeStream; time: double); cdecl;
getPosition: function(stream: PVideoDecodeStream): double; cdecl;
- getFrameWidth: function(stream: PVideoDecodeStream): cint; cdecl;
- getFrameHeight: function(stream: PVideoDecodeStream): cint; cdecl;
- getFrameAspect: function(stream: PVideoDecodeStream): double; cdecl;
+ getFrameInfo: procedure(stream: PVideoDecodeStream; info: PVideoFrameInfo); cdecl;
getFrame: function (stream: PVideoDecodeStream; time: clongdouble): PCuint8; cdecl;
end;
diff --git a/mediaplugin/src/media/UVideoDecoderPlugin.pas b/mediaplugin/src/media/UVideoDecoderPlugin.pas
index 722928d8..ef411023 100644
--- a/mediaplugin/src/media/UVideoDecoderPlugin.pas
+++ b/mediaplugin/src/media/UVideoDecoderPlugin.pas
@@ -204,18 +204,27 @@ begin
end;
function TPluginVideoDecodeStream.GetFrameWidth(): integer;
+var
+ FrameInfo: TVideoFrameInfo;
begin
- Result := fVideoDecoderInfo.getFrameWidth(fStream);
+ fVideoDecoderInfo.getFrameInfo(fStream, @FrameInfo);
+ Result := FrameInfo.width;
end;
function TPluginVideoDecodeStream.GetFrameHeight(): integer;
+var
+ FrameInfo: TVideoFrameInfo;
begin
- Result := fVideoDecoderInfo.getFrameHeight(fStream);
+ fVideoDecoderInfo.getFrameInfo(fStream, @FrameInfo);
+ Result := FrameInfo.height;
end;
function TPluginVideoDecodeStream.GetFrameAspect(): real;
+var
+ FrameInfo: TVideoFrameInfo;
begin
- Result := fVideoDecoderInfo.getFrameAspect(fStream);
+ fVideoDecoderInfo.getFrameInfo(fStream, @FrameInfo);
+ Result := FrameInfo.aspect;
end;
end.