(* * copyright (c) 2006 Michael Niedermayer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * 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. * - Changes and updates by the UltraStar Deluxe Team * * Conversions of * * libavutil/avutil.h: * version: 51.34.101 * *) unit avutil; {$IFDEF FPC} {$MODE DELPHI} {$PACKENUM 4} (* use 4-byte enums *) {$PACKRECORDS C} (* C/C++-compatible record packing *) {$ELSE} {$MINENUMSIZE 4} (* use 4-byte enums *) {$ENDIF} {$IFDEF DARWIN} {$linklib libavutil} {$ENDIF} interface uses ctypes, rational, {$IFDEF UNIX} BaseUnix, {$ENDIF} UConfig; const (* Max. supported version by this header *) LIBAVUTIL_MAX_VERSION_MAJOR = 51; LIBAVUTIL_MAX_VERSION_MINOR = 34; LIBAVUTIL_MAX_VERSION_RELEASE = 101; LIBAVUTIL_MAX_VERSION = (LIBAVUTIL_MAX_VERSION_MAJOR * VERSION_MAJOR) + (LIBAVUTIL_MAX_VERSION_MINOR * VERSION_MINOR) + (LIBAVUTIL_MAX_VERSION_RELEASE * VERSION_RELEASE); (* Min. supported version by this header *) LIBAVUTIL_MIN_VERSION_MAJOR = 51; LIBAVUTIL_MIN_VERSION_MINOR = 34; LIBAVUTIL_MIN_VERSION_RELEASE = 101; LIBAVUTIL_MIN_VERSION = (LIBAVUTIL_MIN_VERSION_MAJOR * VERSION_MAJOR) + (LIBAVUTIL_MIN_VERSION_MINOR * VERSION_MINOR) + (LIBAVUTIL_MIN_VERSION_RELEASE * VERSION_RELEASE); (* Check if linked versions are supported *) {$IF (LIBAVUTIL_VERSION < LIBAVUTIL_MIN_VERSION)} // {$MESSAGE Error 'Linked version of libavutil is too old!'} {$IFEND} {$IF (LIBAVUTIL_VERSION > LIBAVUTIL_MAX_VERSION)} // {$MESSAGE Error 'Linked version of libavutil is not yet supported!'} {$IFEND} (** * Return the LIBAVUTIL_VERSION_INT constant. *) function avutil_version(): cuint; cdecl; external av__util; (** * Return the libavutil build-time configuration. *) function avutil_configuration(): PAnsiChar; cdecl; external av__util; (** * Return the libavutil license. *) function avutil_license(): PAnsiChar; cdecl; external av__util; (** * @addtogroup lavu_media Media Type * @brief Media Type *) type TAVMediaType = ( AVMEDIA_TYPE_UNKNOWN = -1, ///< Usually treated as AVMEDIA_TYPE_DATA AVMEDIA_TYPE_VIDEO, AVMEDIA_TYPE_AUDIO, AVMEDIA_TYPE_DATA, ///< Opaque data information usually continuous AVMEDIA_TYPE_SUBTITLE, AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse AVMEDIA_TYPE_NB ); (** * Return a string describing the media_type enum, NULL if media_type * is unknown. *) function av_get_media_type_string(media_type: TAVMediaType): PAnsiChar; cdecl; external av__util; const FF_LAMBDA_SHIFT = 7; FF_LAMBDA_SCALE = (1<= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b) // return AVERROR(EINVAL); // *r = t; // return 0; //} //end; end.