|
@@ -236,6 +236,19 @@ TYPE
|
|
|
|
|
|
END VideoDecoder;
|
|
END VideoDecoder;
|
|
|
|
|
|
|
|
+ VideoEncoder* = OBJECT
|
|
|
|
+ (* open the encoder *)
|
|
|
|
+ PROCEDURE Open*(out : Streams.Writer; VAR res : WORD);
|
|
|
|
+ END Open;
|
|
|
|
+
|
|
|
|
+ PROCEDURE Write*(img : Raster.Image);
|
|
|
|
+ END Write;
|
|
|
|
+
|
|
|
|
+ PROCEDURE Close*(VAR res : WORD);
|
|
|
|
+ END Close;
|
|
|
|
+
|
|
|
|
+ END VideoEncoder;
|
|
|
|
+
|
|
ImageDecoder* = OBJECT
|
|
ImageDecoder* = OBJECT
|
|
(* open the decoder on an InputStream *)
|
|
(* open the decoder on an InputStream *)
|
|
PROCEDURE Open*(in : Streams.Reader; VAR res : WORD);
|
|
PROCEDURE Open*(in : Streams.Reader; VAR res : WORD);
|
|
@@ -373,6 +386,7 @@ TYPE
|
|
AudioEncoderFactory = PROCEDURE () : AudioEncoder;
|
|
AudioEncoderFactory = PROCEDURE () : AudioEncoder;
|
|
|
|
|
|
VideoDecoderFactory = PROCEDURE () : VideoDecoder;
|
|
VideoDecoderFactory = PROCEDURE () : VideoDecoder;
|
|
|
|
+ VideoEncoderFactory = PROCEDURE () : VideoEncoder;
|
|
|
|
|
|
ImageDecoderFactory = PROCEDURE () : ImageDecoder;
|
|
ImageDecoderFactory = PROCEDURE () : ImageDecoder;
|
|
ImageEncoderFactory = PROCEDURE () : ImageEncoder;
|
|
ImageEncoderFactory = PROCEDURE () : ImageEncoder;
|
|
@@ -489,6 +503,23 @@ BEGIN
|
|
RETURN decoder;
|
|
RETURN decoder;
|
|
END GetVideoDecoder;
|
|
END GetVideoDecoder;
|
|
|
|
|
|
|
|
+(** Return a registered video encoder *)
|
|
|
|
+PROCEDURE GetVideoEncoder*(CONST name : ARRAY OF CHAR) : VideoEncoder;
|
|
|
|
+VAR
|
|
|
|
+ encoder : VideoEncoder; factory : VideoEncoderFactory;
|
|
|
|
+ moduleName, procedureName : Modules.Name; res : WORD;
|
|
|
|
+BEGIN
|
|
|
|
+ encoder := NIL;
|
|
|
|
+ GetEncoderFactoryName("Video", name, moduleName, procedureName, res);
|
|
|
|
+ IF (res = ResOk) THEN
|
|
|
|
+ GETPROCEDURE(moduleName, procedureName, factory);
|
|
|
|
+ IF (factory # NIL) THEN
|
|
|
|
+ encoder := factory();
|
|
|
|
+ END;
|
|
|
|
+ END;
|
|
|
|
+ RETURN encoder;
|
|
|
|
+END GetVideoEncoder;
|
|
|
|
+
|
|
(** Return a registered audio decoder e.g. "MP3" *)
|
|
(** Return a registered audio decoder e.g. "MP3" *)
|
|
PROCEDURE GetAudioDecoder*(CONST name : ARRAY OF CHAR) : AudioDecoder;
|
|
PROCEDURE GetAudioDecoder*(CONST name : ARRAY OF CHAR) : AudioDecoder;
|
|
VAR
|
|
VAR
|
|
@@ -523,6 +554,7 @@ BEGIN
|
|
RETURN encoder;
|
|
RETURN encoder;
|
|
END GetAudioEncoder;
|
|
END GetAudioEncoder;
|
|
|
|
|
|
|
|
+(** Return a registered text decoder e.g. "UTF-8" *)
|
|
PROCEDURE GetTextDecoder*(CONST name : ARRAY OF CHAR) : TextDecoder;
|
|
PROCEDURE GetTextDecoder*(CONST name : ARRAY OF CHAR) : TextDecoder;
|
|
VAR
|
|
VAR
|
|
decoder : TextDecoder; factory : TextDecoderFactory;
|
|
decoder : TextDecoder; factory : TextDecoderFactory;
|
|
@@ -539,7 +571,7 @@ BEGIN
|
|
RETURN decoder;
|
|
RETURN decoder;
|
|
END GetTextDecoder;
|
|
END GetTextDecoder;
|
|
|
|
|
|
-(** Return a registered image decoder e.g. "BMP" *)
|
|
|
|
|
|
+(** Return a registered text encoder e.g. "Oberon" *)
|
|
PROCEDURE GetTextEncoder*(CONST name : ARRAY OF CHAR) : TextEncoder;
|
|
PROCEDURE GetTextEncoder*(CONST name : ARRAY OF CHAR) : TextEncoder;
|
|
VAR
|
|
VAR
|
|
encoder : TextEncoder; factory : TextEncoderFactory;
|
|
encoder : TextEncoder; factory : TextEncoderFactory;
|