3ba84fb7ea
codec/encoder/video: check the passed frame is in the proper format
2015-09-27 20:30:44 +02:00
e1e6e8cca7
codec/encoder/audio: check the passed frame is in the proper format
2015-09-27 20:30:14 +02:00
d93e465f2b
codec/packet: avoid segfault with empty packet writing
2015-09-27 04:47:00 +02:00
510e8604b6
*: refactor setters to return self
2015-09-26 18:01:23 +02:00
4747a5a123
codec/packet: style fix
2015-09-26 17:36:27 +02:00
66284eb045
codec: add magic traits to get codecs by name and id
2015-09-25 21:33:08 +02:00
1fc224fbae
codec/packet: add data access and constructor
2015-09-22 02:44:37 +02:00
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
9736980b02
codec/context: make destructors safe
2015-09-17 17:33:31 +02:00
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
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
f2fb08e491
util/dictionary: refactor and make more sound
2015-09-08 18:26:29 +02:00
1f80007e5e
format: split input and output formats
2015-09-04 16:30:19 +02:00
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
8ed092c0c3
codec: use Option<_> in the getter API
2015-08-29 16:15:57 +02:00
81badeb10d
codec/video: fix style
2015-08-28 21:28:28 +02:00
f223ada727
codec/video: fix style
2015-08-28 21:26:38 +02:00
a373d9bf3f
codec: add profiles getter
2015-08-28 21:25:23 +02:00
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
b839b5fe2f
*: implement ExactSizeIterator where possible
2015-08-25 16:13:42 +02:00
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
bb4263b7be
util/rational: some more refactoring
2015-06-25 22:23:33 +02:00
1e5d77816a
*: update to 2.7
2015-06-19 01:04:49 +02:00
e95c55dbf5
codec/context: move impl Send closer to the type definition
2015-06-10 22:05:20 +02:00