流行的Android视频播放器中的视频渲染方法

时间:2013-05-29 16:16:48

标签: android video

视频以YUV色彩空间编码。 Android API仅支持RGB开箱即用。作为VPlayer或MX Player的Android视频播放器如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

2个一般解决方案:

  1. 使用纯软件算法转换YUV - > RGB。
  2. 使用3D着色器硬件进行繁重的转换以转换YUV - > RGB。
  3. 另外,质疑这是否是最佳方法(即,这意味着您正在使用软件解码视频) - 您应该这样做吗?硬件可以代替它(并同时显示)吗?

答案 1 :(得分:0)

答案 2 :(得分:0)

在opencv中,你可以这样做

cv::Mat myuv(height + height / 2, width, CV_8UC1, (unsigned char *) mem);
cv::Mat bgr(width, height, CV_8UC3);
cv::cvtColor(myuv, bgr, CV_YUV420sp2RGB, 3);