diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-07-03 18:47:28 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-07-03 18:47:28 +0000 |
commit | 38cdf2cd93ee7ff0bf224a9577f995e354ffb147 (patch) | |
tree | ed603ae722e1c72fcd66d34ad219129a06c6d294 /Game/Code/lib/ffmpeg/avformat.pas | |
parent | 955de6842fb816daee68b38ac06c51f579e0b8ed (diff) | |
download | usdx-38cdf2cd93ee7ff0bf224a9577f995e354ffb147.tar.gz usdx-38cdf2cd93ee7ff0bf224a9577f995e354ffb147.tar.xz usdx-38cdf2cd93ee7ff0bf224a9577f995e354ffb147.zip |
ffmpeg pascal header 64bit compatibility fix.
Further headers will follow.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1160 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r-- | Game/Code/lib/ffmpeg/avformat.pas | 363 |
1 files changed, 183 insertions, 180 deletions
diff --git a/Game/Code/lib/ffmpeg/avformat.pas b/Game/Code/lib/ffmpeg/avformat.pas index a63510a1..1f132392 100644 --- a/Game/Code/lib/ffmpeg/avformat.pas +++ b/Game/Code/lib/ffmpeg/avformat.pas @@ -18,9 +18,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) -(* This is a part of Pascal porting of ffmpeg. Originally by Victor Zinetz for Delphi and Free Pascal on Windows. - * For Mac OS X, some modifications were made by The Creative CAT, denoted as CAT - * in the source codes *) +(* + * This is a part of Pascal porting of ffmpeg. + * Originally by Victor Zinetz for Delphi and Free Pascal on Windows. + * For Mac OS X, some modifications were made by The Creative CAT in the source codes. + *) (* * Conversion of libavformat/avformat.h @@ -47,6 +49,7 @@ unit avformat; interface uses + ctypes, avcodec, avutil, avio, @@ -98,32 +101,32 @@ type * the terms dts and pts/cts to mean something different, these timestamps * must be converted to true pts/dts before they are stored in AVPacket. *) - pts: int64; + pts: cint64; (** * Decompression time stamp in time_base units. * This is the time at which the packet is decompressed. * Can be AV_NOPTS_VALUE if it is not stored in the file. *) - dts: int64; - data: PByte; - size: integer; - stream_index: integer; - flags: integer; - duration: integer; ///< presentation duration in time_base units (0 if not available) + dts: cint64; + data: PChar; + size: cint; + stream_index: cint; + flags: cint; + duration: cint; ///< presentation duration in time_base units (0 if not available) destruct: procedure (p: PAVPacket); cdecl; priv: pointer; - pos: int64; ///< byte position in stream, -1 if unknown + pos: cint64; ///< byte position in stream, -1 if unknown end; const PKT_FLAG_KEY = $0001; -procedure av_destruct_packet_nofree (var pkt: TAVPacket); +procedure av_destruct_packet_nofree(var pkt: TAVPacket); cdecl; external av__format; (** * Default packet destructor. *) -procedure av_destruct_packet (var pkt: TAVPacket); +procedure av_destruct_packet(var pkt: TAVPacket); cdecl; external av__format; (** @@ -131,7 +134,7 @@ procedure av_destruct_packet (var pkt: TAVPacket); * * @param pkt packet *) -procedure av_init_packet (var pkt: TAVPacket); +procedure av_init_packet(var pkt: TAVPacket); {$IF LIBAVFORMAT_VERSION >= 51012002} // 51.12.2 cdecl; external av__format; {$IFEND} @@ -143,7 +146,7 @@ procedure av_init_packet (var pkt: TAVPacket); * @param size wanted payload size * @return 0 if OK. AVERROR_xxx otherwise. *) -function av_new_packet(var pkt: TAVPacket; size: integer): integer; +function av_new_packet(var pkt: TAVPacket; size: cint): cint; cdecl; external av__format; (** @@ -153,14 +156,14 @@ function av_new_packet(var pkt: TAVPacket; size: integer): integer; * @param size wanted payload size * @return >0 (read size) if OK. AVERROR_xxx otherwise. *) -function av_get_packet (s: PByteIOContext; var pkt: TAVPacket; size: integer): integer; +function av_get_packet(s: PByteIOContext; var pkt: TAVPacket; size: cint): cint; cdecl; external av__format; (** * @warning This is a hack - the packet memory allocation stuff is broken. The * packet is allocated if it was not really allocated *) -function av_dup_packet (pkt: PAVPacket): integer; +function av_dup_packet(pkt: PAVPacket): cint; cdecl; external av__format; (** @@ -168,7 +171,7 @@ function av_dup_packet (pkt: PAVPacket): integer; * * @param pkt packet to free *) -procedure av_free_packet (pkt: PAVPacket); {$IFDEF HasInline}inline;{$ENDIF} +procedure av_free_packet(pkt: PAVPacket); {$IFDEF HasInline}inline;{$ENDIF} (*************************************************) (* fractional numbers for exact pts handling *) @@ -181,7 +184,7 @@ type *) PAVFrac = ^TAVFrac; TAVFrac = record - val, num, den: int64; + val, num, den: cint64; end; {deprecated} (*************************************************) @@ -192,7 +195,7 @@ type TAVProbeData = record filename: pchar; buf: pchar; - buf_size: integer; + buf_size: cint; end; const @@ -267,9 +270,9 @@ type PAVChapter = ^TAVChapter; TAVChapter = record - id: integer; ///< Unique id to identify the chapter + id: cint; ///< Unique id to identify the chapter time_base: TAVRational; ///< Timebase in which the start/end timestamps are specified - start, end_: int64; ///< chapter start/end time in time_base units + start, end_: cint64; ///< chapter start/end time in time_base units title: PChar; ///< chapter title end; TAVChapterArray = array[0..(MaxInt div SizeOf(TAVChapter))-1] of TAVChapter; @@ -277,15 +280,15 @@ type TAVFormatParameters = record time_base: TAVRational; - sample_rate: integer; - channels: integer; - width: integer; - height: integer; + sample_rate: cint; + channels: cint; + width: cint; + height: cint; pix_fmt: TAVPixelFormat; {$IF LIBAVFORMAT_VERSION < 51006000} // 51.6.0 image_format: PAVImageFormat; {$IFEND} - channel: integer; (* used to select dv channel *) + channel: cint; (* used to select dv channel *) {$IF LIBAVFORMAT_VERSION_MAJOR < 52} device: pchar; (* video, audio or DV device, if LIBAVFORMAT_VERSION_INT < (52<<16) *) {$IFEND} @@ -317,18 +320,18 @@ type mime_type: pchar; extensions: pchar; (*< comma separated filename extensions *) (* size of private data so that it can be allocated in the wrapper *) - priv_data_size: integer; + priv_data_size: cint; (* output support *) audio_codec: TCodecID; (* default audio codec *) video_codec: TCodecID; (* default video codec *) - write_header: function (c: PAVFormatContext): integer; cdecl; - write_packet: function (c: PAVFormatContext; pkt: PAVPacket): integer; cdecl; - write_trailer: function (c: PAVFormatContext): integer; cdecl; + write_header: function (c: PAVFormatContext): cint; cdecl; + write_packet: function (c: PAVFormatContext; pkt: PAVPacket): cint; cdecl; + write_trailer: function (c: PAVFormatContext): cint; cdecl; (* can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER *) - flags: integer; + flags: cint; (* currently only used to set pixel format if not YUV420P *) - set_parameters: function (c: PAVFormatContext; f: PAVFormatParameters): integer; cdecl; - interleave_packet: function (s: PAVFormatContext; out_: PAVPacket; in_: PAVPacket; flush: integer): integer; cdecl; + set_parameters: function (c: PAVFormatContext; f: PAVFormatParameters): cint; cdecl; + interleave_packet: function (s: PAVFormatContext; out_: PAVPacket; in_: PAVPacket; flush: cint): cint; cdecl; {$IF LIBAVFORMAT_VERSION >= 51008000} // 51.8.0 (** @@ -355,25 +358,25 @@ type *) long_name: pchar; (* size of private data so that it can be allocated in the wrapper *) - priv_data_size: integer; + priv_data_size: cint; (** * Tell if a given file has a chance of being parsed by this format. * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes * big so you do not have to check for that unless you need more. *) - read_probe: function (p: PAVProbeData): integer; cdecl; + read_probe: function (p: PAVProbeData): cint; cdecl; (* read the format header and initialize the AVFormatContext structure. Return 0 if OK. 'ap' if non NULL contains additionnal paramters. Only used in raw format right now. 'av_new_stream' should be called to create new streams. *) - read_header: function (c: PAVFormatContext; ap: PAVFormatParameters): integer; cdecl; + read_header: function (c: PAVFormatContext; ap: PAVFormatParameters): cint; cdecl; (* read one packet and put it in 'pkt'. pts and flags are also set. 'av_new_stream' can be called only if the flag AVFMTCTX_NOHEADER is used. *) - read_packet: function (c: PAVFormatContext; var pkt: TAVPacket): integer; cdecl; + read_packet: function (c: PAVFormatContext; var pkt: TAVPacket): cint; cdecl; (* close the stream. The AVFormatContext and AVStreams are not freed by this function *) - read_close: function (c: PAVFormatContext): integer; cdecl; + read_close: function (c: PAVFormatContext): cint; cdecl; (** * seek to a given timestamp relative to the frames in * stream component stream_index @@ -382,28 +385,28 @@ type * match is available * @return >= 0 on success (but not necessarily the new offset) *) - read_seek: function (c: PAVFormatContext; stream_index: integer; - timestamp: int64; flags: integer): integer; cdecl; + read_seek: function (c: PAVFormatContext; stream_index: cint; + timestamp: cint64; flags: cint): cint; cdecl; (** * gets the next timestamp in stream[stream_index].time_base units. * @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; + read_timestamp: function (s: PAVFormatContext; stream_index: cint; + pos: pint64; pos_limit: cint64): cint64; cdecl; (* can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER *) - flags: integer; + flags: cint; (* if extensions are defined, then no probe is done. You should usually not use extension format guessing because it is not reliable enough *) extensions: pchar; (* general purpose read only value that the format can use *) - value: integer; + value: cint; (* start/resume playing - only meaningful if using a network based format (RTSP) *) - read_play: function (c: PAVFormatContext): integer; cdecl; + read_play: function (c: PAVFormatContext): cint; cdecl; (* pause playing - only meaningful if using a network based format (RTSP) *) - read_pause: function (c: PAVFormatContext): integer; cdecl; + read_pause: function (c: PAVFormatContext): cint; cdecl; {$IF LIBAVFORMAT_VERSION >= 51008000} // 51.8.0 codec_tag: {const} PPAVCodecTag; @@ -421,14 +424,14 @@ type ); TAVIndexEntry = record - pos: int64; - timestamp: int64; + pos: cint64; + timestamp: cint64; { Delphi doesn't support bitfields -> use flags_size instead int flags:2; int size:30; //Yeah, trying to keep the size of this small to reduce memory requirements (it is 24 vs 32 byte due to possible 8byte align). } - flags_size: cardinal; // 0..1: flags, 2..31: size - min_distance: integer; (* min distance between this and the previous keyframe, used to avoid unneeded searching *) + flags_size: cint; // 0..1: flags, 2..31: size + min_distance: cint; (* min distance between this and the previous keyframe, used to avoid unneeded searching *) end; (** @@ -439,8 +442,8 @@ type * sizeof(AVStream) must not be used outside libav*. *) TAVStream = record - index: integer; (* stream index in AVFormatContext *) - id: integer; (* format specific stream id *) + index: cint; (* stream index in AVFormatContext *) + id: cint; (* format specific stream id *) codec: PAVCodecContext; (* codec context *) (** * Real base frame rate of the stream. @@ -454,9 +457,9 @@ type priv_data: pointer; (* internal data used in av_find_stream_info() *) - first_dts: int64; + first_dts: cint64; {$IF LIBAVFORMAT_VERSION_MAJOR < 52} - codec_info_nb_frames: integer; + codec_info_nb_frames: cint; {$IFEND} (** encoding: PTS generation when outputing stream *) @@ -468,14 +471,14 @@ type * identically 1. *) time_base: TAVRational; - pts_wrap_bits: integer; (* number of bits in pts (used for wrapping control) *) + pts_wrap_bits: cint; (* number of bits in pts (used for wrapping control) *) (* ffmpeg.c private use *) - stream_copy: integer; (**< if set, just copy stream *) + stream_copy: cint; (**< if set, just copy stream *) discard: TAVDiscard; ///< selects which packets can be discarded at will and dont need to be demuxed //FIXME move stuff to a flags field? (* quality, as it has been removed from AVCodecContext and put in AVVideoFrame * MN:dunno if thats the right place, for it *) - quality: single; + quality: cfloat; (** * Decoding: pts of the first frame of the stream, in stream time base. * Only set this if you are absolutely 100% sure that the value you set @@ -484,13 +487,13 @@ type * @note The ASF header does NOT contain a correct start_time the ASF * demuxer must NOT set this. *) - start_time: int64; + start_time: cint64; (** * Decoding: duration of the stream, in stream time base. * If a source file does not specify a duration, but does specify * a bitrate, this value will be estimates from bit rate and file size. *) - duration: int64; + duration: cint64; language: array [0..3] of char; (* ISO 639 3-letter language code (empty string if undefined) *) @@ -498,26 +501,26 @@ type need_parsing: TAVStreamParseType; parser: PAVCodecParserContext; - cur_dts: int64; - last_IP_duration: integer; - last_IP_pts: int64; + cur_dts: cint64; + last_IP_duration: cint; + last_IP_pts: cint64; (* av_seek_frame() support *) index_entries: PAVIndexEntry; (* only used if the format does not support seeking natively *) - nb_index_entries: integer; - index_entries_allocated_size: cardinal; + nb_index_entries: cint; + index_entries_allocated_size: cuint; - nb_frames: int64; ///< number of frames in this stream if known or 0 + nb_frames: cint64; ///< number of frames in this stream if known or 0 {$IF LIBAVFORMAT_VERSION >= 50006000} // 50.6.0 - pts_buffer: array [0..MAX_REORDER_DELAY] of int64; + pts_buffer: array [0..MAX_REORDER_DELAY] of cint64; {$IFEND} - + {$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 *) + disposition: cint; (**< AV_DISPOSITION_* bitfield *) {$IFEND} end; @@ -541,21 +544,21 @@ type pb: TByteIOContext; {$IFEND} - nb_streams: cardinal; + nb_streams: cuint; streams: array [0..MAX_STREAMS - 1] of PAVStream; filename: array [0..1023] of char; (* input or output filename *) (* stream info *) - timestamp: int64; + timestamp: cint64; title: array [0..511] of char; author: array [0..511] of char; copyright: array [0..511] of char; comment: array [0..511] of char; album: array [0..511] of char; - year: integer; (* ID3 year, 0 if none *) - track: integer; (* track number, 0 if none *) + year: cint; (* ID3 year, 0 if none *) + track: cint; (* track number, 0 if none *) genre: array [0..31] of char; (* ID3 genre *) - ctx_flags: integer; (* format specific flags, see AVFMTCTX_xx *) + ctx_flags: cint; (* format specific flags, see AVFMTCTX_xx *) (* private data for pts handling (do not modify directly) *) (* This buffer is only needed when packets were already buffered but not decoded, for example to get the codec parameters in mpeg @@ -565,56 +568,56 @@ type (* decoding: position of the first frame of the component, in AV_TIME_BASE fractional seconds. NEVER set this value directly: it is deduced from the AVStream values. *) - start_time: int64; + start_time: cint64; (* decoding: duration of the stream, in AV_TIME_BASE fractional seconds. NEVER set this value directly: it is deduced from the AVStream values. *) - duration: int64; + duration: cint64; (* decoding: total file size. 0 if unknown *) - file_size: int64; + file_size: cint64; (* decoding: total stream bitrate in bit/s, 0 if not available. Never set it directly if the file_size and the duration are known as ffmpeg can compute it automatically. *) - bit_rate: integer; + bit_rate: cint; (* av_read_frame() support *) cur_st: PAVStream; cur_ptr: pbyte; - cur_len: integer; + cur_len: cint; cur_pkt: TAVPacket; (* av_seek_frame() support *) - data_offset: int64; (* offset of the first packet *) - index_built: integer; + data_offset: cint64; (* offset of the first packet *) + index_built: cint; - mux_rate: integer; - packet_size: integer; - preload: integer; - max_delay: integer; + mux_rate: cint; + packet_size: cint; + preload: cint; + max_delay: cint; (* number of times to loop output in formats that support it *) - loop_output: integer; + loop_output: cint; - flags: integer; - loop_input: integer; + flags: cint; + loop_input: cint; {$IF LIBAVFORMAT_VERSION >= 50006000} // 50.6.0 (* decoding: size of data to probe; encoding unused *) - probesize: cardinal; + probesize: cuint; {$IFEND} {$IF LIBAVFORMAT_VERSION >= 51009000} // 51.9.0 (** * maximum duration in AV_TIME_BASE units over which the input should be analyzed in av_find_stream_info() *) - max_analyze_duration: integer; + max_analyze_duration: cint; key: pbyte; - keylen : integer; + keylen : cint; {$IFEND} {$IF LIBAVFORMAT_VERSION >= 51014000} // 51.14.0 - nb_programs: cardinal; + nb_programs: cuint; programs: PPAVProgram; {$IFEND} @@ -647,7 +650,7 @@ type * muxing : unused * demuxing: set by user *) - max_index_size: cardinal; + max_index_size: cuint; {$IFEND} {$IF LIBAVFORMAT_VERSION >= 52009000} // 52.9.0 @@ -655,11 +658,11 @@ type * Maximum amount of memory in bytes to use for buffering frames * obtained from real-time capture devices. *) - max_picture_buffer: cardinal; + max_picture_buffer: cuint; {$IFEND} {$IF LIBAVFORMAT_VERSION >= 52014000} // 52.14.0 - nb_chapters: cardinal; + nb_chapters: cuint; chapters: PAVChapterArray; {$IFEND} @@ -667,7 +670,7 @@ type (** * Flags to enable debuging. *) - debug: integer; + debug: cint; {$IFEND} end; @@ -678,10 +681,10 @@ type * sizeof(AVProgram) must not be used outside libav*. *) TAVProgram = record - id : integer; + id : cint; provider_name : PChar; ///< Network name for DVB streams name : PChar; ///< Service name for DVB streams - flags : integer; + flags : cint; discard : TAVDiscard; ///< selects which program to discard and which to feed to the caller {$IF LIBAVFORMAT_VERSION >= 51016000} // 51.16.0 stream_index : PCardinal; @@ -701,9 +704,9 @@ type (* still image support *) TAVImageInfo = record pix_fmt: TAVPixelFormat; (* requested pixel format *) - width: integer; (* requested width *) - height: integer; (* requested height *) - interleaved: integer; (* image is interleaved (e.g. interleaved GIF) *) + width: cint; (* requested width *) + height: cint; (* requested height *) + interleaved: cint; (* image is interleaved (e.g. interleaved GIF) *) pict: TAVPicture; (* returned allocated image *) end; {deprecated} @@ -711,34 +714,34 @@ type name: pchar; extensions: pchar; (* tell if a given file has a chance of being parsing by this format *) - img_probe: function (d: PAVProbeData): integer; cdecl; + img_probe: function (d: PAVProbeData): cint; cdecl; (* read a whole image. 'alloc_cb' is called when the image size is known so that the caller can allocate the image. If 'allo_cb' returns non zero, then the parsing is aborted. Return '0' if OK. *) - img_read: function (b: PByteIOContext; alloc_cb: pointer; ptr: pointer): integer; cdecl; + img_read: function (b: PByteIOContext; alloc_cb: pointer; ptr: pointer): cint; cdecl; (* write the image *) - supported_pixel_formats: integer; (* mask of supported formats for output *) - img_write: function (b: PByteIOContext; i: PAVImageInfo): integer; cdecl; - flags: integer; + supported_pixel_formats: cint; (* mask of supported formats for output *) + img_write: function (b: PByteIOContext; i: PAVImageInfo): cint; cdecl; + flags: cint; next: PAVImageFormat; end; {deprecated} -procedure av_register_image_format (img_fmt: PAVImageFormat); +procedure av_register_image_format(img_fmt: PAVImageFormat); cdecl; external av__format; deprecated; -function av_probe_image_format (pd: PAVProbeData): PAVImageFormat; +function av_probe_image_format(pd: PAVProbeData): PAVImageFormat; cdecl; external av__format; deprecated; -function guess_image_format (filename: pchar): PAVImageFormat; +function guess_image_format(filename: pchar): PAVImageFormat; cdecl; external av__format; deprecated; -function av_read_image (pb: PByteIOContext; filename: pchar; +function av_read_image(pb: PByteIOContext; filename: pchar; fmt: PAVImageFormat; - alloc_cb: pointer; opaque: pointer): integer; + alloc_cb: pointer; opaque: pointer): cint; cdecl; external av__format; deprecated; -function av_write_image(pb: PByteIOContext; fmt: PAVImageFormat; img: PAVImageInfo): integer; +function av_write_image(pb: PByteIOContext; fmt: PAVImageFormat; img: PAVImageInfo): cint; cdecl; external av__format; deprecated; {$IFEND} @@ -764,13 +767,13 @@ function av_guess_image2_codec(filename: {const} PChar): TCodecID; (* modules *) (* utils.c *) -procedure av_register_input_format (format: PAVInputFormat); +procedure av_register_input_format(format: PAVInputFormat); cdecl; external av__format; -procedure av_register_output_format (format: PAVOutputFormat); +procedure av_register_output_format(format: PAVOutputFormat); cdecl; external av__format; -function guess_stream_format (short_name: pchar; filename: pchar; mime_type: pchar): PAVOutputFormat; +function guess_stream_format(short_name: pchar; filename: pchar; mime_type: pchar): PAVOutputFormat; cdecl; external av__format; function guess_format(short_name: pchar; filename: pchar; mime_type: pchar): PAVOutputFormat; @@ -792,7 +795,7 @@ function av_guess_codec(fmt: PAVOutputFormat; short_name: pchar; * * @see av_hex_dump_log, av_pkt_dump, av_pkt_dump_log *) -procedure av_hex_dump (f: PAVFile; buf: pchar; size: integer); +procedure av_hex_dump(f: PAVFile; buf: pchar; size: cint); cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 51011000} // 51.11.0 @@ -808,7 +811,7 @@ procedure av_hex_dump (f: PAVFile; buf: pchar; size: integer); * * @see av_hex_dump, av_pkt_dump, av_pkt_dump_log *) -procedure av_hex_dump_log(avcl: Pointer; level: integer; buf: PChar; size: integer); +procedure av_hex_dump_log(avcl: Pointer; level: cint; buf: PChar; size: cint); cdecl; external av__format; {$IFEND} @@ -819,7 +822,7 @@ procedure av_hex_dump_log(avcl: Pointer; level: integer; buf: PChar; size: integ * @param pkt packet to dump * @param dump_payload true if the payload must be displayed too *) -procedure av_pkt_dump(f: PAVFile; pkt: PAVPacket; dump_payload: integer); +procedure av_pkt_dump(f: PAVFile; pkt: PAVPacket; dump_payload: cint); cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 51011000} // 51.11.0 @@ -833,18 +836,18 @@ procedure av_pkt_dump(f: PAVFile; pkt: PAVPacket; dump_payload: integer); * @param pkt packet to dump * @param dump_payload true if the payload must be displayed too *) -procedure av_pkt_dump_log(avcl: Pointer; level: integer; pkt: PAVPacket; dump_payload: integer); +procedure av_pkt_dump_log(avcl: Pointer; level: cint; pkt: PAVPacket; dump_payload: cint); cdecl; external av__format; {$IFEND} -procedure av_register_all (); +procedure av_register_all(); cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 51008000} // 51.8.0 (** codec tag <-> codec id *) -function av_codec_get_id(var tags: PAVCodecTag; tag: cardinal): TCodecID; +function av_codec_get_id(var tags: PAVCodecTag; tag: cuint): TCodecID; cdecl; external av__format; -function av_codec_get_tag(var tags: PAVCodecTag; id: TCodecID): cardinal; +function av_codec_get_tag(var tags: PAVCodecTag; id: TCodecID): cuint; cdecl; external av__format; {$IFEND} @@ -853,7 +856,7 @@ function av_codec_get_tag(var tags: PAVCodecTag; id: TCodecID): cardinal; (** * finds AVInputFormat based on input format's short name. *) -function av_find_input_format (short_name: pchar): PAVInputFormat; +function av_find_input_format(short_name: pchar): PAVInputFormat; cdecl; external av__format; (** @@ -862,16 +865,16 @@ function av_find_input_format (short_name: pchar): PAVInputFormat; * @param is_opened whether the file is already opened, determines whether * demuxers with or without AVFMT_NOFILE are probed *) -function av_probe_input_format (pd: PAVProbeData; is_opened: integer): PAVInputFormat; +function av_probe_input_format(pd: PAVProbeData; is_opened: cint): PAVInputFormat; cdecl; external av__format; (** * Allocates all the structures needed to read an input stream. * This does not open the needed codecs for decoding the stream[s]. *) -function av_open_input_stream (ic_ptr: PAVFormatContext; +function av_open_input_stream(ic_ptr: PAVFormatContext; pb: PByteIOContext; filename: pchar; - fmt: PAVInputFormat; ap: PAVFormatParameters): integer; + fmt: PAVInputFormat; ap: PAVFormatParameters): cint; cdecl; external av__format; (** @@ -885,9 +888,9 @@ function av_open_input_stream (ic_ptr: PAVFormatContext; * @param ap additional parameters needed when opening the file (NULL if default) * @return 0 if OK. AVERROR_xxx otherwise. *) -function av_open_input_file (var ic_ptr: PAVFormatContext; filename: pchar; - fmt: PAVInputFormat; buf_size: integer; - ap: PAVFormatParameters): integer; +function av_open_input_file(var ic_ptr: PAVFormatContext; filename: pchar; + fmt: PAVInputFormat; buf_size: cint; + ap: PAVFormatParameters): cint; cdecl; external av__format; (** @@ -895,7 +898,7 @@ function av_open_input_file (var ic_ptr: PAVFormatContext; filename: pchar; * Can be freed with av_free() but do not forget to free everything you * explicitly allocated as well! *) -function av_alloc_format_context (): PAVFormatContext; +function av_alloc_format_context(): PAVFormatContext; cdecl; external av__format; (** @@ -910,7 +913,7 @@ function av_alloc_format_context (): PAVFormatContext; * @return >=0 if OK. AVERROR_xxx if error. * @todo Let user decide somehow what information is needed so we do not waste time getting stuff the user does not need. *) -function av_find_stream_info (ic: PAVFormatContext): integer; +function av_find_stream_info(ic: PAVFormatContext): cint; cdecl; external av__format; (** @@ -923,7 +926,7 @@ function av_find_stream_info (ic: PAVFormatContext): integer; * @param pkt is filled * @return 0 if OK. AVERROR_xxx if error. *) -function av_read_packet (s: PAVFormatContext; var pkt: TAVPacket): integer; +function av_read_packet(s: PAVFormatContext; var pkt: TAVPacket): cint; cdecl; external av__format; (** @@ -932,7 +935,7 @@ function av_read_packet (s: PAVFormatContext; var pkt: TAVPacket): integer; * The returned packet is valid * until the next av_read_frame() or until av_close_input_file() and * must be freed with av_free_packet. For video, the packet contains - * exactly one frame. For audio, it contains an integer number of + * exactly one frame. For audio, it contains an cint number of * frames if each frame has a known fixed size (e.g. PCM or ADPCM * data). If the audio frames have a variable size (e.g. MPEG audio), * then it contains one frame. @@ -945,7 +948,7 @@ function av_read_packet (s: PAVFormatContext; var pkt: TAVPacket): integer; * * @return 0 if OK, < 0 if error or end of file. *) -function av_read_frame (s: PAVFormatContext; var pkt: TAVPacket): integer; (* CAT#2 *) +function av_read_frame(s: PAVFormatContext; var pkt: TAVPacket): cint; cdecl; external av__format; (** @@ -959,14 +962,14 @@ function av_read_frame (s: PAVFormatContext; var pkt: TAVPacket): integer; (* CA * @param flags flags which select direction and seeking mode * @return >= 0 on success *) -function av_seek_frame (s: PAVFormatContext; stream_index: integer; timestamp: int64; flags: integer): integer; +function av_seek_frame(s: PAVFormatContext; stream_index: cint; timestamp: cint64; flags: cint): cint; cdecl; external av__format; (** * start playing a network based stream (e.g. RTSP stream) at the * current position *) -function av_read_play (s: PAVFormatContext): integer; +function av_read_play(s: PAVFormatContext): cint; cdecl; external av__format; (** @@ -974,7 +977,7 @@ function av_read_play (s: PAVFormatContext): integer; * * Use av_read_play() to resume it. *) -function av_read_pause (s: PAVFormatContext): integer; +function av_read_pause(s: PAVFormatContext): cint; cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 52003000} // 52.3.0 @@ -991,7 +994,7 @@ procedure av_close_input_stream(s: PAVFormatContext); * * @param s media file handle *) -procedure av_close_input_file (s: PAVFormatContext); +procedure av_close_input_file(s: PAVFormatContext); cdecl; external av__format; (** @@ -1004,10 +1007,10 @@ procedure av_close_input_file (s: PAVFormatContext); * @param s media file handle * @param id file format dependent stream id *) -function av_new_stream (s: PAVFormatContext; id: integer): PAVStream; +function av_new_stream(s: PAVFormatContext; id: cint): PAVStream; cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 51014000} // 51.14.0 -function av_new_program(s: PAVFormatContext; id: integer): PAVProgram; +function av_new_program(s: PAVFormatContext; id: cint): PAVProgram; cdecl; external av__format; {$IFEND} @@ -1025,7 +1028,7 @@ function av_new_program(s: PAVFormatContext; id: integer): PAVProgram; * * @return AVChapter or NULL if error. *) -function ff_new_chapter(s: PAVFormatContext; id: integer; time_base: TAVRational; start, end_: int64; title: {const} Pchar): PAVChapter; +function ff_new_chapter(s: PAVFormatContext; id: cint; time_base: TAVRational; start, end_: cint64; title: {const} Pchar): PAVChapter; cdecl; external av__format; {$IFEND} @@ -1038,8 +1041,8 @@ function ff_new_chapter(s: PAVFormatContext; id: integer; time_base: TAVRational * @param pts_num numerator to convert to seconds (MPEG: 1) * @param pts_den denominator to convert to seconds (MPEG: 90000) *) -procedure av_set_pts_info (s: PAVStream; pts_wrap_bits: integer; - pts_num: integer; pts_den: integer); +procedure av_set_pts_info(s: PAVStream; pts_wrap_bits: cint; + pts_num: cint; pts_den: cint); cdecl; external av__format; const @@ -1047,7 +1050,7 @@ const AVSEEK_FLAG_BYTE = 2; ///< seeking based on position in bytes AVSEEK_FLAG_ANY = 4; ///< seek to any frame, even non keyframes -function av_find_default_stream_index (s: PAVFormatContext): integer; +function av_find_default_stream_index(s: PAVFormatContext): cint; cdecl; external av__format; (** @@ -1058,7 +1061,7 @@ function av_find_default_stream_index (s: PAVFormatContext): integer; * if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise * @return < 0 if no such timestamp could be found *) -function av_index_search_timestamp (st: PAVStream; timestamp: int64; flags: integer): integer; +function av_index_search_timestamp(st: PAVStream; timestamp: cint64; flags: cint): cint; cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 52004000} // 52.4.0 @@ -1069,7 +1072,7 @@ function av_index_search_timestamp (st: PAVStream; timestamp: int64; flags: inte * This function is not part of the public API and should only be called * by demuxers. *) -procedure ff_reduce_index(s: PAVFormatContext; stream_index: integer); +procedure ff_reduce_index(s: PAVFormatContext; stream_index: cint); cdecl; external av__format; {$IFEND} @@ -1078,8 +1081,8 @@ procedure ff_reduce_index(s: PAVFormatContext; stream_index: integer); * * @param timestamp timestamp in the timebase of the given stream *) -function av_add_index_entry (st: PAVStream; pos: int64; timestamp: int64; - distance: integer; flags: integer): integer; +function av_add_index_entry(st: PAVStream; pos: cint64; timestamp: cint64; + distance: cint; flags: cint): cint; cdecl; external av__format; (** @@ -1088,8 +1091,8 @@ function av_add_index_entry (st: PAVStream; pos: int64; timestamp: int64; * @param target_ts target timestamp in the time base of the given stream * @param stream_index stream number *) -function av_seek_frame_binary (s: PAVFormatContext; stream_index: integer; - target_ts: int64; flags: integer): integer; +function av_seek_frame_binary(s: PAVFormatContext; stream_index: cint; + target_ts: cint64; flags: cint): cint; cdecl; external av__format; @@ -1101,14 +1104,14 @@ function av_seek_frame_binary (s: PAVFormatContext; stream_index: integer; * @param timestamp new dts expressed in time_base of param ref_st * @param ref_st reference stream giving time_base of param timestamp *) -procedure av_update_cur_dts (s: PAVFormatContext; ref_st: PAVStream; - timestamp: int64); +procedure av_update_cur_dts(s: PAVFormatContext; ref_st: PAVStream; + timestamp: cint64); cdecl; external av__format; {$IF LIBAVFORMAT_VERSION >= 51007000} // 51.7.0 type TReadTimestampFunc = function (pavfc: PAVFormatContext; - arg2: integer; arg3: Pint64; arg4: int64): int64; cdecl; + arg2: cint; arg3: Pint64; arg4: cint64): cint64; cdecl; (** * Does a binary search using read_timestamp(). @@ -1116,14 +1119,14 @@ type * @param target_ts target timestamp in the time base of the given stream * @param stream_index stream number *) -function av_gen_search(s: PAVFormatContext; stream_index: integer; target_ts: int64; - pos_min: int64; pos_max: int64; pos_limit: int64; ts_min: int64; ts_max: int64; - flags: integer; ts_ret: Pint64; read_timestamp: TReadTimestampFunc): int64; +function av_gen_search(s: PAVFormatContext; stream_index: cint; target_ts: cint64; + pos_min: cint64; pos_max: cint64; pos_limit: cint64; ts_min: cint64; ts_max: cint64; + flags: cint; ts_ret: Pint64; read_timestamp: TReadTimestampFunc): cint64; cdecl; external av__format; {$IFEND} (* media file output *) -function av_set_parameters (s: PAVFormatContext; ap: PAVFormatParameters): integer; +function av_set_parameters(s: PAVFormatContext; ap: PAVFormatParameters): cint; cdecl; external av__format; (** @@ -1133,7 +1136,7 @@ function av_set_parameters (s: PAVFormatContext; ap: PAVFormatParameters): integ * @param s media file handle * @return 0 if OK. AVERROR_xxx if error. *) -function av_write_header (s: PAVFormatContext): integer; +function av_write_header(s: PAVFormatContext): cint; cdecl; external av__format; (** @@ -1147,8 +1150,8 @@ function av_write_header (s: PAVFormatContext): integer; * @param pkt the packet, which contains the stream_index, buf/buf_size, dts/pts, ... * @return < 0 if error, = 0 if OK, 1 if end of stream wanted. *) -function av_write_frame(s: PAVFormatContext; var pkt: TAVPacket): integer; - cdecl; external av__format; (* CAT#2 *) +function av_write_frame(s: PAVFormatContext; var pkt: TAVPacket): cint; + cdecl; external av__format; (** * Writes a packet to an output media file ensuring correct interleaving. @@ -1164,8 +1167,8 @@ function av_write_frame(s: PAVFormatContext; var pkt: TAVPacket): integer; * @param pkt the packet, which contains the stream_index, buf/buf_size, dts/pts, ... * @return < 0 if error, = 0 if OK, 1 if end of stream wanted. *) -function av_interleaved_write_frame (s: PAVFormatContext; var pkt: TAVPacket): integer; - cdecl; external av__format; (* CAT#2 *) +function av_interleaved_write_frame(s: PAVFormatContext; var pkt: TAVPacket): cint; + cdecl; external av__format; (** * Interleave a packet per DTS in an output media file. @@ -1182,7 +1185,7 @@ function av_interleaved_write_frame (s: PAVFormatContext; var pkt: TAVPacket): i * < 0 if an error occurred *) function av_interleave_packet_per_dts(s: PAVFormatContext; _out: PAVPacket; - pkt: PAVPacket; flush: integer): integer; + pkt: PAVPacket; flush: cint): cint; cdecl; external av__format; (** @@ -1192,25 +1195,25 @@ function av_interleave_packet_per_dts(s: PAVFormatContext; _out: PAVPacket; * @param s media file handle * @return 0 if OK. AVERROR_xxx if error. *) -function av_write_trailer(s: pAVFormatContext): integer; +function av_write_trailer(s: pAVFormatContext): cint; cdecl; external av__format; -procedure dump_format(ic: PAVFormatContext; index: integer; url: pchar; - is_output: integer); +procedure dump_format(ic: PAVFormatContext; index: cint; url: pchar; + is_output: cint); cdecl; external av__format; (** * parses width and height out of string str. * @deprecated Use av_parse_video_frame_size instead. *) -function parse_image_size(width_ptr: PInteger; height_ptr: PInteger; str: pchar): integer; +function parse_image_size(width_ptr: PCint; height_ptr: PCint; str: pchar): cint; cdecl; external av__format; deprecated; (** * Converts frame rate from string to a fraction. * @deprecated Use av_parse_video_frame_rate instead. *) -function parse_frame_rate (frame_rate: PInteger; frame_rate_base: PInteger; arg: pchar): integer; +function parse_frame_rate(frame_rate: PCint; frame_rate_base: PCint; arg: pchar): cint; cdecl; external av__format; deprecated; (** @@ -1239,23 +1242,23 @@ function parse_frame_rate (frame_rate: PInteger; frame_rate_base: PInteger; arg: * not zero \p datestr is interpreted as a duration, otherwise as a * date. *) -function parse_date(datestr: pchar; duration: integer): int64; +function parse_date(datestr: pchar; duration: cint): cint64; cdecl; external av__format; -function av_gettime (): int64; +function av_gettime(): cint64; cdecl; external av__format; (* ffm specific for ffserver *) const FFM_PACKET_SIZE = 4096; -function ffm_read_write_index (fd: integer): int64; +function ffm_read_write_index(fd: cint): cint64; cdecl; external av__format; -procedure ffm_write_write_index(fd: integer; pos: int64); +procedure ffm_write_write_index(fd: cint; pos: cint64); cdecl; external av__format; -procedure ffm_set_write_index (s: PAVFormatContext; pos: int64; file_size: int64); +procedure ffm_set_write_index(s: PAVFormatContext; pos: cint64; file_size: cint64); cdecl; external av__format; (** @@ -1264,7 +1267,7 @@ procedure ffm_set_write_index (s: PAVFormatContext; pos: int64; file_size: int64 * syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done. * Return 1 if found. *) -function find_info_tag (arg: pchar; arg_size: integer; tag1: pchar; info: pchar): integer; +function find_info_tag(arg: pchar; arg_size: cint; tag1: pchar; info: pchar): cint; cdecl; external av__format; (** @@ -1279,8 +1282,8 @@ function find_info_tag (arg: pchar; arg_size: integer; tag1: pchar; info: pchar) * @param number frame number * @return 0 if OK, -1 if format error. *) -function av_get_frame_filename(buf: pchar; buf_size: integer; - path: pchar; number: integer): integer; +function av_get_frame_filename(buf: pchar; buf_size: cint; + path: pchar; number: cint): cint; cdecl; external av__format {$IF LIBAVFORMAT_VERSION <= 50006000} // 50.6.0 name 'get_frame_filename' @@ -1292,7 +1295,7 @@ function av_get_frame_filename(buf: pchar; buf_size: integer; * @param filename possible numbered sequence string * @return 1 if a valid numbered sequence string, 0 otherwise. *) -function av_filename_number_test(filename: pchar): integer; +function av_filename_number_test(filename: pchar): cint; cdecl; external av__format {$IF LIBAVFORMAT_VERSION <= 50006000} // 50.6.0 name 'filename_number_test' @@ -1313,14 +1316,14 @@ function av_filename_number_test(filename: pchar): integer; * @param size the size of the buffer * @return 0 if OK. AVERROR_xxx if error. *) -function avf_sdp_create(ac: PPAVFormatContext; n_files: integer; buff: PChar; size: integer): integer; +function avf_sdp_create(ac: PPAVFormatContext; n_files: cint; buff: PChar; size: cint): cint; cdecl; external av__format; {$IFEND} implementation {$IF LIBAVFORMAT_VERSION < 51012002} // 51.12.2 -procedure av_init_packet (var pkt: TAVPacket); +procedure av_init_packet(var pkt: TAVPacket); begin with pkt do begin pts := AV_NOPTS_VALUE; @@ -1334,7 +1337,7 @@ begin end; {$IFEND} -procedure av_free_packet (pkt: PAVPacket); +procedure av_free_packet(pkt: PAVPacket); begin if ((pkt <> nil) and (@pkt^.destruct <> nil)) then pkt^.destruct(pkt); |