From baf332b6d4f786ab7f0f8f7e1e50dea97be33e38 Mon Sep 17 00:00:00 2001 From: whiteshark0 Date: Sun, 4 Nov 2007 13:25:54 +0000 Subject: Add Lib directory to 1.0.1 branch git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1@579 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/lib/ffmpeg/rational.pas | 96 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Game/Code/lib/ffmpeg/rational.pas (limited to 'Game/Code/lib/ffmpeg/rational.pas') diff --git a/Game/Code/lib/ffmpeg/rational.pas b/Game/Code/lib/ffmpeg/rational.pas new file mode 100644 index 00000000..8fb3cbd8 --- /dev/null +++ b/Game/Code/lib/ffmpeg/rational.pas @@ -0,0 +1,96 @@ +(* + * Rational numbers + * Copyright (c) 2003 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 *) + +unit rational; +{$IFDEF FPC} + {$MODE DELPHI} (* CAT *) + {$PACKENUM 4} (* every enum type variables uses 4 bytes, CAT *) + {$PACKRECORDS C} (* GCC compatible, Record Packing, CAT *) +{$ENDIF} + +interface (* unit windows is deleted by CAT *) + +const + {$IFDEF win32} + av__util = 'avutil-49.dll'; + {$ELSE} + av__util = 'libavutil.so'; // .0d +// av__util = 'libavutil.49'; + {$ENDIF} +type + +(* + * Rational number num/den. *) + PAVRational = ^TAVRational; + TAVRational = record + num: integer; ///< numerator + den: integer; ///< denominator + end; + +(** + * returns 0 if a==b, 1 if a>b and -1 if a 0 then Result := (tmp shr 63) or 1 (* fixed by CAT *) + else Result := 0 +end; + +function av_q2d(a: TAVRational): double; +begin + Result := a.num / a.den; +end; + +end. -- cgit v1.2.3