From 2a39c305cd831d669ff0790bb1e1eaa577595d62 Mon Sep 17 00:00:00 2001 From: tobigun Date: Tue, 22 Apr 2008 15:52:18 +0000 Subject: ffmpeg update to a newer version git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1029 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/lib/ffmpeg/avcodec.pas | 29 ++++++++++++++++++++----- Game/Code/lib/ffmpeg/avformat.pas | 29 +++++++++++++++++++++---- Game/Code/lib/ffmpeg/avio.pas | 42 +++++++++++++++++++++++++++++++++++- Game/Code/lib/ffmpeg/avutil.pas | 14 ++++++------ Game/Code/lib/ffmpeg/mathematics.pas | 8 +++---- Game/Code/lib/ffmpeg/rational.pas | 12 +++++------ 6 files changed, 107 insertions(+), 27 deletions(-) (limited to 'Game/Code/lib/ffmpeg') diff --git a/Game/Code/lib/ffmpeg/avcodec.pas b/Game/Code/lib/ffmpeg/avcodec.pas index 9260f6dd..3cd880c8 100644 --- a/Game/Code/lib/ffmpeg/avcodec.pas +++ b/Game/Code/lib/ffmpeg/avcodec.pas @@ -23,7 +23,7 @@ (* * Min. version: 51.16.0 - * Max. version: 51.51.0, revision 12352, Thu Mar 6 17:41:31 2008 UTC + * Max. version: 51.54.0, revision 12796, Sun Apr 13 07:48:43 2008 UTC *) unit avcodec; @@ -47,7 +47,7 @@ uses const (* Max. supported version by this header *) LIBAVCODEC_MAX_VERSION_MAJOR = 51; - LIBAVCODEC_MAX_VERSION_MINOR = 51; + LIBAVCODEC_MAX_VERSION_MINOR = 54; LIBAVCODEC_MAX_VERSION_RELEASE = 0; LIBAVCODEC_MAX_VERSION = (LIBAVCODEC_MAX_VERSION_MAJOR * VERSION_MAJOR) + (LIBAVCODEC_MAX_VERSION_MINOR * VERSION_MINOR) + @@ -78,6 +78,8 @@ const type TCodecID = ( CODEC_ID_NONE, + + (* video codecs *) CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO, //* prefered ID for MPEG Video 1/2 decoding */ CODEC_ID_MPEG2VIDEO_XVMC, @@ -194,6 +196,12 @@ type CODEC_ID_SUNRAST, CODEC_ID_INDEO4, CODEC_ID_INDEO5, + CODEC_ID_MIMIC, + CODEC_ID_RL2, + CODEC_ID_8SVX_EXP, + CODEC_ID_8SVX_FIB, + CODEC_ID_ESCAPE124, + CODEC_ID_DIRAC, //* various PCM "codecs" */ CODEC_ID_PCM_S16LE= $10000, @@ -258,6 +266,7 @@ type CODEC_ID_XAN_DPCM, CODEC_ID_SOL_DPCM, + (* audio codecs *) CODEC_ID_MP2= $15000, CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 CODEC_ID_AAC, @@ -312,7 +321,7 @@ type CODEC_ID_SSA, CODEC_ID_MOV_TEXT, - (* other specific kind of codecs (generaly used for attachments) *) + (* other specific kind of codecs (generally used for attachments) *) CODEC_ID_TTF= $18000, CODEC_ID_MPEG2TS= $20000, {*< _FAKE_ codec to indicate a raw MPEG-2 TS @@ -651,6 +660,8 @@ type age: integer; (** * is this picture used as reference + * The values for this are the same as the MpegEncContext.picture_structure + * variable, that is 1->top field, 2->bottom field, 3->frame/both fields. * - encoding: unused * - decoding: Set by libavcodec. (before get_buffer() call)). *) @@ -1328,7 +1339,7 @@ type get_buffer: function (c: PAVCodecContext; pic: PAVFrame): integer; cdecl; (** - * Called to release buffers which where allocated with get_buffer. + * Called to release buffers which were allocated with get_buffer. * A released buffer can be reused in get_buffer(). * pic.data[*] must be set to NULL. * - encoding: unused @@ -2294,8 +2305,16 @@ type close: function (avctx: PAVCodecContext): integer; cdecl; decode: function (avctx: PAVCodecContext; outdata: pointer; outdata_size: PInteger; {const} buf: pchar; buf_size: integer): integer; cdecl; + (** + * Codec capabilities. + * see CODEC_CAP_* + *) capabilities: integer; next: PAVCodec; + (** + * Flush buffers. + * Will be called when seeking + *) flush: procedure (avctx: PAVCodecContext); cdecl; {const} supported_framerates: PAVRational; ///array of supported framerates, or NULL if any, array is terminated by {0,0} {const} pix_fmts: PAVPixelFormat; ///array of supported pixel formats, or NULL if unknown, array is terminanted by -1 @@ -3111,7 +3130,7 @@ procedure av_free_static (); * and should correctly use static arrays *) procedure av_mallocz_static(size: cardinal); - cdecl; external av__codec; deprecated; + cdecl; external av__codec; deprecated; {av_malloc_attrib av_alloc_size(1)} {$IF LIBAVCODEC_VERSION < 51035000} // 51.35.0 procedure av_realloc_static(ptr: pointer; size: Cardinal); diff --git a/Game/Code/lib/ffmpeg/avformat.pas b/Game/Code/lib/ffmpeg/avformat.pas index fc2460d0..be7dce09 100644 --- a/Game/Code/lib/ffmpeg/avformat.pas +++ b/Game/Code/lib/ffmpeg/avformat.pas @@ -24,7 +24,7 @@ (* * Min. version: 50.5.0 - * Max. version: 52.7.0, revision 12246, Tue Feb 26 20:37:59 2008 UTC + * Max. version: 52.13.0, revision 12633, Sun Mar 30 19:17:01 2008 UTC *) unit avformat; @@ -51,7 +51,7 @@ uses const (* Max. supported version by this header *) LIBAVFORMAT_MAX_VERSION_MAJOR = 52; - LIBAVFORMAT_MAX_VERSION_MINOR = 7; + LIBAVFORMAT_MAX_VERSION_MINOR = 13; LIBAVFORMAT_MAX_VERSION_RELEASE = 0; LIBAVFORMAT_MAX_VERSION = (LIBAVFORMAT_MAX_VERSION_MAJOR * VERSION_MAJOR) + (LIBAVFORMAT_MAX_VERSION_MINOR * VERSION_MINOR) + @@ -195,6 +195,15 @@ const // used by TAVProgram AV_PROGRAM_RUNNING = 1; + + AV_DISPOSITION_DEFAULT = $0001; + AV_DISPOSITION_DUB = $0002; + AV_DISPOSITION_ORIGINAL = $0004; + AV_DISPOSITION_COMMENT = $0008; + AV_DISPOSITION_LYRICS = $0010; + AV_DISPOSITION_KARAOKE = $0020; + + type PPAVCodecTag = ^PAVCodecTag; PAVCodecTag = Pointer; @@ -322,7 +331,7 @@ type timestamp: int64; flags: integer): integer; cdecl; (** * gets the next timestamp in stream[stream_index].time_base units. - * @return the timestamp or AV_NOPTS_VALUE if an error occured + * @return the timestamp or AV_NOPTS_VALUE if an error occurred *) read_timestamp: function (s: PAVFormatContext; stream_index: integer; pos: pint64; pos_limit: int64): int64; cdecl; @@ -451,6 +460,10 @@ type {$IF LIBAVFORMAT_VERSION >= 52006000} // 52.6.0 filename: PChar; (**< source filename of the stream *) {$IFEND} + + {$IF LIBAVFORMAT_VERSION >= 52008000} // 52.8.0 + disposition: integer; (**< AV_DISPOSITION_* bitfield *) + {$IFEND} end; (** @@ -581,6 +594,14 @@ type *) max_index_size: cardinal; {$IFEND} + + (** + * Maximum amount of memory in bytes to use for buffering frames + * obtained from real-time capture devices. + *) + {$IF LIBAVFORMAT_VERSION >= 52009000} // 52.9.0 + max_picture_buffer: cardinal; + {$IFEND} end; (** @@ -1073,7 +1094,7 @@ function av_interleaved_write_frame (s: PAVFormatContext; var pkt: TAVPacket): i * @param flush 1 if no further packets are available as input and all * remaining packets should be output * @return 1 if a packet was output, 0 if no packet could be output, - * < 0 if an error occured + * < 0 if an error occurred *) function av_interleave_packet_per_dts(s: PAVFormatContext; _out: PAVPacket; pkt: PAVPacket; flush: integer): integer; diff --git a/Game/Code/lib/ffmpeg/avio.pas b/Game/Code/lib/ffmpeg/avio.pas index 46d847b0..778cd9bf 100644 --- a/Game/Code/lib/ffmpeg/avio.pas +++ b/Game/Code/lib/ffmpeg/avio.pas @@ -24,7 +24,7 @@ For Mac OS X, some modifications were made by The Creative CAT, denoted as CAT in the source codes *) (* - * Revision: 11305, Sat Dec 22 16:18:07 2007 UTC + * revision 12658, Mon Mar 31 17:31:11 2008 UTC *) unit avio; @@ -79,6 +79,9 @@ type *) PURLContext = ^TURLContext; TURLContext = record + {$IF LIBAVFORMAT_VERSION_MAJOR >= 53} + av_class: {const} PAVClass; ///< information for av_log(). Set by url_open(). + {$IFEND} prot: PURLProtocol; flags: integer; is_streamed: integer; (**< true if streamed (no seek possible), default = false *) @@ -293,16 +296,41 @@ procedure put_tag(s: PByteIOContext; {const} tag: pchar); procedure put_strz(s: PByteIOContext; {const} buf: pchar); cdecl; external av__format; +(** + * fseek() equivalent for ByteIOContext. + * @return new position or AVERROR. + *) function url_fseek(s: PByteIOContext; offset: TOffset; whence: integer): TOffset; cdecl; external av__format; + +(** + * Skip given number of bytes forward. + * @param offset number of bytes + *) procedure url_fskip(s: PByteIOContext; offset: TOffset); cdecl; external av__format; + +(** + * ftell() equivalent for ByteIOContext. + * @return position or AVERROR. + *) function url_ftell(s: PByteIOContext): TOffset; cdecl; external av__format; + +(** + * Gets the filesize. + * @return filesize or AVERROR + *) function url_fsize(s: PByteIOContext): TOffset; cdecl; external av__format; + +(** + * feof() equivalent for ByteIOContext. + * @return non zero if and only if end of file + *) function url_feof(s: PByteIOContext): integer; cdecl; external av__format; + function url_ferror(s: PByteIOContext): integer; cdecl; external av__format; @@ -334,8 +362,20 @@ function url_fgets(s: PByteIOContext; buf: PChar; buf_size: integer): PChar; procedure put_flush_packet (s: PByteIOContext); cdecl; external av__format; + +(** + * Reads size bytes from ByteIOContext into buf. + * @returns number of bytes read or AVERROR + *) function get_buffer(s: PByteIOContext; buf: pchar; size: integer): integer; cdecl; external av__format; + +(** + * Reads size bytes from ByteIOContext into buf. + * This reads at most 1 packet. If that is not enough fewer bytes will be + * returned. + * @returns number of bytes read or AVERROR + *) function get_partial_buffer(s: PByteIOContext; buf: pchar; size: integer): integer; cdecl; external av__format; diff --git a/Game/Code/lib/ffmpeg/avutil.pas b/Game/Code/lib/ffmpeg/avutil.pas index fca07ab1..f02faee4 100644 --- a/Game/Code/lib/ffmpeg/avutil.pas +++ b/Game/Code/lib/ffmpeg/avutil.pas @@ -24,13 +24,13 @@ (* * avutil.h: * Min. version: ? - * Max. version: revision 12246, Tue Feb 26 20:37:59 2008 UTC + * Max. version: revision 12410, Mon Mar 10 18:42:09 2008 UTC * * mem.h: - * revision 12218, Mon Feb 25 18:32:55 2008 UTC + * revision 12501, Wed Mar 19 07:43:43 2008 UTC * * log.h: - * revision 11209, Wed Dec 12 21:48:50 2007 UTC + * revision 12790, Fri Apr 11 14:18:33 2008 UTC *) unit avutil; @@ -171,7 +171,7 @@ const * @see av_mallocz() *) function av_malloc (size: cardinal): pointer; - cdecl; external av__util; + cdecl; external av__util; {av_malloc_attrib av_alloc_size(1)} (** * Allocate or reallocate a block of memory. @@ -186,7 +186,7 @@ function av_malloc (size: cardinal): pointer; * @see av_fast_realloc() *) function av_realloc (ptr: pointer; size: cardinal): pointer; - cdecl; external av__util; + cdecl; external av__util; {av_alloc_size(2)} (** * Free a memory block which has been allocated with av_malloc(z)() or @@ -209,7 +209,7 @@ procedure av_free (ptr: pointer); * @see av_malloc() *) function av_mallocz (size: cardinal): pointer; - cdecl; external av__util; + cdecl; external av__util; {av_malloc_attrib av_alloc_size(1)} (** * Duplicate the string \p s. @@ -218,7 +218,7 @@ function av_mallocz (size: cardinal): pointer; * copy of \p s or NULL if it cannot be allocated. *) function av_strdup({const} s: pchar): pchar; - cdecl; external av__util; + cdecl; external av__util; {av_malloc_attrib} (** * Free a memory block which has been allocated with av_malloc(z)() or diff --git a/Game/Code/lib/ffmpeg/mathematics.pas b/Game/Code/lib/ffmpeg/mathematics.pas index ae390e9d..9e9e360c 100644 --- a/Game/Code/lib/ffmpeg/mathematics.pas +++ b/Game/Code/lib/ffmpeg/mathematics.pas @@ -21,7 +21,7 @@ For Mac OS X, some modifications were made by The Creative CAT, denoted as CAT in the source codes *) (* - * Revision: 10765, Wed Oct 17 09:37:46 2007 UTC + * revision 12498, Wed Mar 19 06:17:43 2008 UTC *) unit mathematics; @@ -54,20 +54,20 @@ type * a simple a*b/c isn't possible as it can overflow *) function av_rescale (a, b, c: int64): int64; - cdecl; external av__util; + cdecl; external av__util; {av_const} (** * rescale a 64bit integer with specified rounding. * a simple a*b/c isn't possible as it can overflow *) function av_rescale_rnd (a, b, c: int64; enum: TAVRounding): int64; - cdecl; external av__util; + cdecl; external av__util; {av_const} (** * rescale a 64bit integer by 2 rational numbers. *) function av_rescale_q (a: int64; bq, cq: TAVRational): int64; - cdecl; external av__util; + cdecl; external av__util; {av_const} implementation diff --git a/Game/Code/lib/ffmpeg/rational.pas b/Game/Code/lib/ffmpeg/rational.pas index 14d28162..73f125ca 100644 --- a/Game/Code/lib/ffmpeg/rational.pas +++ b/Game/Code/lib/ffmpeg/rational.pas @@ -23,7 +23,7 @@ * in the source codes *) (* - * Revision: 10765, Wed Oct 17 09:37:46 2007 UTC + * revision 12498, Wed Mar 19 06:17:43 2008 UTC *) unit rational; @@ -88,7 +88,7 @@ function av_reduce(dst_nom: PInteger; dst_den: PInteger; nom: int64; den: int64; * @return b*c. *) function av_mul_q(b: TAVRational; c: TAVRational): TAVRational; - cdecl; external av__util; + cdecl; external av__util; {av_const} (** * Divides one rational by another. @@ -97,7 +97,7 @@ function av_mul_q(b: TAVRational; c: TAVRational): TAVRational; * @return b/c. *) function av_div_q(b: TAVRational; c: TAVRational): TAVRational; - cdecl; external av__util; + cdecl; external av__util; {av_const} (** * Adds two rationals. @@ -106,7 +106,7 @@ function av_div_q(b: TAVRational; c: TAVRational): TAVRational; * @return b+c. *) function av_add_q(b: TAVRational; c: TAVRational): TAVRational; - cdecl; external av__util; + cdecl; external av__util; {av_const} (** * Subtracts one rational from another. @@ -115,7 +115,7 @@ function av_add_q(b: TAVRational; c: TAVRational): TAVRational; * @return b-c. *) function av_sub_q(b: TAVRational; c: TAVRational): TAVRational; - cdecl; external av__util; + cdecl; external av__util; {av_const} (** * Converts a double precision floating point number to a rational. @@ -124,7 +124,7 @@ function av_sub_q(b: TAVRational; c: TAVRational): TAVRational; * @return (AVRational) d. *) function av_d2q(d: double; max: integer): TAVRational; - cdecl; external av__util; + cdecl; external av__util; {av_const} implementation -- cgit v1.2.3