| 1 | [package] |
| 2 | name = "rav1e" |
| 3 | version = "0.7.1" |
| 4 | authors = ["Thomas Daede <tdaede@xiph.org>" ] |
| 5 | edition = "2021" |
| 6 | rust-version = "1.70.0" |
| 7 | build = "build.rs" |
| 8 | include = [ |
| 9 | "/Cargo.toml" , |
| 10 | "/LICENSE" , |
| 11 | "/PATENTS" , |
| 12 | "/README.md" , |
| 13 | "/build.rs" , |
| 14 | "/cbindgen.toml" , |
| 15 | "/src/**" , |
| 16 | ] |
| 17 | license = "BSD-2-Clause" |
| 18 | description = "The fastest and safest AV1 encoder" |
| 19 | readme = "README.md" |
| 20 | repository = "https://github.com/xiph/rav1e/" |
| 21 | autobenches = false |
| 22 | autobins = false |
| 23 | default-run = "rav1e" |
| 24 | |
| 25 | [features] |
| 26 | unstable = [] |
| 27 | channel-api = ["crossbeam" ] |
| 28 | decode_test = ["aom-sys" ] |
| 29 | decode_test_dav1d = ["dav1d-sys" ] |
| 30 | binaries = [ |
| 31 | "ivf" , |
| 32 | "y4m" , |
| 33 | "clap" , |
| 34 | "clap_complete" , |
| 35 | "scan_fmt" , |
| 36 | "fern" , |
| 37 | "console" , |
| 38 | "av-metrics" , |
| 39 | "nom" , |
| 40 | ] |
| 41 | default = ["binaries" , "asm" , "threading" , "signal_support" , "git_version" ] |
| 42 | git_version = ["built/git2" ] |
| 43 | asm = ["nasm-rs" , "cc" ] |
| 44 | threading = ["rayon/threads" ] |
| 45 | signal_support = ["signal-hook" ] |
| 46 | dump_ivf = ["ivf" ] |
| 47 | quick_test = [] |
| 48 | desync_finder = ["backtrace" ] |
| 49 | bench = [] |
| 50 | check_asm = [] |
| 51 | capi = ["scan_fmt" ] |
| 52 | tracing = [ |
| 53 | "profiling/profile-with-tracing" , |
| 54 | "tracing-subscriber" , |
| 55 | "tracing-chrome" , |
| 56 | "dep:tracing" |
| 57 | ] |
| 58 | scenechange = [] |
| 59 | serialize = ["serde" , "toml" , "v_frame/serialize" , "serde-big-array" , "av1-grain/serialize" ] |
| 60 | wasm = ["wasm-bindgen" ] |
| 61 | |
| 62 | # Enables debug dumping of lookahead computation results, specifically: |
| 63 | # - i-qres.png: quarter-resolution luma planes, |
| 64 | # - i-hres.png: half-resolution luma planes, |
| 65 | # - i-mvs.bin: motion vectors, |
| 66 | # - i-imps.bin: block importances, |
| 67 | # - i-activity_scales.bin: spatial scales, |
| 68 | # - i-distortion_scales.bin: temporal scales, |
| 69 | # - i-spatiotemporal_scales.bin, |
| 70 | # - i-thresholds.bin: segmentation thresholds. |
| 71 | dump_lookahead_data = ["byteorder" , "image" ] |
| 72 | |
| 73 | [dependencies] |
| 74 | arg_enum_proc_macro = "0.3.4" |
| 75 | bitstream-io = "2" |
| 76 | cfg-if = "1.0" |
| 77 | clap = { version = "4.4.11" , optional = true, default-features = false, features = [ |
| 78 | "color" , |
| 79 | "std" , |
| 80 | "wrap_help" , |
| 81 | "derive" , |
| 82 | ] } |
| 83 | clap_complete = { version = "4.4.5" , optional = true } |
| 84 | libc = "0.2" |
| 85 | y4m = { version = "0.8" , optional = true } |
| 86 | backtrace = { version = "0.3" , optional = true } |
| 87 | num-traits = "0.2" |
| 88 | num-derive = "0.4" |
| 89 | paste = "1.0" |
| 90 | noop_proc_macro = "0.3.0" |
| 91 | serde = { version = "1.0" , features = ["derive" ], optional = true } |
| 92 | dav1d-sys = { version = "0.6.0" , package = "libdav1d-sys" , optional = true } |
| 93 | aom-sys = { version = "0.3.3" , optional = true } |
| 94 | scan_fmt = { version = "0.2.6" , optional = true, default-features = false } |
| 95 | ivf = { version = "0.1" , path = "ivf/" , optional = true } |
| 96 | v_frame = "0.3.7" |
| 97 | av-metrics = { version = "0.9.1" , optional = true, default-features = false } |
| 98 | rayon = { package = "maybe-rayon" , version = "0.1" , default-features = false } |
| 99 | crossbeam = { version = "0.8" , optional = true } |
| 100 | toml = { version = "0.8" , optional = true } |
| 101 | arrayvec = "0.7" |
| 102 | thiserror = "1.0" |
| 103 | byteorder = { version = "1.5.0" , optional = true } |
| 104 | log = "0.4" |
| 105 | console = { version = "0.15" , optional = true } |
| 106 | fern = { version = "0.6" , optional = true } |
| 107 | itertools = "0.12" |
| 108 | simd_helpers = "0.1" |
| 109 | wasm-bindgen = { version = "0.2.89" , optional = true } |
| 110 | nom = { version = "7.1.3" , optional = true } |
| 111 | new_debug_unreachable = "1.0.4" |
| 112 | once_cell = "1.19.0" |
| 113 | av1-grain = "0.2.2" |
| 114 | serde-big-array = { version = "0.5.1" , optional = true } |
| 115 | profiling = { version = "1" } |
| 116 | tracing-subscriber = { version = "0.3.18" , optional = true } |
| 117 | tracing-chrome = { version = "0.7.1" , optional = true } |
| 118 | tracing = { version = "0.1.40" , optional = true } |
| 119 | |
| 120 | [dependencies.image] |
| 121 | version = "0.24.7" |
| 122 | optional = true |
| 123 | default-features = false |
| 124 | features = ["png" ] |
| 125 | |
| 126 | [build-dependencies] |
| 127 | cc = { version = "1.0" , optional = true, features = ["parallel" ] } |
| 128 | built = { version = "0.7.1" , features = [] } |
| 129 | |
| 130 | [build-dependencies.nasm-rs] |
| 131 | version = "0.2" |
| 132 | optional = true |
| 133 | features = ["parallel" ] |
| 134 | |
| 135 | [target.'cfg(unix)'.dependencies] |
| 136 | signal-hook = { version = "0.3" , optional = true } |
| 137 | |
| 138 | [dev-dependencies] |
| 139 | assert_cmd = "2.0" |
| 140 | criterion = "0.5" |
| 141 | pretty_assertions = "1.4.0" |
| 142 | interpolate_name = "0.2.4" |
| 143 | nom = "7.1.3" |
| 144 | quickcheck = "1.0" |
| 145 | rand = "0.8" |
| 146 | rand_chacha = "0.3" |
| 147 | semver = "1.0" |
| 148 | |
| 149 | [target.'cfg(fuzzing)'.dependencies] |
| 150 | arbitrary = "1.3" |
| 151 | interpolate_name = "0.2.4" |
| 152 | libfuzzer-sys = "0.4.7" |
| 153 | rand = "0.8" |
| 154 | rand_chacha = "0.3" |
| 155 | |
| 156 | [target.'cfg(any(decode_test, decode_test_dav1d))'.dependencies] |
| 157 | system-deps = "6" |
| 158 | |
| 159 | [[bin]] |
| 160 | name = "rav1e" |
| 161 | required-features = ["binaries" ] |
| 162 | bench = false |
| 163 | |
| 164 | [[bin]] |
| 165 | name = "rav1e-ch" |
| 166 | required-features = ["binaries" , "channel-api" , "unstable" ] |
| 167 | bench = false |
| 168 | |
| 169 | [lib] |
| 170 | bench = false |
| 171 | |
| 172 | [[bench]] |
| 173 | name = "bench" |
| 174 | path = "benches/bench.rs" |
| 175 | required-features = ["bench" ] |
| 176 | harness = false |
| 177 | |
| 178 | [profile.dev] |
| 179 | opt-level = 1 |
| 180 | |
| 181 | [profile.release] |
| 182 | debug = true |
| 183 | incremental = true |
| 184 | lto = "thin" |
| 185 | |
| 186 | # windows-gnu should use it until rust-lang/rust#98302 is not fixed |
| 187 | [profile.release-no-lto] |
| 188 | inherits = "release" |
| 189 | lto = "off" |
| 190 | |
| 191 | [profile.release-strip] |
| 192 | inherits = "release" |
| 193 | strip = "symbols" |
| 194 | |
| 195 | [profile.bench] |
| 196 | incremental = true |
| 197 | |
| 198 | [workspace] |
| 199 | members = ["." , "ivf" ] |
| 200 | |
| 201 | [package.metadata.docs.rs] |
| 202 | no-default-features = true |
| 203 | |