Commit Graph

123 Commits

Author SHA1 Message Date
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
a2979c828d encoder/audio: add getters for fields where setters exist 2015-09-02 16:15:02 +02:00
0e83f8a0c4 encoder/audio: add set_channels()
For this a method for `ChannelLayout` to retrieve the number of channels was
also added.
2015-08-31 22:59:35 +02:00
3091e20f2d codec/packet: fix pts(): return Option 2015-08-30 22:15:20 +02:00
2d3b77f43b codec/encoder/audio: add set_channel_layout() 2015-08-30 16:39:00 +02:00
0d80d5e3de codec/encoder/audio: add set_format() 2015-08-30 16:38:32 +02:00
370890d1cf codec/encoder/audio: add set_rate() 2015-08-30 16:38:00 +02:00
f2fc59f25d codec/packet: add rescale_ts() method 2015-08-30 16:37:39 +02:00
40c13a7238 codec/encoder: remove deprecated set_time_base() 2015-08-30 16:26:26 +02:00
c867dd6259 codec: improve encoder state transitions
This commit improves the state transitions for the `codec::*` structs as
discussed in #7.
2015-08-29 21:19:14 +02:00
891b87f25d codec/decoder: adapt accessors to new state transitions 2015-08-29 21:09:39 +02:00
ee6004d05e codec: improve decoder state transitions
This commit improves the state transitions for the `codec::*` structs as
discussed in #7.
2015-08-29 21:08:31 +02:00
meh
8ed092c0c3 codec: use Option<_> in the getter API 2015-08-29 16:15:57 +02:00
meh
81badeb10d codec/video: fix style 2015-08-28 21:28:28 +02:00
meh
f223ada727 codec/video: fix style 2015-08-28 21:26:38 +02:00
meh
a373d9bf3f codec: add profiles getter 2015-08-28 21:25:23 +02:00
meh
e8db20c86b codec/capabilities: add Capabilities and getter 2015-08-28 21:20:57 +02:00
59b1eead16 codec: add several getters 2015-08-28 20:36:55 +02:00
meh
b839b5fe2f *: implement ExactSizeIterator where possible 2015-08-25 16:13:42 +02:00
meh
62acd3ef02 *: use Into<Rational> instead of Rational for setters 2015-08-25 15:53:46 +02:00
83d3156c62 codec/packet: expose predicates for packet flags 2015-08-14 19:32:22 +02:00
meh
bb4263b7be util/rational: some more refactoring 2015-06-25 22:23:33 +02:00
meh
1e5d77816a *: update to 2.7 2015-06-19 01:04:49 +02:00
meh
e95c55dbf5 codec/context: move impl Send closer to the type definition 2015-06-10 22:05:20 +02:00