aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/ffmpeg/avcodec.pas
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ffmpeg/avcodec.pas')
-rw-r--r--src/lib/ffmpeg/avcodec.pas112
1 files changed, 81 insertions, 31 deletions
diff --git a/src/lib/ffmpeg/avcodec.pas b/src/lib/ffmpeg/avcodec.pas
index 5edc9a7b..0a436a48 100644
--- a/src/lib/ffmpeg/avcodec.pas
+++ b/src/lib/ffmpeg/avcodec.pas
@@ -106,9 +106,6 @@ const
{$MESSAGE Error 'Linked version of libavcodec is not yet supported!'}
{$IFEND}
-type
- FF_INTERNALC_MEM_TYPE = cuint;
-
const
AV_NOPTS_VALUE: cint64 = $8000000000000000;
AV_TIME_BASE = 1000000;
@@ -193,7 +190,9 @@ type
CODEC_ID_QDRAW,
CODEC_ID_VIXL,
CODEC_ID_QPEG,
+{$IF LIBAVCODEC_VERSION_MAJOR < 53}
CODEC_ID_XVID,
+{$IFEND}
CODEC_ID_PNG,
CODEC_ID_PPM,
CODEC_ID_PBM,
@@ -258,36 +257,65 @@ type
CODEC_ID_MOTIONPIXELS,
CODEC_ID_TGV,
CODEC_ID_TGQ,
+{$IF LIBAVCODEC_VERSION >= 52012000} // >= 52.12.0
CODEC_ID_TQI,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52022002} // >= 52.22.2
CODEC_ID_AURA,
CODEC_ID_AURA2,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52027000} // >= 52.27.0
CODEC_ID_V210X,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52028000} // >= 52.28.0
CODEC_ID_TMV,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52029000} // >= 52.29.0
CODEC_ID_V210,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52030002} // >= 52.30.2
CODEC_ID_DPX,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52031002} // >= 52.31.2
CODEC_ID_MAD,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52037000} // >= 52.37.0
CODEC_ID_FRWU,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52041000} // >= 52.41.0
CODEC_ID_FLASHSV2,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52043000} // >= 52.43.0
CODEC_ID_CDGRAPHICS,
CODEC_ID_R210,
- CODEC_ID_ANM,
+{$IFEND}
+ CODEC_ID_ANM,
+{$IF LIBAVCODEC_VERSION >= 52049000} // >= 52.49.0
CODEC_ID_BINKVIDEO,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52052000} // >= 52.52.0
CODEC_ID_IFF_ILBM,
CODEC_ID_IFF_BYTERUN1,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52058000} // >= 52.58.0
CODEC_ID_KGV1,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52062000} // >= 52.62.0
CODEC_ID_YOP,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52067002} // >= 52.67.2
CODEC_ID_VP8,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52075001} // >= 52.75.1
CODEC_ID_PICTOR,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52084000} // >= 52.84.0
CODEC_ID_ANSI,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52086001} // >= 52.86.1
CODEC_ID_A64_MULTI,
CODEC_ID_A64_MULTI5,
- CODEC_ID_R10K,
- CODEC_ID_MXPEG,
- CODEC_ID_LAGARITH,
- CODEC_ID_PRORES,
- CODEC_ID_JV,
- CODEC_ID_DFA,
- CODEC_ID_8SVX_RAW,
+{$IFEND}
//* various PCM "codecs" */
CODEC_ID_PCM_S16LE= $10000,
@@ -314,9 +342,9 @@ type
CODEC_ID_PCM_F32LE,
CODEC_ID_PCM_F64BE,
CODEC_ID_PCM_F64LE,
+{$IF LIBAVCODEC_VERSION >= 52034000} // >= 52.34.0
CODEC_ID_PCM_BLURAY,
- CODEC_ID_PCM_LXF,
- CODEC_ID_S302M,
+{$IFEND}
//* various ADPCM codecs */
CODEC_ID_ADPCM_IMA_QT= $11000,
@@ -347,7 +375,6 @@ type
CODEC_ID_ADPCM_EA_XAS,
CODEC_ID_ADPCM_EA_MAXIS_XA,
CODEC_ID_ADPCM_IMA_ISS,
- CODEC_ID_ADPCM_G722,
//* AMR */
CODEC_ID_AMR_NB= $12000,
@@ -367,6 +394,9 @@ type
CODEC_ID_MP2= $15000,
CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
CODEC_ID_AAC,
+ {$IF LIBAVCODEC_VERSION < 52000000} // < 52.0.0
+ _CODEC_ID_MPEG4AAC, // will be redefined to CODEC_ID_AAC below
+ {$IFEND}
CODEC_ID_AC3,
CODEC_ID_DTS,
CODEC_ID_VORBIS,
@@ -410,27 +440,39 @@ type
CODEC_ID_EAC3,
CODEC_ID_SIPR,
CODEC_ID_MP1,
+{$IF LIBAVCODEC_VERSION >= 52020000} // >= 52.20.0
CODEC_ID_TWINVQ,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52022000} // >= 52.22.0
CODEC_ID_TRUEHD,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52026000} // >= 52.26.0
CODEC_ID_MP4ALS,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52035000} // >= 52.35.0
CODEC_ID_ATRAC1,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52049000} // >= 52.49.0
CODEC_ID_BINKAUDIO_RDFT,
CODEC_ID_BINKAUDIO_DCT,
- CODEC_ID_AAC_LATM,
- CODEC_ID_QDMC,
- CODEC_ID_CELT,
+{$IFEND}
//* subtitle codecs */
- CODEC_ID_DVD_SUBTITLE= 0x17000,
+ CODEC_ID_DVD_SUBTITLE= $17000,
CODEC_ID_DVB_SUBTITLE,
CODEC_ID_TEXT, ///< raw UTF-8 text
CODEC_ID_XSUB,
CODEC_ID_SSA,
CODEC_ID_MOV_TEXT,
+{$IF LIBAVCODEC_VERSION >= 52033000} // >= 52.33.0
CODEC_ID_HDMV_PGS_SUBTITLE,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52037001} // >= 52.37.1
CODEC_ID_DVB_TELETEXT,
+{$IFEND}
+{$IF LIBAVCODEC_VERSION >= 52084001} // >= 52.84.1
CODEC_ID_SRT,
- CODEC_ID_MICRODVD,
+{$IFEND}
(* other specific kind of codecs (generally used for attachments) *)
CODEC_ID_TTF= $18000,
@@ -439,28 +481,35 @@ type
CODEC_ID_MPEG2TS= $20000, {*< _FAKE_ codec to indicate a raw MPEG-2 TS
* stream (only used by libavformat) *}
- CODEC_ID_FFMETADATA= $21000 ///< Dummy codec for streams containing only metadata information.
+ __CODEC_ID_4BYTE = $FFFFF // ensure 4-byte enum
);
-type
- TCodecType = TAVMediaType;
-
+{$IF LIBAVCODEC_VERSION < 52000000} // < 52.0.0
+{* CODEC_ID_MP3LAME is obsolete *}
const
- CODEC_TYPE_UNKNOWN = AVMEDIA_TYPE_UNKNOWN;
- CODEC_TYPE_VIDEO = AVMEDIA_TYPE_VIDEO;
- CODEC_TYPE_AUDIO = AVMEDIA_TYPE_AUDIO;
- CODEC_TYPE_DATA = AVMEDIA_TYPE_DATA;
- CODEC_TYPE_SUBTITLE = AVMEDIA_TYPE_SUBTITLE;
- CODEC_TYPE_ATTACHMENT = AVMEDIA_TYPE_ATTACHMENT;
- CODEC_TYPE_NB = AVMEDIA_TYPE_NB;
+ CODEC_ID_MP3LAME = CODEC_ID_MP3;
+ CODEC_ID_MPEG4AAC = CODEC_ID_AAC;
+{$IFEND}
+
+{$IF LIBAVCODEC_VERSION_MAJOR < 53} // < 53.0.0
+type
+ TCodecType = (
+ CODEC_TYPE_UNKNOWN = -1,
+ CODEC_TYPE_VIDEO,
+ CODEC_TYPE_AUDIO,
+ CODEC_TYPE_DATA,
+ CODEC_TYPE_SUBTITLE,
+ CODEC_TYPE_ATTACHMENT,
+ CODEC_TYPE_NB
);
+{$IFEND}
{
TAVMediaType moved to avutil in LIBAVUTIL_VERSION 50.14.0
but moving it in the pascal headers was not really necessary
but caused problems. So, I (KMS) left it here.
}
-
+{$IF LIBAVCODEC_VERSION >= 52064000} // >= 52.64.0
type
TAVMediaType = (
AVMEDIA_TYPE_UNKNOWN = -1,
@@ -471,6 +520,7 @@ type
AVMEDIA_TYPE_ATTACHMENT,
AVMEDIA_TYPE_NB
);
+{$IFEND}
{**
* all in native endian