|
@@ -0,0 +1,85 @@
|
|
|
+--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp 2016-02-20 16:21:19.000000000 +0100
|
|
|
++++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp 2016-03-19 18:38:18.666022051 +0100
|
|
|
+@@ -2932,7 +2932,7 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
|
|
|
+ }
|
|
|
+ else if (m_format == RENDER_FMT_NV12)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_NV12;
|
|
|
++ srcFormat = AV_PIX_FMT_NV12;
|
|
|
+ for (int i = 0; i < 2; i++)
|
|
|
+ {
|
|
|
+ src[i] = im->plane[i];
|
|
|
+@@ -2941,13 +2941,13 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
|
|
|
+ }
|
|
|
+ else if (m_format == RENDER_FMT_YUYV422)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_YUYV422;
|
|
|
++ srcFormat = AV_PIX_FMT_YUYV422;
|
|
|
+ src[0] = im->plane[0];
|
|
|
+ srcStride[0] = im->stride[0];
|
|
|
+ }
|
|
|
+ else if (m_format == RENDER_FMT_UYVY422)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_UYVY422;
|
|
|
++ srcFormat = AV_PIX_FMT_UYVY422;
|
|
|
+ src[0] = im->plane[0];
|
|
|
+ srcStride[0] = im->stride[0];
|
|
|
+ }
|
|
|
+@@ -2965,8 +2965,8 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
|
|
|
+
|
|
|
+ m_context = sws_getCachedContext(m_context,
|
|
|
+ im->width, im->height, (AVPixelFormat)srcFormat,
|
|
|
+- im->width, im->height, (AVPixelFormat)PIX_FMT_BGRA,
|
|
|
+- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
|
|
|
++ im->width, im->height, (AVPixelFormat)AV_PIX_FMT_BGRA,
|
|
|
++ SWS_FAST_BILINEAR, NULL, NULL, NULL);
|
|
|
+
|
|
|
+ uint8_t *dst[] = { m_rgbBuffer, 0, 0, 0 };
|
|
|
+ int dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 };
|
|
|
+@@ -2995,7 +2995,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
|
|
|
+
|
|
|
+ if (m_format == RENDER_FMT_YUV420P)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_YUV420P;
|
|
|
++ srcFormat = AV_PIX_FMT_YUV420P;
|
|
|
+ for (int i = 0; i < 3; i++)
|
|
|
+ {
|
|
|
+ srcTop[i] = im->plane[i];
|
|
|
+@@ -3006,7 +3006,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
|
|
|
+ }
|
|
|
+ else if (m_format == RENDER_FMT_NV12)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_NV12;
|
|
|
++ srcFormat = AV_PIX_FMT_NV12;
|
|
|
+ for (int i = 0; i < 2; i++)
|
|
|
+ {
|
|
|
+ srcTop[i] = im->plane[i];
|
|
|
+@@ -3017,7 +3017,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
|
|
|
+ }
|
|
|
+ else if (m_format == RENDER_FMT_YUYV422)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_YUYV422;
|
|
|
++ srcFormat = AV_PIX_FMT_YUYV422;
|
|
|
+ srcTop[0] = im->plane[0];
|
|
|
+ srcStrideTop[0] = im->stride[0] * 2;
|
|
|
+ srcBot[0] = im->plane[0] + im->stride[0];
|
|
|
+@@ -3025,7 +3025,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
|
|
|
+ }
|
|
|
+ else if (m_format == RENDER_FMT_UYVY422)
|
|
|
+ {
|
|
|
+- srcFormat = PIX_FMT_UYVY422;
|
|
|
++ srcFormat = AV_PIX_FMT_UYVY422;
|
|
|
+ srcTop[0] = im->plane[0];
|
|
|
+ srcStrideTop[0] = im->stride[0] * 2;
|
|
|
+ srcBot[0] = im->plane[0] + im->stride[0];
|
|
|
+@@ -3045,8 +3045,8 @@ void CLinuxRendererGL::ToRGBFields(YV12I
|
|
|
+
|
|
|
+ m_context = sws_getCachedContext(m_context,
|
|
|
+ im->width, im->height >> 1, (AVPixelFormat)srcFormat,
|
|
|
+- im->width, im->height >> 1, (AVPixelFormat)PIX_FMT_BGRA,
|
|
|
+- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
|
|
|
++ im->width, im->height >> 1, (AVPixelFormat)AV_PIX_FMT_BGRA,
|
|
|
++ SWS_FAST_BILINEAR, NULL, NULL, NULL);
|
|
|
+ uint8_t *dstTop[] = { m_rgbBuffer, 0, 0, 0 };
|
|
|
+ uint8_t *dstBot[] = { m_rgbBuffer + m_sourceWidth * m_sourceHeight * 2, 0, 0, 0 };
|
|
|
+ int dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 };
|