Expand description
The hand-written FFmpeg surface falcon uses, and the loader that opens the shared libraries at run time.
Only the functions in Api are called. Structs are declared as far as
the last field falcon reads, laid out as FFmpeg 7.1 declares them
(libavutil 59, libavcodec 61, libavformat 61, libswscale 8,
libswresample 5, libavfilter 10). The loader refuses libraries of any other major
version, since a struct prefix is only right for the version it was
copied from, and refuses any build whose licence is not the LGPL. The
layout test checks every offset against the installed headers.
Structs§
- AVChannel
Layout - AVCodec
- Opaque types, only ever behind pointers.
- AVCodec
Context - AVCodec
Parameters - The start of
AVCodecParameters, up toframerate. - AVFilter
- AVFilter
Context - AVFilter
Graph - AVFormat
Context - The start of
AVFormatContext, up toduration. - AVFrame
AVFrameup toch_layout(FFmpeg 7.1 still has the deprecated fieldskey_frame,interlaced_frame,top_field_first,palette_has_changed,pkt_posandpkt_size).- AVPacket
- The start of
AVPacket, up tostream_index. - AVPacket
Side Data - AVRational
- AVStream
- The start of
AVStream, up toavg_frame_rate. - Api
- Every FFmpeg function falcon calls, resolved from the loaded libraries. The libraries stay loaded for the life of the process.
- SwrContext
- SwsContext
Enums§
- Load
Error - Why FFmpeg could not be used.
Constants§
- AVCODEC_
MAJOR - AVERROR_
EAGAIN AVERROR(EAGAIN): EAGAIN is 35 on macOS and 11 on Linux and in Windows’s C runtimes.- AVERROR_
EOF AVERROR_EOF,-MKTAG('E','O','F',' ').- AVERROR_
INVALIDDATA AVERROR_INVALIDDATA,-MKTAG('I','N','D','A').- AVFILTER_
MAJOR - AVFORMAT_
MAJOR - AVMEDIA_
TYPE_ AUDIO - AVMEDIA_
TYPE_ VIDEO - AVSEEK_
FLAG_ BACKWARD - AVUTIL_
MAJOR - Major versions of the libraries the structs below describe.
- AV_
LOG_ QUIET - AV_
NOPTS_ VALUE - AV_
PIX_ FMT_ RGBA - AV_
PKT_ DATA_ DISPLAYMATRIX - AV_
SAMPLE_ FMT_ FLT - AV_
TIME_ BASE - SWRESAMPLE_
MAJOR - SWSCALE_
MAJOR - SWS_
AREA - SWS_
BILINEAR
Functions§
- api
- The loaded FFmpeg, opened on first use.
- error_
text - FFmpeg’s message for an error code.
- has_
decoder - Whether the loaded FFmpeg has the decoder called
name(FFmpeg’s short name, such aslibdav1dfor AV1). - license_
ok - Whether a library’s licence string is one falcon may load: the LGPL,
never the GPL (
--enable-gpl) or a nonfree build. - search_
dirs - Where the libraries are looked for, in order:
$FALCON_FFMPEG_DIR, the app bundle’sContents/Frameworksnext to the executable (Linux packages:lib/falconbesidebin; Windows: the executable’s own folder, where the installer puts them, thenlibin it, where the portable zip does), and the workspace’starget/ffmpeg/libthatscripts/build-ffmpeg.shfills.