diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2016-03-21 00:05:48 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2016-03-21 00:05:54 +0100 |
commit | ab20306b70b10a860b566bf912487d1f8a6eb22e (patch) | |
tree | 2ce77f6c50572e64ac75bbd3bd50982d2835f718 /package | |
parent | f172737d165dd7c255e5020c0b57545ccb432bad (diff) |
kodi: add gentoo patches to work with ffmpeg3
Diffstat (limited to 'package')
24 files changed, 603 insertions, 14 deletions
diff --git a/package/kodi/patches/patch-configure_ac b/package/kodi/patches/patch-configure_ac index 5e8621421..2faf66ccf 100644 --- a/package/kodi/patches/patch-configure_ac +++ b/package/kodi/patches/patch-configure_ac @@ -1,6 +1,6 @@ ---- kodi-ff25ea118e3580bb1ebcbb7c450ed933da1782be.orig/configure.ac 2015-05-25 11:50:32.000000000 -0500 -+++ kodi-ff25ea118e3580bb1ebcbb7c450ed933da1782be/configure.ac 2015-05-25 14:15:13.034424159 -0500 -@@ -1044,7 +1044,7 @@ if test "$use_gles" = "yes"; then +--- xbmc-16.0-Jarvis.orig/configure.ac 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/configure.ac 2016-03-14 04:38:00.056255849 +0100 +@@ -1004,7 +1004,7 @@ if test "$use_gles" = "yes"; then AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."]) AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."]) AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.) diff --git a/package/kodi/patches/patch-m4_ax_python_devel_m4 b/package/kodi/patches/patch-m4_ax_python_devel_m4 index ded81dbd5..6359e37e8 100644 --- a/package/kodi/patches/patch-m4_ax_python_devel_m4 +++ b/package/kodi/patches/patch-m4_ax_python_devel_m4 @@ -1,6 +1,6 @@ ---- xbmc-13.0rc1.orig/m4/ax_python_devel.m4 2014-04-30 15:43:58.000000000 +0200 -+++ xbmc-13.0rc1/m4/ax_python_devel.m4 2014-05-02 08:03:10.000000000 +0200 -@@ -298,7 +298,7 @@ EOD` +--- xbmc-16.0-Jarvis.orig/m4/ax_python_devel.m4 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/m4/ax_python_devel.m4 2016-03-14 04:38:00.080254255 +0100 +@@ -289,7 +289,7 @@ EOD` # save current global flags ac_save_LIBS="$LIBS" ac_save_CPPFLAGS="$CPPFLAGS" diff --git a/package/kodi/patches/patch-xbmc_Application_cpp b/package/kodi/patches/patch-xbmc_Application_cpp index 56088951b..325ced594 100644 --- a/package/kodi/patches/patch-xbmc_Application_cpp +++ b/package/kodi/patches/patch-xbmc_Application_cpp @@ -1,6 +1,6 @@ ---- kodi-ff25ea118e3580bb1ebcbb7c450ed933da1782be.orig/xbmc/Application.cpp 2015-05-25 11:50:32.000000000 -0500 -+++ kodi-ff25ea118e3580bb1ebcbb7c450ed933da1782be/xbmc/Application.cpp 2015-05-25 11:53:49.534501831 -0500 -@@ -911,10 +911,7 @@ bool CApplication::InitDirectoriesLinux( +--- xbmc-16.0-Jarvis.orig/xbmc/Application.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/Application.cpp 2016-03-14 04:38:00.084253990 +0100 +@@ -871,10 +871,7 @@ bool CApplication::InitDirectoriesLinux( userName = "root"; std::string userHome; diff --git a/package/kodi/patches/patch-xbmc_cores_FFmpeg_h b/package/kodi/patches/patch-xbmc_cores_FFmpeg_h new file mode 100644 index 000000000..022a971b8 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_FFmpeg_h @@ -0,0 +1,34 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/FFmpeg.h 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h 2016-03-19 18:38:18.594026700 +0100 +@@ -24,7 +24,6 @@ + #include "utils/CPUInfo.h" + + extern "C" { +-#include "libswscale/swscale.h" + #include "libavcodec/avcodec.h" + #include "libavformat/avformat.h" + #include "libavutil/avutil.h" +@@ -33,23 +32,6 @@ extern "C" { + #include "libpostproc/postprocess.h" + } + +-inline int SwScaleCPUFlags() +-{ +- unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures(); +- int flags = 0; +- +- if (cpuFeatures & CPU_FEATURE_MMX) +- flags |= SWS_CPU_CAPS_MMX; +- if (cpuFeatures & CPU_FEATURE_MMX2) +- flags |= SWS_CPU_CAPS_MMX2; +- if (cpuFeatures & CPU_FEATURE_3DNOW) +- flags |= SWS_CPU_CAPS_3DNOW; +- if (cpuFeatures & CPU_FEATURE_ALTIVEC) +- flags |= SWS_CPU_CAPS_ALTIVEC; +- +- return flags; +-} +- + inline int PPCPUFlags() + { + unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures(); diff --git a/package/kodi/patches/patch-xbmc_cores_VideoRenderers_LinuxRendererGLES_cpp b/package/kodi/patches/patch-xbmc_cores_VideoRenderers_LinuxRendererGLES_cpp new file mode 100644 index 000000000..017c98833 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_VideoRenderers_LinuxRendererGLES_cpp @@ -0,0 +1,13 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp 2016-03-19 18:38:18.678021277 +0100 +@@ -2006,8 +2006,8 @@ void CLinuxRendererGLES::UploadYV12Textu + #endif + { + m_sw_context = sws_getCachedContext(m_sw_context, +- im->width, im->height, PIX_FMT_YUV420P, +- im->width, im->height, PIX_FMT_RGBA, ++ im->width, im->height, AV_PIX_FMT_YUV420P, ++ im->width, im->height, AV_PIX_FMT_RGBA, + SWS_FAST_BILINEAR, NULL, NULL, NULL); + + uint8_t *src[] = { im->plane[0], im->plane[1], im->plane[2], 0 }; diff --git a/package/kodi/patches/patch-xbmc_cores_VideoRenderers_LinuxRendererGL_cpp b/package/kodi/patches/patch-xbmc_cores_VideoRenderers_LinuxRendererGL_cpp new file mode 100644 index 000000000..d7a322e39 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_VideoRenderers_LinuxRendererGL_cpp @@ -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 }; diff --git a/package/kodi/patches/patch-xbmc_cores_VideoRenderers_WinRenderer_cpp b/package/kodi/patches/patch-xbmc_cores_VideoRenderers_WinRenderer_cpp new file mode 100644 index 000000000..459cafe85 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_VideoRenderers_WinRenderer_cpp @@ -0,0 +1,45 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/WinRenderer.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp 2016-03-19 18:38:18.678021277 +0100 +@@ -94,16 +94,16 @@ CWinRenderer::~CWinRenderer() + UnInit(); + } + +-static enum PixelFormat PixelFormatFromFormat(ERenderFormat format) ++static enum AVPixelFormat PixelFormatFromFormat(ERenderFormat format) + { +- if (format == RENDER_FMT_DXVA) return PIX_FMT_NV12; +- if (format == RENDER_FMT_YUV420P) return PIX_FMT_YUV420P; +- if (format == RENDER_FMT_YUV420P10) return PIX_FMT_YUV420P10; +- if (format == RENDER_FMT_YUV420P16) return PIX_FMT_YUV420P16; +- if (format == RENDER_FMT_NV12) return PIX_FMT_NV12; +- if (format == RENDER_FMT_UYVY422) return PIX_FMT_UYVY422; +- if (format == RENDER_FMT_YUYV422) return PIX_FMT_YUYV422; +- return PIX_FMT_NONE; ++ if (format == RENDER_FMT_DXVA) return AV_PIX_FMT_NV12; ++ if (format == RENDER_FMT_YUV420P) return AV_PIX_FMT_YUV420P; ++ if (format == RENDER_FMT_YUV420P10) return AV_PIX_FMT_YUV420P10; ++ if (format == RENDER_FMT_YUV420P16) return AV_PIX_FMT_YUV420P16; ++ if (format == RENDER_FMT_NV12) return AV_PIX_FMT_NV12; ++ if (format == RENDER_FMT_UYVY422) return AV_PIX_FMT_UYVY422; ++ if (format == RENDER_FMT_YUYV422) return AV_PIX_FMT_YUYV422; ++ return AV_PIX_FMT_NONE; + } + + void CWinRenderer::ManageTextures() +@@ -719,13 +719,13 @@ void CWinRenderer::Render(DWORD flags) + + void CWinRenderer::RenderSW() + { +- enum PixelFormat format = PixelFormatFromFormat(m_format); ++ enum AVPixelFormat format = PixelFormatFromFormat(m_format); + + // 1. convert yuv to rgb + m_sw_scale_ctx = sws_getCachedContext(m_sw_scale_ctx, + m_sourceWidth, m_sourceHeight, format, +- m_sourceWidth, m_sourceHeight, PIX_FMT_BGRA, +- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); ++ m_sourceWidth, m_sourceHeight, AV_PIX_FMT_BGRA, ++ SWS_FAST_BILINEAR, NULL, NULL, NULL); + + YUVBuffer* buf = (YUVBuffer*)m_VideoBuffers[m_iYV12RenderBuffer]; + diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecUtils_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecUtils_cpp new file mode 100644 index 000000000..cd6c53c41 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_DVDCodecUtils_cpp @@ -0,0 +1,79 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp 2016-03-19 18:38:18.610025667 +0100 +@@ -39,7 +39,7 @@ extern "C" { + #include "libswscale/swscale.h" + } + +-// allocate a new picture (PIX_FMT_YUV420P) ++// allocate a new picture (AV_PIX_FMT_YUV420P) + DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight) + { + DVDVideoPicture* pPicture = new DVDVideoPicture; +@@ -264,13 +264,13 @@ DVDVideoPicture* CDVDCodecUtils::Convert + + int dstformat; + if (format == RENDER_FMT_UYVY422) +- dstformat = PIX_FMT_UYVY422; ++ dstformat = AV_PIX_FMT_UYVY422; + else +- dstformat = PIX_FMT_YUYV422; ++ dstformat = AV_PIX_FMT_YUYV422; + +- struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, PIX_FMT_YUV420P, ++ struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, AV_PIX_FMT_YUV420P, + pPicture->iWidth, pPicture->iHeight, (AVPixelFormat)dstformat, +- SWS_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); ++ SWS_BILINEAR, NULL, NULL, NULL); + sws_scale(ctx, src, srcStride, 0, pSrc->iHeight, dst, dstStride); + sws_freeContext(ctx); + } +@@ -403,25 +403,25 @@ double CDVDCodecUtils::NormalizeFramedur + } + + struct EFormatMap { +- PixelFormat pix_fmt; ++ AVPixelFormat pix_fmt; + ERenderFormat format; + }; + + static const EFormatMap g_format_map[] = { +- { PIX_FMT_YUV420P, RENDER_FMT_YUV420P } +-, { PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P } +-, { PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 } +-, { PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 } +-, { PIX_FMT_UYVY422, RENDER_FMT_UYVY422 } +-, { PIX_FMT_YUYV422, RENDER_FMT_YUYV422 } +-, { PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI } +-, { PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA } +-, { PIX_FMT_NONE , RENDER_FMT_NONE } ++ { AV_PIX_FMT_YUV420P, RENDER_FMT_YUV420P } ++, { AV_PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P } ++, { AV_PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 } ++, { AV_PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 } ++, { AV_PIX_FMT_UYVY422, RENDER_FMT_UYVY422 } ++, { AV_PIX_FMT_YUYV422, RENDER_FMT_YUYV422 } ++, { AV_PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI } ++, { AV_PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA } ++, { AV_PIX_FMT_NONE , RENDER_FMT_NONE } + }; + + ERenderFormat CDVDCodecUtils::EFormatFromPixfmt(int fmt) + { +- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p) ++ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p) + { + if(p->pix_fmt == fmt) + return p->format; +@@ -431,10 +431,10 @@ ERenderFormat CDVDCodecUtils::EFormatFro + + int CDVDCodecUtils::PixfmtFromEFormat(ERenderFormat fmt) + { +- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p) ++ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p) + { + if(p->format == fmt) + return p->pix_fmt; + } +- return PIX_FMT_NONE; ++ return AV_PIX_FMT_NONE; + } diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp new file mode 100644 index 000000000..56a9ba98b --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_cpp @@ -0,0 +1,68 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2016-03-19 18:38:18.614025409 +0100 +@@ -77,8 +77,8 @@ enum DecoderState + STATE_SW_MULTI + }; + +-enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx +- , const PixelFormat * fmt ) ++enum AVPixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx ++ , const AVPixelFormat * fmt ) + { + CDVDVideoCodecFFmpeg* ctx = (CDVDVideoCodecFFmpeg*)avctx->opaque; + +@@ -104,8 +104,8 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G + avctx->hwaccel_context = 0; + } + +- const PixelFormat * cur = fmt; +- while(*cur != PIX_FMT_NONE) ++ const AVPixelFormat * cur = fmt; ++ while(*cur != AV_PIX_FMT_NONE) + { + #ifdef HAVE_LIBVDPAU + if(VDPAU::CDecoder::IsVDPAUFormat(*cur) && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVDPAU)) +@@ -137,7 +137,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G + #endif + #ifdef HAVE_LIBVA + // mpeg4 vaapi decoding is disabled +- if(*cur == PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI)) ++ if(*cur == AV_PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI)) + { + VAAPI::CDecoder* dec = new VAAPI::CDecoder(); + if(dec->Open(avctx, ctx->m_pCodecContext, *cur, ctx->m_uSurfacesCount) == true) +@@ -214,11 +214,11 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre + + for(std::vector<ERenderFormat>::iterator it = options.m_formats.begin(); it != options.m_formats.end(); ++it) + { +- m_formats.push_back((PixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it)); ++ m_formats.push_back((AVPixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it)); + if(*it == RENDER_FMT_YUV420P) +- m_formats.push_back(PIX_FMT_YUVJ420P); ++ m_formats.push_back(AV_PIX_FMT_YUVJ420P); + } +- m_formats.push_back(PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */ ++ m_formats.push_back(AV_PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */ + + pCodec = avcodec_find_decoder(hints.codec); + +@@ -655,7 +655,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCom + pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc; + pDvdVideoPicture->color_matrix = m_pCodecContext->colorspace; + if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG +- || m_pCodecContext->pix_fmt == PIX_FMT_YUVJ420P) ++ || m_pCodecContext->pix_fmt == AV_PIX_FMT_YUVJ420P) + pDvdVideoPicture->color_range = 1; + else + pDvdVideoPicture->color_range = 0; +@@ -738,8 +738,8 @@ bool CDVDVideoCodecFFmpeg::GetPicture(DV + pDvdVideoPicture->iFlags |= pDvdVideoPicture->data[0] ? 0 : DVP_FLAG_DROPPED; + pDvdVideoPicture->extended_format = 0; + +- PixelFormat pix_fmt; +- pix_fmt = (PixelFormat)m_pFrame->format; ++ AVPixelFormat pix_fmt; ++ pix_fmt = (AVPixelFormat)m_pFrame->format; + + pDvdVideoPicture->format = CDVDCodecUtils::EFormatFromPixfmt(pix_fmt); + return true; diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_h b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_h new file mode 100644 index 000000000..a1493e1f1 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecFFmpeg_h @@ -0,0 +1,29 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h 2016-03-19 18:38:18.618025151 +0100 +@@ -46,7 +46,7 @@ public: + public: + IHardwareDecoder() {} + virtual ~IHardwareDecoder() {}; +- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces) = 0; ++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces) = 0; + virtual int Decode (AVCodecContext* avctx, AVFrame* frame) = 0; + virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture) = 0; + virtual int Check (AVCodecContext* avctx) = 0; +@@ -77,7 +77,7 @@ public: + void SetHardware(IHardwareDecoder* hardware); + + protected: +- static enum PixelFormat GetFormat(struct AVCodecContext * avctx, const PixelFormat * fmt); ++ static enum AVPixelFormat GetFormat(struct AVCodecContext * avctx, const AVPixelFormat * fmt); + + int FilterOpen(const std::string& filters, bool scale); + void FilterClose(); +@@ -119,7 +119,7 @@ protected: + int m_iLastKeyframe; + double m_dts; + bool m_started; +- std::vector<PixelFormat> m_formats; ++ std::vector<AVPixelFormat> m_formats; + double m_decoderPts; + int m_skippedDeint; + bool m_requestSkipDeint; diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecVDA_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecVDA_cpp new file mode 100644 index 000000000..d318f906f --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DVDVideoCodecVDA_cpp @@ -0,0 +1,34 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp 2016-03-19 18:38:18.626024634 +0100 +@@ -554,11 +554,11 @@ void CDVDVideoCodecVDA::DisplayQueuePop( + + void CDVDVideoCodecVDA::UYVY422_to_YUV420P(uint8_t *yuv422_ptr, int yuv422_stride, DVDVideoPicture *picture) + { +- // convert PIX_FMT_UYVY422 to PIX_FMT_YUV420P. ++ // convert AV_PIX_FMT_UYVY422 to AV_PIX_FMT_YUV420P. + struct SwsContext *swcontext = sws_getContext( +- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_UYVY422, +- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P, +- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); ++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_UYVY422, ++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P, ++ SWS_FAST_BILINEAR, NULL, NULL, NULL); + if (swcontext) + { + uint8_t *src[] = { yuv422_ptr, 0, 0, 0 }; +@@ -574,11 +574,11 @@ void CDVDVideoCodecVDA::UYVY422_to_YUV42 + + void CDVDVideoCodecVDA::BGRA_to_YUV420P(uint8_t *bgra_ptr, int bgra_stride, DVDVideoPicture *picture) + { +- // convert PIX_FMT_BGRA to PIX_FMT_YUV420P. ++ // convert AV_PIX_FMT_BGRA to AV_PIX_FMT_YUV420P. + struct SwsContext *swcontext = sws_getContext( +- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_BGRA, +- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P, +- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); ++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_BGRA, ++ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P, ++ SWS_FAST_BILINEAR, NULL, NULL, NULL); + if (swcontext) + { + uint8_t *src[] = { bgra_ptr, 0, 0, 0 }; diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DXVA_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DXVA_cpp new file mode 100644 index 000000000..9585da52e --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DXVA_cpp @@ -0,0 +1,23 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp 2016-03-19 18:38:18.626024634 +0100 +@@ -886,7 +886,7 @@ static bool CheckCompatibility(AVCodecCo + return true; + } + +-bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces) ++bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces) + { + if (!CheckCompatibility(avctx)) + return false; +@@ -1135,9 +1135,9 @@ bool CDecoder::OpenDecoder() + return true; + } + +-bool CDecoder::Supports(enum PixelFormat fmt) ++bool CDecoder::Supports(enum AVPixelFormat fmt) + { +- if(fmt == PIX_FMT_DXVA2_VLD) ++ if(fmt == AV_PIX_FMT_DXVA2_VLD) + return true; + return false; + } diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DXVA_h b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DXVA_h new file mode 100644 index 000000000..4af890eea --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_DXVA_h @@ -0,0 +1,20 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h 2016-03-19 18:38:18.626024634 +0100 +@@ -141,7 +141,7 @@ class CDecoder + public: + CDecoder(); + ~CDecoder(); +- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces); ++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces); + virtual int Decode (AVCodecContext* avctx, AVFrame* frame); + virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); + virtual int Check (AVCodecContext* avctx); +@@ -154,7 +154,7 @@ public: + int GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags); + void RelBuffer(uint8_t *data); + +- static bool Supports(enum PixelFormat fmt); ++ static bool Supports(enum AVPixelFormat fmt); + + void CloseDXVADecoder(); + diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VAAPI_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VAAPI_cpp new file mode 100644 index 000000000..4adb39567 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VAAPI_cpp @@ -0,0 +1,11 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp 2016-03-19 18:38:18.634024117 +0100 +@@ -479,7 +479,7 @@ CDecoder::~CDecoder() + Close(); + } + +-bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces) ++bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces) + { + // don't support broken wrappers by default + // nvidia cards with a vaapi to vdpau wrapper diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VAAPI_h b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VAAPI_h new file mode 100644 index 000000000..e75c87563 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VAAPI_h @@ -0,0 +1,11 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h 2016-03-19 18:38:18.646023343 +0100 +@@ -406,7 +406,7 @@ public: + CDecoder(); + virtual ~CDecoder(); + +- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0); ++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0); + virtual int Decode (AVCodecContext* avctx, AVFrame* frame); + virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); + virtual void Reset(); diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDA_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDA_cpp new file mode 100644 index 000000000..ec75c8d37 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDA_cpp @@ -0,0 +1,11 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp 2016-03-19 18:38:18.650023085 +0100 +@@ -186,7 +186,7 @@ void CDecoder::Close() + m_bitstream = NULL; + } + +-bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces) ++bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces) + { + Close(); + diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDA_h b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDA_h new file mode 100644 index 000000000..7b7052092 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDA_h @@ -0,0 +1,11 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h 2016-03-19 18:38:18.650023085 +0100 +@@ -35,7 +35,7 @@ class CDecoder + public: + CDecoder(); + ~CDecoder(); +- virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0); ++ virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0); + virtual int Decode(AVCodecContext* avctx, AVFrame* frame); + virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); + virtual int Check(AVCodecContext* avctx); diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDPAU_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDPAU_cpp new file mode 100644 index 000000000..33873389d --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDPAU_cpp @@ -0,0 +1,20 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp 2016-03-19 18:38:18.658022569 +0100 +@@ -486,7 +486,7 @@ CDecoder::CDecoder() : m_vdpauOutput(&m_ + m_vdpauConfig.context = 0; + } + +-bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces) ++bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces) + { + // check if user wants to decode this format with VDPAU + std::string gpuvendor = g_Windowing.GetRenderVendor(); +@@ -760,7 +760,7 @@ int CDecoder::Check(AVCodecContext* avct + return 0; + } + +-bool CDecoder::IsVDPAUFormat(PixelFormat format) ++bool CDecoder::IsVDPAUFormat(AVPixelFormat format) + { + if (format == AV_PIX_FMT_VDPAU) + return true; diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDPAU_h b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDPAU_h new file mode 100644 index 000000000..d89140427 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDCodecs_Video_VDPAU_h @@ -0,0 +1,20 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h 2016-03-19 18:38:18.658022569 +0100 +@@ -556,7 +556,7 @@ public: + CDecoder(); + virtual ~CDecoder(); + +- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0); ++ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0); + virtual int Decode (AVCodecContext* avctx, AVFrame* frame); + virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture); + virtual void Reset(); +@@ -571,7 +571,7 @@ public: + bool Supports(VdpVideoMixerFeature feature); + bool Supports(EINTERLACEMETHOD method); + EINTERLACEMETHOD AutoInterlaceMethod(); +- static bool IsVDPAUFormat(PixelFormat fmt); ++ static bool IsVDPAUFormat(AVPixelFormat fmt); + + static void FFReleaseBuffer(void *opaque, uint8_t *data); + static int FFGetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags); diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp new file mode 100644 index 000000000..22249026a --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDDemuxers_DVDDemuxFFmpeg_cpp @@ -0,0 +1,29 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2016-03-19 18:38:18.658022569 +0100 +@@ -1638,7 +1638,7 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPack + + // for video we need a decoder to get desired information into codec context + if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && st->codec->extradata && +- (!st->codec->width || st->codec->pix_fmt == PIX_FMT_NONE)) ++ (!st->codec->width || st->codec->pix_fmt == AV_PIX_FMT_NONE)) + { + // open a decoder, it will be cleared down by ffmpeg on closing the stream + if (!st->codec->codec) +@@ -1695,7 +1695,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady() + st = m_pFormatContext->streams[idx]; + if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) + { +- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE) ++ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE) + return true; + hasVideo = true; + } +@@ -1708,7 +1708,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady() + st = m_pFormatContext->streams[i]; + if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) + { +- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE) ++ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE) + return true; + hasVideo = true; + } diff --git a/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDFileInfo_cpp b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDFileInfo_cpp new file mode 100644 index 000000000..81f58c029 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_cores_dvdplayer_DVDFileInfo_cpp @@ -0,0 +1,11 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDFileInfo.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp 2016-03-19 18:38:18.662022310 +0100 +@@ -275,7 +275,7 @@ bool CDVDFileInfo::ExtractThumb(const st + + uint8_t *pOutBuf = new uint8_t[nWidth * nHeight * 4]; + struct SwsContext *context = sws_getContext(picture.iWidth, picture.iHeight, +- PIX_FMT_YUV420P, nWidth, nHeight, PIX_FMT_BGRA, SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL); ++ AV_PIX_FMT_YUV420P, nWidth, nHeight, AV_PIX_FMT_BGRA, SWS_FAST_BILINEAR, NULL, NULL, NULL); + + if (context) + { diff --git a/package/kodi/patches/patch-xbmc_pictures_Picture_cpp b/package/kodi/patches/patch-xbmc_pictures_Picture_cpp new file mode 100644 index 000000000..aa0727372 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_pictures_Picture_cpp @@ -0,0 +1,15 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/pictures/Picture.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp 2016-03-19 18:38:18.694020244 +0100 +@@ -342,9 +342,9 @@ bool CPicture::ScaleImage(uint8_t *in_pi + uint8_t *out_pixels, unsigned int out_width, unsigned int out_height, unsigned int out_pitch, + CPictureScalingAlgorithm::Algorithm scalingAlgorithm /* = CPictureScalingAlgorithm::NoAlgorithm */) + { +- struct SwsContext *context = sws_getContext(in_width, in_height, PIX_FMT_BGRA, +- out_width, out_height, PIX_FMT_BGRA, +- CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm) | SwScaleCPUFlags(), NULL, NULL, NULL); ++ struct SwsContext *context = sws_getContext(in_width, in_height, AV_PIX_FMT_BGRA, ++ out_width, out_height, AV_PIX_FMT_BGRA, ++ CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm), NULL, NULL, NULL); + + uint8_t *src[] = { in_pixels, 0, 0, 0 }; + int srcStride[] = { (int)in_pitch, 0, 0, 0 }; diff --git a/package/kodi/patches/patch-xbmc_utils_SystemInfo_cpp b/package/kodi/patches/patch-xbmc_utils_SystemInfo_cpp index 1fddf255f..a9746c03b 100644 --- a/package/kodi/patches/patch-xbmc_utils_SystemInfo_cpp +++ b/package/kodi/patches/patch-xbmc_utils_SystemInfo_cpp @@ -1,6 +1,6 @@ ---- kodi-14.0rc2.orig/xbmc/utils/SystemInfo.cpp 2014-12-05 19:38:44.000000000 -0600 -+++ kodi-14.0rc2/xbmc/utils/SystemInfo.cpp 2014-12-07 23:48:19.332418001 -0600 -@@ -615,16 +615,11 @@ std::string CSysInfo::GetOsName(bool emp +--- xbmc-16.0-Jarvis.orig/xbmc/utils/SystemInfo.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/utils/SystemInfo.cpp 2016-03-14 04:38:00.092253459 +0100 +@@ -614,16 +614,11 @@ std::string CSysInfo::GetOsName(bool emp osName = "iOS"; #elif defined(TARGET_DARWIN_OSX) osName = "OS X"; @@ -20,7 +20,7 @@ if (osName.empty()) osName = "Unknown OS"; } -@@ -665,7 +660,7 @@ std::string CSysInfo::GetOsVersion(void) +@@ -664,7 +659,7 @@ std::string CSysInfo::GetOsVersion(void) #elif defined(TARGET_LINUX) osVersion = getValueFromOs_release("VERSION_ID"); if (osVersion.empty()) @@ -29,7 +29,7 @@ #endif // defined(TARGET_LINUX) if (osVersion.empty()) -@@ -737,19 +732,7 @@ std::string CSysInfo::GetOsPrettyNameWit +@@ -742,19 +737,7 @@ std::string CSysInfo::GetOsPrettyNameWit #elif defined(TARGET_ANDROID) osNameVer = GetOsName() + " " + GetOsVersion() + " API level " + StringUtils::Format("%d", CJNIBuild::SDK_INT); #elif defined(TARGET_LINUX) diff --git a/package/kodi/patches/patch-xbmc_video_FFmpegVideoDecoder_cpp b/package/kodi/patches/patch-xbmc_video_FFmpegVideoDecoder_cpp new file mode 100644 index 000000000..8493b30f4 --- /dev/null +++ b/package/kodi/patches/patch-xbmc_video_FFmpegVideoDecoder_cpp @@ -0,0 +1,20 @@ +--- xbmc-16.0-Jarvis.orig/xbmc/video/FFmpegVideoDecoder.cpp 2016-02-20 16:21:19.000000000 +0100 ++++ xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp 2016-03-19 18:38:18.710019211 +0100 +@@ -252,7 +252,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas + return false; + + // Due to a bug in swsscale we need to allocate one extra line of data +- if ( avpicture_alloc( m_pFrameRGB, PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 ) ++ if ( avpicture_alloc( m_pFrameRGB, AV_PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 ) + return false; + } + +@@ -287,7 +287,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas + + // We got the video frame, render it into the picture buffer + struct SwsContext * context = sws_getContext( m_pCodecCtx->width, m_pCodecCtx->height, m_pCodecCtx->pix_fmt, +- m_frameRGBwidth, m_frameRGBheight, PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL ); ++ m_frameRGBwidth, m_frameRGBheight, AV_PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL ); + + sws_scale( context, m_pFrame->data, m_pFrame->linesize, 0, m_pCodecCtx->height, + m_pFrameRGB->data, m_pFrameRGB->linesize ); |