MediaCodec: VSYNC is bad
See releaseOutputBuffer() documentation about long renderTimestampNs in https://developer.android.com/reference/android/media/MediaCodec.html#releaseOutputBuffer%28int,%20long%29
"for best performance and quality, call this method when you are about two VSYNCs' time before the desired render time. For 60Hz displays, this is about 33 msec."
Easy on the paper but may be very hard to integrate with actual core vout.
Test / reproduce with a Xiaomi mi box 3:
< Pecana> I have a strange behavior using VLC on andrid box, if the display is set to 1080p 60 hz the video playback is not smooth, otherwise settings it to 1080p 50 hz it is almost perfect. With the same settings and same video mx player play smooth on both resolution.