61 Commits

Author SHA1 Message Date
FreezyLemon
3206eedcf0
Add ChannelLayout API (#38)
* Create channel_layout directory

* Rename ChannelLayout -> ChannelLayoutMask

* Add enum Channel (<-> AVChannel)

* Add struct ChannelCustom (<-> AVChannelCustom)

* Add enum ChannelOrder (<-> AVChannelOrder)

* Add struct ChannelLayout

- Smart copy-on-write pointer to AVChannelLayout
- idiomatic Rust API wrapping around FFmpeg APIs
- no Ambisonic support (yet)
- consts will need to be manually updated

* Add ChannelLayoutIter (iterator over all standard layouts)

* Add codec/Audio::ch_layouts

* Add ch_layout API to Audio-related structs
2024-04-23 08:59:15 -04:00
FreezyLemon
7a8643f2cc
Migrate crates to Rust edition 2021 (#24)
* Migrate ffmpeg-sys to Edition 2021

* Migrate ffmpeg to Edition 2021

* Remove now-redundant imports

* Reorder imports after edition migration
2024-04-06 21:31:36 -04:00
Josh Holmer
ed9703b739 Fix an issue where compilation may fail on some non-x64 platforms 2023-02-02 13:29:08 -05:00
Josh Holmer
fe89e158c0 Add serialize support for enums 2023-01-24 02:38:11 -05:00
Josh Holmer
42448a8d45 Remove another remnant of that deprecated feature set 2023-01-23 14:39:58 -05:00
Josh Holmer
cff28ba207 Fix things from renaming and clippy 2023-01-23 10:22:10 -05:00
Polochon-street
22ad8b9598 Bump version to use ffmpeg 5 2022-02-11 17:58:42 +01:00
Zhiming Wang
48b5751752
lib: export util::log 2020-08-10 21:57:55 +08:00
Zhiming Wang
1849a07aa6
lib: export util::error 2020-08-09 13:58:24 +08:00
Zhiming Wang
b28e852eb0
Implement automatic FFmpeg version detection
Based on ffmpeg-sys-next 4.3.2.
2020-08-02 11:44:13 +08:00
Zhiming Wang
ceb1a7ea7c
Allow clippy::{missing_safety_doc, module_inception, too_many_arguments} 2020-07-26 01:00:54 +08:00
Zhiming Wang
1cd6d0499b
Switch to my fork of ffmpeg-sys 2020-06-01 13:17:08 +08:00
Zhiming Wang
6c2d33fc07
Drop outdated lints 2020-05-31 14:16:23 +08:00
Tadas Barzdžius
0bcd4550b8 *: format code with rustfmt and fix clippy suggestions
* Add avformat_close_input call to clean up AVFormantContext
* Format code with rustfmt
* Fix clippy lint double_parens
* Fix clippy lint deref_addrof
* Fix clippy lint identity_conversion
* Fix clippy lint match_ref_pats
* Fix clippy lint cast_lossless
* Fix clippy lint cmp_null
* Fix clippy lint clone_on_ref_ptr
* Fix clippy lint map_clone
* Fix clippy lint needless_borrow
* Fix clippy lint needless_pass_by_value
* Fix clippy lints for examples
* Fix clippy lint unused_io_amount
* Fix clippy lint new_without_default
* Ignore inline_always clippy lint
* Add vim temp files to .gitignore
2018-04-10 16:06:42 +02:00
fengalin
28b7a82ac1 format: add support for Chapters
Read chapters from an input context and add chapters to an output context.

Note: unlike avformat_new_stream, the equivalent function for chapter is private:
avpriv_new_chapter (part of libavformat/internal.h). I couldn't find any other
solution but re-implementing it in format::context::output::add_chapter.
2017-09-23 20:42:51 +02:00
meh
9f87ecf5fa crate: fix some warnings 2016-05-23 23:05:41 +02:00
meh
c66aa6efbb util/dictionary: add a dict! macro to create a dictionary 2015-10-26 20:25:44 +01:00
lummax
03740c31c0 util/mathematics: add rounding and rescaling 2015-10-25 23:28:27 +01:00
meh
f2fb08e491 util/dictionary: refactor and make more sound 2015-09-08 18:26:29 +02:00
meh
2a3a4e6169 filter: add avfilter wrapper 2015-09-04 16:36:04 +02:00
meh
67a2c60a33 util/option: add some basic options handling 2015-09-04 16:34:02 +02:00
meh
a282d85662 format/stream: avoid unsoundness splitting Stream into StreamMut 2015-08-25 15:45:55 +02:00
meh
67b683169c crate: add image support 2015-08-03 18:52:30 +02:00
meh
623f798ca4 crate: disable unused unstable features 2015-06-10 22:04:37 +02:00
meh
02ea528c26 util/frame/audio: improve ergonomics 2015-06-08 15:52:01 +02:00
meh
e05dd04882 util/channel_layout: add ChannelLayout 2015-06-01 18:34:01 +02:00
meh
72895052e6 util/frame/audio: add samples accessor 2015-06-01 16:52:19 +02:00
meh
8ceac13065 software/scaling: add software scaling feature 2015-05-28 18:16:07 +02:00
meh
6c8a8f2edd crate: also export rational module for helpers 2015-05-28 18:15:33 +02:00
meh
883654ebda util/time: add time helpers 2015-05-26 20:36:27 +02:00
meh
7cce85709a lib: add a crate init function 2015-05-24 18:52:28 +02:00
meh
a0dae25b94 codec/threading: add threading configuration 2015-05-16 19:18:26 +02:00
meh
757088f46c codec: refactor decoder and encoder 2015-05-16 17:28:25 +02:00
meh
706f64c133 codec/field_order: add enum 2015-05-16 17:24:33 +02:00
meh
ded50e95a9 codec/audio_service: add enum 2015-05-16 17:20:45 +02:00
meh
6090985707 codec: refactor API 2015-05-16 14:45:21 +02:00
meh
96563ed391 cargo: add features 2015-05-15 21:28:03 +02:00
meh
3a1af24d2f util/color: move color enums to their own module 2015-05-13 15:16:42 +02:00
meh
72025673c9 util/picture: add picture::Type 2015-05-12 19:19:52 +02:00
meh
72e300f09e codec/subtitle: improve Subtitle handling 2015-05-12 18:21:02 +02:00
meh
bd4cfd56dc codec/picture: add Picture 2015-05-12 18:19:30 +02:00
meh
1150527c35 device: add handling 2015-05-12 03:58:34 +02:00
meh
b7a015c79a format: add Format, format::Context and Stream 2015-05-12 03:57:17 +02:00
meh
a45c011fbc format: add base 2015-05-12 03:53:19 +02:00
meh
66901497ab codec: add various Codec related stuff 2015-05-12 03:49:55 +02:00
meh
9c8ca6601f codec/discard: add Discard 2015-05-12 03:48:11 +02:00
meh
64c6678f04 codec/subtitle: add Subtitle 2015-05-12 03:46:25 +02:00
meh
42564d0d5e codec/packet: add Packet and packet::SideData 2015-05-12 03:44:45 +02:00
meh
308e36ee48 codec: add base 2015-05-12 03:33:13 +02:00
meh
2ff14a2043 util/frame: add Frame, frame::Video and frame::Audio 2015-05-12 03:25:29 +02:00