aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ffmpeg-0.10/avutil.pas
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ffmpeg-0.10/avutil.pas')
-rw-r--r--src/lib/ffmpeg-0.10/avutil.pas333
1 files changed, 29 insertions, 304 deletions
diff --git a/src/lib/ffmpeg-0.10/avutil.pas b/src/lib/ffmpeg-0.10/avutil.pas
index f50bef6e..0d9235e0 100644
--- a/src/lib/ffmpeg-0.10/avutil.pas
+++ b/src/lib/ffmpeg-0.10/avutil.pas
@@ -71,11 +71,11 @@ const
(* Check if linked versions are supported *)
{$IF (LIBAVUTIL_VERSION < LIBAVUTIL_MIN_VERSION)}
- {$MESSAGE Error 'Linked version of libavutil is too old!'}
+// {$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!'}
+// {$MESSAGE Error 'Linked version of libavutil is not yet supported!'}
{$IFEND}
(**
@@ -116,7 +116,7 @@ type
* Return a string describing the media_type enum, NULL if media_type
* is unknown.
*)
-function av_get_media_type_string(media_type: PAVMediaType): Pchar;
+function av_get_media_type_string(media_type: TAVMediaType): Pchar;
cdecl; external av__util;
const
@@ -184,6 +184,7 @@ function av_get_picture_type_char(pict_type: TAVPictureType): Pchar;
* Return x default pointer in case p is NULL.
*)
function av_x_if_null(p: {const} pointer; x: {const} pointer): pointer;
+ cdecl; external av__util;
{$INCLUDE libavutil/cpu.pas}
@@ -208,298 +209,17 @@ function av_x_if_null(p: {const} pointer; x: {const} pointer): pointer;
function MKTAG (a, b, c, d: AnsiChar): integer;
function MKBETAG(a, b, c, d: AnsiChar): integer;
-(* libavutil/mem.h *)
-
-(* memory handling functions *)
-
-(**
- * Allocate a block of size bytes with alignment suitable for all
- * memory accesses (including vectors if available on the CPU).
- * @param size Size in bytes for the memory block to be allocated.
- * @return Pointer to the allocated block, NULL if the block cannot
- * be allocated.
- * @see av_mallocz()
- *)
-function av_malloc(size: size_t): pointer;
- cdecl; external av__util; {av_malloc_attrib av_alloc_size(1)}
-
-(**
- * Allocate or reallocate a block of memory.
- * If ptr is NULL and size > 0, allocate a new block. If
- * size is zero, free the memory block pointed to by ptr.
- * @param size Size in bytes for the memory block to be allocated or
- * reallocated.
- * @param ptr Pointer to a memory block already allocated with
- * av_malloc(z)() or av_realloc() or NULL.
- * @return Pointer to a newly reallocated block or NULL if the block
- * cannot be allocated or the function is used to free the memory block.
- * @see av_fast_realloc()
- *)
-function av_realloc(ptr: pointer; size: size_t): pointer;
- cdecl; external av__util; {av_alloc_size(2)}
-
-(**
- * Allocate or reallocate a block of memory.
- * This function does the same thing as av_realloc, except:
- * - It takes two arguments and checks the result of the multiplication for
- * integer overflow.
- * - It frees the input block in case of failure, thus avoiding the memory
- * leak with the classic "buf = realloc(buf); if (!buf) return -1;".
- *)
-function av_realloc_f(ptr: pointer; nelem: size_t; elsize: size_t): pointer;
- cdecl; external av__util;
-
-(**
- * Free a memory block which has been allocated with av_malloc(z)() or
- * av_realloc().
- * @param ptr Pointer to the memory block which should be freed.
- * @note ptr = NULL is explicitly allowed.
- * @note It is recommended that you use av_freep() instead.
- * @see av_freep()
- *)
-procedure av_free(ptr: pointer);
- cdecl; external av__util;
-
-(**
- * Allocate a block of size bytes with alignment suitable for all
- * memory accesses (including vectors if available on the CPU) and
- * zeroes all the bytes of the block.
- * @param size Size in bytes for the memory block to be allocated.
- * @return Pointer to the allocated block, NULL if it cannot be allocated.
- * @see av_malloc()
- *)
-function av_mallocz(size: size_t): pointer;
- cdecl; external av__util; {av_malloc_attrib av_alloc_size(1)}
-
-(**
- * Allocate a block of nmemb * size bytes with alignment suitable for all
- * memory accesses (including vectors if available on the CPU) and
- * zero all the bytes of the block.
- * The allocation will fail if nmemb * size is greater than or equal
- * to INT_MAX.
- * @param nmemb
- * @param size
- * @return Pointer to the allocated block, NULL if it cannot be allocated.
- *)
-function av_calloc(nmemb: size_t; size: size_t): pointer;
- cdecl; external av__util; {av_malloc_attrib}
-
-(**
- * Duplicate the string s.
- * @param s string to be duplicated.
- * @return Pointer to a newly allocated string containing a
- * copy of s or NULL if the string cannot be allocated.
- *)
-function av_strdup({const} s: PAnsiChar): PAnsiChar;
- cdecl; external av__util; {av_malloc_attrib}
-
-(**
- * Free a memory block which has been allocated with av_malloc(z)() or
- * av_realloc() and set the pointer pointing to it to NULL.
- * @param ptr Pointer to the pointer to the memory block which should
- * be freed.
- * @see av_free()
- *)
-procedure av_freep (ptr: pointer);
- cdecl; external av__util;
-
-(**
- * Add an element to a dynamic array.
- *
- * @param tab_ptr Pointer to the array.
- * @param nb_ptr Pointer to the number of elements in the array.
- * @param elem Element to be added.
- *)
-procedure av_dynarray_add(tab_ptr: pointer; nb_ptr: PCint; elem: pointer);
- cdecl; external av__util;
-
-(**
- * Multiply two size_t values checking for overflow.
- * @return 0 if success, AVERROR(EINVAL) if overflow.
- *)
-function av_size_mult(a: size_t; b: size_t; r: ^size_t): cint;
-
-(* libavutil/log.h *)
-
-type
-(**
- * Describe the class of an AVClass context structure. That is an
- * arbitrary struct of which the first field is a pointer to an
- * AVClass struct (e.g. AVCodecContext, AVFormatContext etc.).
- *)
- PAVClass = ^TAVClass;
- TAVClass = record
- (**
- * The name of the class; usually it is the same name as the
- * context structure type to which the AVClass is associated.
- *)
- class_name: PAnsiChar;
-
- (**
- * A pointer to a function which returns the name of a context
- * instance ctx associated with the class.
- *)
- item_name: function(): PAnsiChar; cdecl;
-
- (**
- * a pointer to the first option specified in the class if any or NULL
- *
- * @see av_set_default_options()
- *)
- option: PAVOption;
-
- (**
- * LIBAVUTIL_VERSION with which this structure was created.
- * This is used to allow fields to be added without requiring major
- * version bumps everywhere.
- *)
- version: cint;
-
- (**
- * Offset in the structure where log_level_offset is stored.
- * 0 means there is no such variable
- *)
- log_level_offset_offset: cint;
-
- (**
- * Offset in the structure where a pointer to the parent context for loging is stored.
- * for example a decoder that uses eval.c could pass its AVCodecContext to eval as such
- * parent context. And a av_log() implementation could then display the parent context
- * can be NULL of course
- *)
- parent_log_context_offset: cint;
-
- (**
- * Return next AVOptions-enabled child or NULL
- *)
- child_next: function(obj: pointer; prev: pointer): Pointer; cdecl;
-
- (**
- * Return an AVClass corresponding to next potential
- * AVOptions-enabled child.
- *
- * The difference between child_next and this is that
- * child_next iterates over _already existing_ objects, while
- * child_class_next iterates over _all possible_ children.
- *)
- child_class_next: function(prev: PAVClass): PAVClass; cdecl;
- end;
-
-const
- AV_LOG_QUIET = -8;
-
-(**
- * Something went really wrong and we will crash now.
- *)
- AV_LOG_PANIC = 0;
-
-(**
- * Something went wrong and recovery is not possible.
- * For example, no header was found for a format which depends
- * on headers or an illegal combination of parameters is used.
- *)
- AV_LOG_FATAL = 8;
-
-(**
- * Something went wrong and cannot losslessly be recovered.
- * However, not all future data is affected.
- *)
- AV_LOG_ERROR = 16;
-
-(**
- * Something somehow does not look correct. This may or may not
- * lead to problems. An example would be the use of '-vstrict -2'.
- *)
- AV_LOG_WARNING = 24;
-
- AV_LOG_INFO = 32;
- AV_LOG_VERBOSE = 40;
-
-(**
- * Stuff which is only useful for libav* developers.
- *)
- AV_LOG_DEBUG = 48;
-
-(**
- * Send the specified message to the log if the level is less than or equal
- * to the current av_log_level. By default, all logging messages are sent to
- * stderr. This behavior can be altered by setting a different av_vlog callback
- * function.
- *
- * @param avcl A pointer to an arbitrary struct of which the first field is a
- * pointer to an AVClass struct.
- * @param level The importance level of the message, lower values signifying
- * higher importance.
- * @param fmt The format string (printf-compatible) that specifies how
- * subsequent arguments are converted to output.
- * @see av_vlog
- *)
-
-{** to be translated if needed
-void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4);
-**}
-
-type
- va_list = pointer;
-
-procedure av_vlog(avcl: pointer; level: cint; fmt: {const} PAnsiChar; dummy: va_list);
- cdecl; external av__util;
-function av_log_get_level(): cint;
- cdecl; external av__util;
-procedure av_log_set_level(level: cint);
- cdecl; external av__util;
-
-{** to be translated if needed
-void av_log_set_callback(void (*)(void*, int, const char*, va_list));
-void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
-**}
-
-function av_default_item_name (ctx: pointer): PAnsiChar;
- cdecl; external av__util;
-
-(**
- * Format a line of log the same way as the default callback.
- * @param line buffer to receive the formated line
- * @param line_size size of the buffer
- * @param print_prefix used to store whether the prefix must be printed;
- * must point to a persistent integer initially set to 1
- *)
-procedure av_log_format_line(ptr: pointer; level: cint; fmt: {const} Pchar; vl: va_list;
- line: Pchar; line_size: cint; print_prefix: Pcint);
- cdecl; external av__util;
-
-(**
- * av_dlog macros
- * Useful to print debug messages that shouldn't get compiled in normally.
- *)
-(** to be translated if needed
-#ifdef DEBUG
-# define av_dlog(pctx, ...) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__)
-#else
-# define av_dlog(pctx, ...) do { if (0) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0)
-#endif
-**)
-
-(**
- * Skip repeated messages, this requires the user app to use av_log() instead of
- * (f)printf as the 2 would otherwise interfere and lead to
- * "Last message repeated x times" messages below (f)printf messages with some
- * bad luck.
- * Also to receive the last, "last repeated" line if any, the user app must
- * call av_log(NULL, AV_LOG_QUIET, "%s", ""); at the end
- *)
-const
- AV_LOG_SKIP_REPEATED = 1;
-procedure av_log_set_flags(arg: cint);
- cdecl; external av__util;
-
implementation
(* To Be Implemented, March 2012 KMS *)
-function av_x_if_null(p: {const} pointer; x: {const} pointer): pointer;
-begin
- //return (void *)(intptr_t)(p ? p : x);
-end;
+//function av_x_if_null(p: {const} pointer; x: {const} pointer): pointer;
+//begin
+// If p = Nil Then
+// Result := p
+// Else
+// Result := x;
+// //return (void *)(intptr_t)(p ? p : x);
+//end;
(* libavutil/common.h *)
@@ -513,18 +233,23 @@ begin
Result := (ord(d) or (ord(c) shl 8) or (ord(b) shl 16) or (ord(a) shl 24));
end;
+type
+ Psize_t = ^size_t;
+
+function av_size_mult(a: size_t; b: size_t; r: Psize_t): size_t;
+ cdecl; external av__util;
(* To Be Implemented, March 2012 KMS *)
-function av_size_mult(a: size_t; b: size_t; r: ^size_t): cint;
-begin
- {
- size_t t = a * b;
- /* Hack inspired from glibc: only try the division if nelem and elsize
- * are both greater than sqrt(SIZE_MAX). */
- if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b)
- return AVERROR(EINVAL);
- *r = t;
- return 0;
-}
-end;
+//function av_size_mult(a: size_t; b: size_t; r: pointer): size_t;
+//begin
+// {
+// size_t t = a * b;
+// /* Hack inspired from glibc: only try the division if nelem and elsize
+// * are both greater than sqrt(SIZE_MAX). */
+// if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b)
+// return AVERROR(EINVAL);
+// *r = t;
+// return 0;
+//}
+//end;
end.