aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrian-ch <brian-ch@b956fd51-792f-4845-bead-9b4dfca2ff2c>2013-12-25 17:12:29 +0000
committerbrian-ch <brian-ch@b956fd51-792f-4845-bead-9b4dfca2ff2c>2013-12-25 17:12:29 +0000
commitad56bc83540ddddd204e8cf03a41c2ac1aff54db (patch)
treea014fd66dcacfc96cee43e825e8be06b1252977a
parent5721074cc1069fa93c341ae62f2b38a073a069ff (diff)
downloadusdx-ad56bc83540ddddd204e8cf03a41c2ac1aff54db.tar.gz
usdx-ad56bc83540ddddd204e8cf03a41c2ac1aff54db.tar.xz
usdx-ad56bc83540ddddd204e8cf03a41c2ac1aff54db.zip
fixes in avcodec, and update avutil
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3055 b956fd51-792f-4845-bead-9b4dfca2ff2c
-rw-r--r--src/lib/ffmpeg-2.1/avcodec.pas231
-rw-r--r--src/lib/ffmpeg-2.1/avutil.pas5
2 files changed, 121 insertions, 115 deletions
diff --git a/src/lib/ffmpeg-2.1/avcodec.pas b/src/lib/ffmpeg-2.1/avcodec.pas
index 8bfbe6bb..264c9672 100644
--- a/src/lib/ffmpeg-2.1/avcodec.pas
+++ b/src/lib/ffmpeg-2.1/avcodec.pas
@@ -693,6 +693,7 @@ const
* @see avcodec_get_descriptor()
*)
type
+ PAVCodecDescriptor = ^TAVCodecDescriptor;
TAVCodecDescriptor = record
id: TAVCodecID;
type_: TAVMediaType;
@@ -1533,8 +1534,6 @@ const
FF_DECODE_ERROR_MISSING_REFERENCE = 2;
}
-type
- PAVCodecContext = ^TAVCodecContext;
{ This is removed in avcodec.h. For the time being (2013) only commented
(**
@@ -1962,39 +1961,39 @@ type
* The position of these field in the structure is not part of the ABI,
* they should not be accessed directly outside libavcodec.
*)
-function av_frame_get_best_effort_timestamp(frame: {const} PAVFrame): cint64;
+function av_frame_get_best_effort_timestamp(frame: {const PAVFrame): cint64;
cdecl; external av__codec;
procedure av_frame_set_best_effort_timestamp(frame: PAVFrame; val: cint64);
cdecl; external av__codec;
-function av_frame_get_pkt_duration (frame: {const} PAVFrame): cint64;
+function av_frame_get_pkt_duration (frame: {const PAVFrame): cint64;
cdecl; external av__codec;
procedure av_frame_get_pkt_duration (frame: PAVFrame; val: cint64);
cdecl; external av__codec;
-function av_frame_get_pkt_pos (frame: {const} PAVFrame): cint64;
+function av_frame_get_pkt_pos (frame: {const PAVFrame): cint64;
cdecl; external av__codec;
procedure av_frame_get_pkt_pos (frame: PAVFrame; val: cint64);
cdecl; external av__codec;
-function av_frame_get_channel_layout (frame: {const} PAVFrame): cint64;
+function av_frame_get_channel_layout (frame: {const PAVFrame): cint64;
cdecl; external av__codec;
procedure av_frame_get_channel_layout (frame: PAVFrame; val: cint64);
cdecl; external av__codec;
-function av_frame_get_channels (frame: {const} PAVFrame): cint;
+function av_frame_get_channels (frame: {const PAVFrame): cint;
cdecl; external av__codec;
procedure av_frame_set_channels (frame: PAVFrame; val: cint);
cdecl; external av__codec;
-function av_frame_get_sample_rate (frame: {const} PAVFrame): cint;
+function av_frame_get_sample_rate (frame: {const PAVFrame): cint;
cdecl; external av__codec;
procedure av_frame_set_sample_rate (frame: PAVFrame; val: cint);
cdecl; external av__codec;
-function av_frame_get_metadata (frame: {const} PAVFrame): PAVDictionary;
+function av_frame_get_metadata (frame: {const PAVFrame): PAVDictionary;
cdecl; external av__codec;
procedure av_frame_set_metadata (frame: PAVFrame; val: PAVDictionary);
cdecl; external av__codec;
-function av_frame_get_decode_error_flags (frame: {const} PAVFrame): cint;
+function av_frame_get_decode_error_flags (frame: {const PAVFrame): cint;
cdecl; external av__codec;
procedure av_frame_set_decode_error_flags (frame: PAVFrame; val: cint);
cdecl; external av__codec;
-function av_frame_get_pkt_size(frame: {const} PAVFrame): cint;
+function av_frame_get_pkt_size(frame: {const PAVFrame): cint;
cdecl; external av__codec;
procedure av_frame_set_pkt_size(frame: PAVFrame; val: cint);
cdecl; external av__codec;
@@ -2004,6 +2003,7 @@ type
TAVCodecInternal = record
end;
PAVCodecInternal = ^TAVCodecInternal;
+ PAVCodecContext = ^TAVCodecContext;
PAVClass = ^TAVClass;
@@ -3563,21 +3563,6 @@ type
sub_charenc_mode: cint;
end; {TAVCodecContext}
-const
- FF_SUB_CHARENC_MODE_DO_NOTHING = -1; ///< do nothing (demuxer outputs a stream supposed to be already in UTF-8, or the codec is bitmap for instance)
- FF_SUB_CHARENC_MODE_AUTOMATIC = 0; ///< libavcodec will select the mode itself
- FF_SUB_CHARENC_MODE_PRE_DECODER = 1; ///< the AVPacket data needs to be recoded to UTF-8 before being fed to the decoder, requires iconv
-
- function av_codec_get_pkt_timebase(avctx: {const} PAVCodecContext): TAVRational;
- procedure av_codec_set_pkt_timebase(avctx: {const} PAVCodecContext; val: TAVRational);
-
- function av_codec_get_codec_descriptor(avctx: {const} PAVCodecContext): PAVCodecDescriptor;
- procedure av_codec_set_codec_descriptor(avctx: {const} PAVCodecContext; desc: {const} PAVCodecDescriptor);
-
- function av_codec_get_lowres(avctx: {const} PAVCodecContext): cint;
- procedure av_codec_set_lowres(avctx: PAVCodecContext; val: cint);
-
-type
(**
* AVProfile.
*)
@@ -3587,8 +3572,79 @@ type
name: {const} PAnsiChar; ///< short name for the profile
end; {TAVProfile}
+ TAVSubtitleType = (
+ SUBTITLE_NONE,
+
+ SUBTITLE_BITMAP, ///< A bitmap, pict will be set
+
+ (**
+ * Plain text, the text field must be set by the decoder and is
+ * authoritative. ass and pict fields may contain approximations.
+ *)
+ SUBTITLE_TEXT,
+
+ (**
+ * Formatted text, the ass field must be set by the decoder and is
+ * authoritative. pict and text fields may contain approximations.
+ *)
+ SUBTITLE_ASS
+ ); {TAVSubtitleType}
+
+ (**
+ * @defgroup lavc_picture AVPicture
+ *
+ * Functions for working with AVPicture
+ * @{
+ *)
+
+ (**
+ * four components are given, that's all.
+ * the last component is alpha
+ *)
+ PAVPicture = ^TAVPicture;
+ TAVPicture = record
+ data: array [0..AV_NUM_DATA_POINTERS - 1] of PByteArray;
+ linesize: array [0..AV_NUM_DATA_POINTERS - 1] of cint; ///< number of bytes per line
+ end; {TAVPicture}
+
+ PPAVSubtitleRect = ^PAVSubtitleRect;
+ PAVSubtitleRect = ^TAVSubtitleRect;
+ TAVSubtitleRect = record
+ x: cint; ///< top left corner of pict, undefined when pict is not set
+ y: cint; ///< top left corner of pict, undefined when pict is not set
+ w: cint; ///< width of pict, undefined when pict is not set
+ h: cint; ///< height of pict, undefined when pict is not set
+ nb_colors: cint; ///< number of colors in pict, undefined when pict is not set
+
+ (**
+ * data+linesize for the bitmap of this subtitle.
+ * can be set for text/ass as well once they where rendered
+ *)
+ pict: TAVPicture;
+ type_: TAVSubtitleType;
+
+ text: PAnsiChar; ///< 0 terminated plain UTF-8 text
+
+ (**
+ * 0 terminated ASS/SSA compatible event line.
+ * The presentation of this is unaffected by the other values in this
+ * struct.
+ *)
+ ass: PAnsiChar;
+
+ flags: cint;
+ end; {TAVSubtitleRect}
+
+ PPAVSubtitle = ^PAVSubtitle;
+ PAVSubtitle = ^TAVSubtitle;
TAVSubtitle = record
- end;
+ format: cuint16; (* 0 = graphics *)
+ start_display_time: cuint32; (* relative to packet pts, in ms *)
+ end_display_time: cuint32; (* relative to packet pts, in ms *)
+ num_rects: cuint;
+ rects: PPAVSubtitleRect;
+ pts: cint64; ///< Same as packet pts, in AV_TIME_BASE
+ end; {TAVSubtitle}
(**
* AVCodec.
@@ -3779,87 +3835,32 @@ type
priv_data_size: cint;
end; {TAVHWAccel}
-(**
- * @defgroup lavc_picture AVPicture
- *
- * Functions for working with AVPicture
- * @{
- *)
-
-(**
- * four components are given, that's all.
- * the last component is alpha
- *)
- PAVPicture = ^TAVPicture;
- TAVPicture = record
- data: array [0..AV_NUM_DATA_POINTERS - 1] of PByteArray;
- linesize: array [0..AV_NUM_DATA_POINTERS - 1] of cint; ///< number of bytes per line
- end; {TAVPicture}
-
-/**
- * @}
- */
-
const
- AV_SUBTITLE_FLAG_FORCED = $00000001;
-
-type
- TAVSubtitleType = (
- SUBTITLE_NONE,
-
- SUBTITLE_BITMAP, ///< A bitmap, pict will be set
-
- (**
- * Plain text, the text field must be set by the decoder and is
- * authoritative. ass and pict fields may contain approximations.
- *)
- SUBTITLE_TEXT,
-
- (**
- * Formatted text, the ass field must be set by the decoder and is
- * authoritative. pict and text fields may contain approximations.
- *)
- SUBTITLE_ASS
- ); {TAVSubtitleType}
-
- PPAVSubtitleRect = ^PAVSubtitleRect;
- PAVSubtitleRect = ^TAVSubtitleRect;
- TAVSubtitleRect = record
- x: cint; ///< top left corner of pict, undefined when pict is not set
- y: cint; ///< top left corner of pict, undefined when pict is not set
- w: cint; ///< width of pict, undefined when pict is not set
- h: cint; ///< height of pict, undefined when pict is not set
- nb_colors: cint; ///< number of colors in pict, undefined when pict is not set
+ FF_SUB_CHARENC_MODE_DO_NOTHING = -1; ///< do nothing (demuxer outputs a stream supposed to be already in UTF-8, or the codec is bitmap for instance)
+ FF_SUB_CHARENC_MODE_AUTOMATIC = 0; ///< libavcodec will select the mode itself
+ FF_SUB_CHARENC_MODE_PRE_DECODER = 1; ///< the AVPacket data needs to be recoded to UTF-8 before being fed to the decoder, requires iconv
- (**
- * data+linesize for the bitmap of this subtitle.
- * can be set for text/ass as well once they where rendered
- *)
- pict: TAVPicture;
- type_: TAVSubtitleType;
+ function av_codec_get_pkt_timebase(avctx: {const} PAVCodecContext): TAVRational;
+ cdecl; external av__codec;
+ procedure av_codec_set_pkt_timebase(avctx: {const} PAVCodecContext; val: TAVRational);
+ cdecl; external av__codec;
- text: PAnsiChar; ///< 0 terminated plain UTF-8 text
+ function av_codec_get_codec_descriptor(avctx: {const} PAVCodecContext): PAVCodecDescriptor;
+ cdecl; external av__codec;
+ procedure av_codec_set_codec_descriptor(avctx: {const} PAVCodecContext; desc: {const} PAVCodecDescriptor);
+ cdecl; external av__codec;
- (**
- * 0 terminated ASS/SSA compatible event line.
- * The presentation of this is unaffected by the other values in this
- * struct.
- *)
- ass: PAnsiChar;
+ function av_codec_get_lowres(avctx: {const} PAVCodecContext): cint;
+ cdecl; external av__codec;
+ procedure av_codec_set_lowres(avctx: PAVCodecContext; val: cint);
+ cdecl; external av__codec;
- flags: cint;
- end; {TAVSubtitleRect}
+(**
+ * @
+ *)
- PPAVSubtitle = ^PAVSubtitle;
- PAVSubtitle = ^TAVSubtitle;
- TAVSubtitle = record
- format: cuint16; (* 0 = graphics *)
- start_display_time: cuint32; (* relative to packet pts, in ms *)
- end_display_time: cuint32; (* relative to packet pts, in ms *)
- num_rects: cuint;
- rects: PPAVSubtitleRect;
- pts: cint64; ///< Same as packet pts, in AV_TIME_BASE
- end; {TAVSubtitle}
+const
+ AV_SUBTITLE_FLAG_FORCED = $00000001;
(**
* If c is NULL, returns the first registered codec,
@@ -4208,7 +4209,7 @@ function av_grow_packet(pkt: PAVPacket; grow_by: cint): cint;
*
* @return 0 on success, a negative AVERROR on error
*)
-function av_packet_from_data(pkt: PAVPacket; data: Puint8; size: cint): cint;
+function av_packet_from_data(pkt: PAVPacket; data: PByte; size: cint): cint;
cdecl; external av__codec;
(*
@@ -4284,14 +4285,14 @@ function av_packet_merge_side_data(pkt: PAVPacket): cint;
function av_packet_split_side_data(pkt: PAVPacket): cint;
cdecl; external av__codec;
-/**
- * @}
- */
+(**
+ * @
+ *)
-/**
+(**
* @addtogroup lavc_decoding
- * @{
- */
+ * @
+ *)
(**
* Find a registered decoder with a matching codec ID.
@@ -4539,10 +4540,10 @@ function avcodec_decode_subtitle2(avctx: PAVCodecContext; sub: PAVSubtitle;
avpkt: PAVPacket): cint;
cdecl; external av__codec;
-/**
+(**
* @defgroup lavc_parsing Frame parsing
- * @{
- */
+ * @
+ *)
type
TAVPictureStructure = (
@@ -5270,7 +5271,7 @@ function avcodec_find_best_pix_fmt_of_list(pix_fmt_list: PAVPixelFormat;
* @return The best pixel format to convert to or -1 if none was found.
*)
function avcodec_find_best_pix_fmt_of_2(dst_pix_fmt1: TAVPixelFormat; dst_pix_fmt2: TAVPixelFormat;
- src_pix_fmt: TAVPixelFormat; has_alpha: cint; loss_ptr: Pcint)): TAVPixelFormat;
+ src_pix_fmt: TAVPixelFormat; has_alpha: cint; loss_ptr: Pcint): TAVPixelFormat;
cdecl; external av__codec;
{$IFDEF AV_HAVE_INCOMPATIBLE_LIBAV_ABI}
@@ -5294,7 +5295,7 @@ function avcodec_default_get_format(s: PAVCodecContext; fmt: {const} PAVPixelFor
procedure avcodec_set_dimensions(s: PAVCodecContext; width: cint; height: cint);
cdecl; external av__codec;
- * Put a string representing the codec tag codec_tag in buf.
+(* Put a string representing the codec tag codec_tag in buf.
*
* @param buf_size size in bytes of buf
* @return the length of the string that would have been generated if
@@ -5394,7 +5395,7 @@ function av_get_exact_bits_per_sample(codec_id: TAVCodecID): cint;
* @return frame duration, in samples, if known. 0 if not able to
* determine.
*)
-function av_get_audio_frame_duration(avctx: PAVCodecContext, frame_bytes: cint): cint;
+function av_get_audio_frame_duration(avctx: PAVCodecContext; frame_bytes: cint): cint;
cdecl; external av__codec;
type
diff --git a/src/lib/ffmpeg-2.1/avutil.pas b/src/lib/ffmpeg-2.1/avutil.pas
index 9be506f8..5ce5141b 100644
--- a/src/lib/ffmpeg-2.1/avutil.pas
+++ b/src/lib/ffmpeg-2.1/avutil.pas
@@ -231,6 +231,11 @@ function av_int_list_length({const} list: pointer; term: cuint64): cuint;
{$INCLUDE libavutil/samplefmt.pas}
+{$INCLUDE libavutil/buffer.pas}
+
+{$INCLUDE libavutil/frame.pas}
+
+
(* libavutil/common.h *) // until now MKTAG and MKBETAG is all from common.h KMS 19/5/2010
(**