ffmpeg-the-third/ffmpeg-sys-the-third
FreezyLemon ef14631f71
Remove old FF_API_* features (#80)
* Clean up FF_API features

Use (for avcodec):
`git log -n1 -p -SFF_API_* -- libavcodec/version_major.h`
to find the last change regarding the relevant FF_API feature.

Removed all flags that are <4.0.
Added comments for the remaining flags

* Remove features gated behind old FF_API flags
2024-10-27 21:56:00 -04:00
..
2023-01-23 09:59:27 -05:00
2024-10-27 21:56:00 -04:00
2024-10-18 00:06:01 -04:00
2024-04-29 21:39:18 -04:00
2024-10-16 13:25:53 -04:00

ffmpeg-sys-the-third on crates.io build

This is a fork of the abandoned ffmpeg-sys crate. You can find this crate as ffmpeg-sys-the-third on crates.io.

This crate contains low level bindings to FFmpeg. You're probably interested in the high level bindings instead: ffmpeg-next.

A word on versioning: The crate version includes the maximum supported FFmpeg version for each release. E.g. ffmpeg-sys-the-third@2.0.0+ffmpeg-7.0 supports up to FFmpeg 7.0. The minimum supported FFmpeg version at the moment is 4.2.

Feature flags

In addition to feature flags declared in Cargo.toml, this crate performs various compile-time version and feature detections and exposes the results in additional flags. These flags are briefly documented below; run cargo build -vv to view more details.

  • ffmpeg_<x>_<y> flags, e.g. ffmpeg_4_4, indicating the FFmpeg installation being compiled against is at least version <x>.<y>. Currently available:

    • "ffmpeg_4_3"
    • "ffmpeg_4_4"
    • "ffmpeg_5_0"
    • "ffmpeg_5_1"
    • "ffmpeg_6_0"
    • "ffmpeg_6_1"
    • "ffmpeg_7_0"
  • avcodec_version_greater_than_<x>_<y>, e.g., avcodec_version_greater_than_58_90. The name should be self-explanatory.

  • ff_api_<feature>, e.g. ff_api_vaapi, corresponding to whether their respective uppercase deprecation guards evaluate to true.

  • ff_api_<feature>_is_defined, e.g. ff_api_vappi_is_defined, similar to above except these are enabled as long as the corresponding deprecation guards are defined.