In WebRTC internals, I can see that the External Encoder (hardware accelerated) is only enabled when the video fed to WebRTC is above about 510x510px. When the video origin is smaller than that, the OpenH264 encoder kicks in automatically.
Why is this?
My theories:
- It makes less sense on smaller video due to CPU overhead
- Maybe a Mac OS/drivers/GPU related issue
- GPU is unable to perform encoding on small video due to its H264 encoding/profiles implementation
- anything else?
Can this be fixed?
Tested on a variety of MacBooks/Mac OS/latest Chrome.
Thanks
Dominik