Commit Graph

196 Commits

Author SHA1 Message Date
606847cc50 codec: introduce Parameters
As of ffmpeg 3.1, a new `AVCodecParameters` type and related API introduced.
This commit contains minimal changes to support new API.
2016-12-03 01:41:29 +01:00
e1c132bd08 codec/packet: add set_pts/dts methods 2016-11-29 01:07:26 +01:00
2ed824aaac *: upgrade to 3.2
Fix errors when built with https://github.com/meh/rust-ffmpeg-sys/pull/35.
2016-11-27 23:16:47 +01:00
859c01f268 codec/encoder/video: add missing feature flag (quant_bias) 2016-05-20 14:08:32 +02:00
e4fcdad658 codec/encoder/video: add missing feature flag (motion_est) 2016-05-20 14:08:32 +02:00
f5941792f9 codec/id: fix voxware feature name 2016-03-30 22:51:44 +02:00
meh
b6c92b2805 crate: check headers for ifdefs 2015-12-03 18:23:06 +01:00
meh
d2b6557fbc codec/encoder/audio: add open_with() constructor 2015-10-26 20:27:04 +01:00
meh
6bb6a806ed codec/encoder/video: add open_with() constructor 2015-10-26 20:26:21 +01:00
2cf4da707a codec/packet: unify duration() to return i64
As all other instances of timestamps (duration/pts/dts)
2015-10-25 22:33:22 +01:00
meh
01b5f74fb0 codec/subtitle: refactor Rect handling 2015-10-25 22:32:42 +01:00
meh
5677b0ee6e codec/packet: fix SideDataIter.size_hint 2015-10-25 22:32:02 +01:00
ac0ef697cf codec/decoder/opened: add flush method 2015-10-14 18:24:42 +02:00
meh
8b6e41f68c codec/packet/borrow: remove unused imports 2015-10-09 17:50:15 +02:00
meh
306b9c6698 codec/packet: refactoring to allow zero-copy packet creation 2015-10-09 14:09:35 +02:00
meh
7e2ebcf36b codec/packet: use size to know if a packet is empty 2015-10-07 16:20:46 +02:00
meh
132c514e3f *: returning &mut Self from setters was an awful idea
Deref breaks things.
2015-10-04 03:21:52 +02:00
meh
e7cd9fd94f codec/encoder: set the medium if it's unknown 2015-10-01 23:34:59 +02:00
meh
14c7586030 codec/packet: add inline attributes 2015-10-01 20:41:42 +02:00
meh
8570e3a5b4 codec/encoder/video: add inline attributes 2015-10-01 20:40:17 +02:00
meh
f3d6f901be codec/encoder/video: add mb_lmin and mb_lmax writers 2015-10-01 20:39:50 +02:00
meh
1497c645be codec/encoder/video: also check width and height in encode 2015-10-01 01:28:56 +02:00
meh
5883148188 codec/packet: make it Sync 2015-09-29 01:11:36 +02:00
meh
3ba84fb7ea codec/encoder/video: check the passed frame is in the proper format 2015-09-27 20:30:44 +02:00
meh
e1e6e8cca7 codec/encoder/audio: check the passed frame is in the proper format 2015-09-27 20:30:14 +02:00
meh
d93e465f2b codec/packet: avoid segfault with empty packet writing 2015-09-27 04:47:00 +02:00
meh
510e8604b6 *: refactor setters to return self 2015-09-26 18:01:23 +02:00
meh
4747a5a123 codec/packet: style fix 2015-09-26 17:36:27 +02:00
meh
66284eb045 codec: add magic traits to get codecs by name and id 2015-09-25 21:33:08 +02:00
meh
1fc224fbae codec/packet: add data access and constructor 2015-09-22 02:44:37 +02:00
meh
2ca44d08d4 *: fix UB with CString usage 2015-09-22 02:44:13 +02:00
c8a95364a2 encoder/{audio,video}: add flush() methods` 2015-09-19 12:37:28 +02:00
cc054229cf decoder/{audio,video}: add max_bit_rate() 2015-09-18 21:44:58 +02:00
de8585b24d codec/encoder: add set_max_bit_rate() 2015-09-18 21:44:35 +02:00
2366506e63 codec/encoder: rename set_rate() to set_bit_rate()
This commit serves the purpose to remove ambiguity:
- The decoder actually calls the getter for this field `bit_rate()`
- The audio decoder/encoder have methods called `{set_}rate()` for the _rate`
- The encoder/audio `set_rate()` shadows the encoder/mod `set_rate()`
2015-09-18 21:44:14 +02:00
34ff7bafbf codec/decoder: add time_base() method 2015-09-18 21:41:45 +02:00
meh
9736980b02 codec/context: make destructors safe 2015-09-17 17:33:31 +02:00
meh
19548810dd *: update to 2.8 2015-09-15 20:53:49 +02:00
79ecba2fad codec/context: add set_flags() method 2015-09-14 13:55:19 +02:00
46f198033f codec: add Flags (CODEC_FLAG_*) 2015-09-14 13:53:55 +02:00
bc2a39a48b codec/encoder: add set_time_base()
The documentation [1] states: `encoding: MUST be set by user`.

[1]: https://ffmpeg.org/doxygen/trunk/structAVCodecContext.html#ab7bfeb9fa5840aac090e2b0bd0ef7589
2015-09-13 20:21:07 +02:00
a84b30b3f0 codec/audio: fix ChannelLayoutIter.best()
Somehow the condition `cur.channels() > cur.channels()` slipped in which will
always be `false`. The correct condition is `cur.channels() > acc.channels()`.
2015-09-12 09:24:26 +02:00
c8a38a926f codec/audio: implement ChannelLayoutIter.best()
Is some cases the decoder channel layout is not supported by the selected
encoder. A selection from the channel layouts supported by the encoder is
needed. For this the method `best()` is introduced.
2015-09-11 18:26:40 +02:00
91134301a5 encoder/video: add getter methods needed for video transcoding 2015-09-09 20:05:42 +02:00
45b1d9ab9b codec/subtitle: remove unneeded import 2015-09-09 19:39:04 +02:00
meh
8d8e2aa94e codec/subtitle: properly use Option for pts handling 2015-09-09 16:45:16 +02:00
29450c4260 {en,de}coder/audio: add frame_size() method 2015-09-08 19:11:18 +02:00
meh
f2fb08e491 util/dictionary: refactor and make more sound 2015-09-08 18:26:29 +02:00
meh
1f80007e5e format: split input and output formats 2015-09-04 16:30:19 +02:00
meh
fbf5cd94eb codec: make lifetimes saner 2015-09-04 16:28:56 +02:00