Commit Graph

14 Commits

Author SHA1 Message Date
Valentin Cocaud cd6aaa1393 Force key frame on PLI
Also make the ReadCloser an Controllable allows to uncouple
the controller implementation from the encoder.
This is not needed for the 2 codec controller already implemented (openh264 and vpx)
but is more future proof in case it required for other codecs.
2022-07-25 10:51:35 -04:00
Atsushi Watanabe a88c2daf89 Allow double close of codecs (#364)
Video/AudioTrack.NewRTPReader() internally closes encoder on error.
It caused double free if user closes reader after error.
2021-11-21 22:57:50 +09:00
Lukas Herman 559c6a13a1 Update readers to be memory pool friendly 2020-10-29 00:04:12 -07:00
Lukas Herman f4a4edcabd Update codec.Reader interface to return byte slice 2020-10-29 04:48:47 +00:00
Atsushi Watanabe fee9ffa32c codec/vaapi: fix reference frame update
Previous reference frame update sequence was borrowed from
an example in libva-utils, however the quality of the output
was not good (block noised).
This commit disables alternate frame and updates golden frame only
on keyframe. It doesn't enable full referencing feature of VP8, but
ffmpeg vaapi encoder looks also not fully using golden frame and
alternate frame.
2020-04-29 07:14:53 -07:00
Atsushi Watanabe 6f66c2866b codec/vaapi: fix VP8 reference surface usage
Fix not to use input surface as reference surface.
Fix flags of key-frame.
2020-03-31 09:59:42 -04:00
Atsushi Watanabe fa1fd13422 codec/vaapi: return error on unsupported environment
Make it buildable on unsupported environment.
Return error on runtime.
2020-03-28 22:12:07 -04:00
Lukas Herman 354f2710b5 Update from io.ReadCloser to codec.ReadCloser 2020-03-25 23:21:25 -04:00
Atsushi Watanabe 73cee07d71 Unify codec params type/func naming 2020-03-24 07:02:32 +09:00
Atsushi Watanabe 7bb7c9e927 codec/vaapi: calculate max bit-rate from BaseParam 2020-03-23 12:25:23 -04:00
Lukas Herman c9b90fb233 Redesign codec
Resolves https://github.com/pion/mediadevices/issues/114

* Remove codec registrar
* Completely redesign how codec is being discovered, tuned, and built
* Update examples
* Update unit tests
2020-03-21 07:45:10 -04:00
Atsushi Watanabe 31227a18b2 Add libva specific CodecParam 2020-03-11 22:50:37 -04:00
Atsushi Watanabe 1190a695a8 Add hardware accelerated VP9 encoder 2020-03-11 22:50:37 -04:00
Atsushi Watanabe 5cebb7d942 Add hardware accelerated VP8 encoder
Using libva.
2020-03-11 22:50:37 -04:00