[package]
edition = "2024"
name = "lumen-engine-ffmpeg"
version = "0.2.2"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "FFmpeg integration for media decode, encode, muxing, and GPU interop in Lumen."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/lumiscia/lumen-oss"
[features]
avcodec = ["ffmpeg-sys-next/avcodec"]
avformat = [
"ffmpeg-sys-next/avformat",
"avcodec",
]
build-ffmpeg = ["ffmpeg-sys-next/build"]
cuda = ["dep:cudarc"]
default = [
"avcodec",
"avformat",
"swresample",
"swscale",
]
gpl = ["ffmpeg-sys-next/build-license-gpl"]
metal = [
"dep:objc2",
"dep:objc2-core-foundation",
"dep:objc2-core-video",
"dep:objc2-metal",
]
nonfree = ["ffmpeg-sys-next/build-license-nonfree"]
swresample = ["ffmpeg-sys-next/swresample"]
swscale = ["ffmpeg-sys-next/swscale"]
vulkan = ["dep:ash"]
[lib]
name = "lumen_ffmpeg"
path = "src/lib.rs"
[[example]]
name = "decode_file"
path = "examples/decode_file.rs"
[[example]]
name = "transcode_file"
path = "examples/transcode_file.rs"
[[test]]
name = "roundtrip"
path = "tests/roundtrip.rs"
[dependencies.ash]
version = "0.38.0"
optional = true
[dependencies.cudarc]
version = "0.19.7"
features = [
"driver",
"dynamic-loading",
"fallback-latest",
"nvrtc",
"std",
"cuda-12080",
]
optional = true
default-features = false
[dependencies.ffmpeg-sys-next]
version = "8.1.0"
default-features = false
[dependencies.libc]
version = "0.2"
[dependencies.objc2]
version = "0.6.4"
optional = true
[dependencies.objc2-core-foundation]
version = "0.3.2"
features = [
"CFDictionary",
"CFNumber",
"CFString",
]
optional = true
[dependencies.objc2-core-video]
version = "0.3.2"
features = [
"CVBase",
"CVBuffer",
"CVImageBuffer",
"CVMetalTexture",
"CVMetalTextureCache",
"CVPixelBuffer",
"CVPixelBufferPool",
"CVReturn",
"objc2-metal",
]
optional = true
[dependencies.objc2-metal]
version = "0.3.2"
optional = true