Your message dated Fri, 06 Nov 2015 17:25:27 +0000
with message-id <e1zuklt-0005cc...@franck.debian.org>
and subject line Bug#803831: fixed in kodi 15.2+dfsg1-1
has caused the Debian Bug report #803831,
regarding kodi: FTBFS with FFmpeg 2.9
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
803831: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803831
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: kodi
Version: 15.2~rc3+dfsg1-1
Severity: important
Tags: patch
User: pkg-multimedia-maintainers@lists.alioth.debian.org
Usertags: ffmpeg2.9

Dear Maintainer,

your package fails to build with the upcoming ffmpeg 2.9.
This bug will become release-critical at some point when the
ffmpeg2.9 transition gets closer.

Attached is a patch replacing the deprecated functionality.
It also works with ffmpeg 2.8.
Please apply this patch and forward it upstream, if necessary.

These changes have little regression potential.

Best regards,
Andreas

diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch
new file mode 100644
index 0000000..af3c870
--- /dev/null
+++ b/debian/patches/ffmpeg_2.9.patch
@@ -0,0 +1,574 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
+Last-Update: <2015-11-02>
+
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/FFmpeg.h
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/FFmpeg.h
+@@ -33,23 +33,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();
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+@@ -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 };
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+@@ -1944,8 +1944,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 };
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/VideoRenderers/WinRenderer.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/VideoRenderers/WinRenderer.cpp
+@@ -96,13 +96,13 @@ CWinRenderer::~CWinRenderer()
+ 
+ static enum PixelFormat PixelFormatFromFormat(ERenderFormat format)
+ {
+-  if      (format == RENDER_FMT_YUV420P)   return PIX_FMT_YUV420P;
+-  else if (format == RENDER_FMT_YUV420P10) return PIX_FMT_YUV420P10;
+-  else if (format == RENDER_FMT_YUV420P16) return PIX_FMT_YUV420P16;
+-  else if (format == RENDER_FMT_NV12)      return PIX_FMT_NV12;
+-  else if (format == RENDER_FMT_UYVY422)   return PIX_FMT_UYVY422;
+-  else if (format == RENDER_FMT_YUYV422)   return PIX_FMT_YUYV422;
+-  else return PIX_FMT_NONE;
++  if      (format == RENDER_FMT_YUV420P)   return AV_PIX_FMT_YUV420P;
++  else if (format == RENDER_FMT_YUV420P10) return AV_PIX_FMT_YUV420P10;
++  else if (format == RENDER_FMT_YUV420P16) return AV_PIX_FMT_YUV420P16;
++  else if (format == RENDER_FMT_NV12)      return AV_PIX_FMT_NV12;
++  else if (format == RENDER_FMT_UYVY422)   return AV_PIX_FMT_UYVY422;
++  else if (format == RENDER_FMT_YUYV422)   return AV_PIX_FMT_YUYV422;
++  else return AV_PIX_FMT_NONE;
+ }
+ 
+ void CWinRenderer::ManageTextures()
+@@ -754,8 +754,8 @@ void CWinRenderer::RenderSW()
+   // 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];
+ 
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
+@@ -42,7 +42,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;
+@@ -267,13 +267,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_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
++                                                           SWS_FAST_BILINEAR, NULL, NULL, NULL);
+         sws_scale(ctx, src, srcStride, 0, pSrc->iHeight, dst, dstStride);
+         sws_freeContext(ctx);
+       }
+@@ -464,25 +464,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;
+@@ -492,10 +492,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;
+ }
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -79,8 +79,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;
+ 
+@@ -106,8 +106,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::Get().GetBool("videoplayer.usevdpau"))
+@@ -139,7 +139,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
+ #endif
+ #ifdef HAVE_LIBVA
+     // mpeg4 vaapi decoding is disabled
+-    if(*cur == PIX_FMT_VAAPI_VLD && CSettings::Get().GetBool("videoplayer.usevaapi"))
++    if(*cur == AV_PIX_FMT_VAAPI_VLD && CSettings::Get().GetBool("videoplayer.usevaapi"))
+     {
+       VAAPI::CDecoder* dec = new VAAPI::CDecoder();
+       if(dec->Open(avctx, ctx->m_pCodecContext, *cur, ctx->m_uSurfacesCount) == true)
+@@ -216,11 +216,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);
+ 
+@@ -657,7 +657,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;
+@@ -740,8 +740,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;
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
+@@ -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;
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+@@ -546,11 +546,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 };
+@@ -566,11 +566,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 };
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+@@ -794,7 +794,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;
+@@ -1129,9 +1129,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;
+ }
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
+@@ -115,7 +115,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);
+@@ -129,7 +129,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();
+ 
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+@@ -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
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
+@@ -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();
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
+@@ -184,7 +184,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();
+ 
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
+@@ -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);
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+@@ -483,7 +483,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();
+@@ -757,7 +757,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;
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
+@@ -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);
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+@@ -1617,7 +1617,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)
+@@ -1674,7 +1674,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;
+       }
+@@ -1687,7 +1687,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;
+       }
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/cores/dvdplayer/DVDFileInfo.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+@@ -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)
+             {
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/pictures/Picture.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/pictures/Picture.cpp
+@@ -330,9 +330,9 @@ void CPicture::GetScale(unsigned int wid
+ bool CPicture::ScaleImage(uint8_t *in_pixels, unsigned int in_width, unsigned int in_height, unsigned int in_pitch,
+                           uint8_t *out_pixels, unsigned int out_width, unsigned int out_height, unsigned int out_pitch)
+ {
+-  struct SwsContext *context = sws_getContext(in_width, in_height, PIX_FMT_BGRA,
+-                                                         out_width, out_height, PIX_FMT_BGRA,
+-                                                         SWS_FAST_BILINEAR | 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,
++                                                         SWS_FAST_BILINEAR, NULL, NULL, NULL);
+ 
+   uint8_t *src[] = { in_pixels, 0, 0, 0 };
+   int     srcStride[] = { (int)in_pitch, 0, 0, 0 };
+--- kodi-15.2~rc3+dfsg1.orig/xbmc/video/FFmpegVideoDecoder.cpp
++++ kodi-15.2~rc3+dfsg1/xbmc/video/FFmpegVideoDecoder.cpp
+@@ -248,7 +248,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;
+   }
+ 
+@@ -283,7 +283,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 );
diff --git a/debian/patches/series b/debian/patches/series
index 8f70324..3dcb44e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@
 08-fix-s390x-build.patch
 09-use-correct-ftgl.h.patch
 10-dont-use-omitted-files.patch
+ffmpeg_2.9.patch

--- End Message ---
--- Begin Message ---
Source: kodi
Source-Version: 15.2+dfsg1-1

We believe that the bug you reported is fixed in the latest version of
kodi, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 803...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Balint Reczey <bal...@balintreczey.hu> (supplier of updated kodi package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 06 Nov 2015 18:42:22 +0400
Source: kodi
Binary: kodi kodi-data kodi-bin kodi-eventclients-common kodi-eventclients-dev 
kodi-eventclients-wiiremote kodi-eventclients-j2me kodi-eventclients-ps3 
kodi-eventclients-kodi-send kodi-addons-dev
Architecture: source
Version: 15.2+dfsg1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers 
<pkg-multimedia-maintainers@lists.alioth.debian.org>
Changed-By: Balint Reczey <bal...@balintreczey.hu>
Description:
 kodi       - Open Source Home Theatre (executable binaries)
 kodi-addons-dev - Open Source Home Theatre (Addons Dev package)
 kodi-bin   - Open Source Home Theatre (architecture-dependent files)
 kodi-data  - Open Source Home Theatre (arch-independent data package)
 kodi-eventclients-common - Open Source Home Theatre (Event Client Common 
package)
 kodi-eventclients-dev - Open Source Home Theatre (Event Client Dev package)
 kodi-eventclients-j2me - Open Source Home Theatre (Event Client J2ME package)
 kodi-eventclients-kodi-send - Open Source Home Theatre (Event Client Kodi-SEND 
package)
 kodi-eventclients-ps3 - Open Source Home Theatre (Event Client PS3 package)
 kodi-eventclients-wiiremote - Open Source Home Theatre (Event Client WII 
Remote support package
Closes: 803831
Changes:
 kodi (15.2+dfsg1-1) unstable; urgency=medium
 .
   [ Balint Reczey ]
   * Skip handling migration to automatic debug packages when it is not 
supported by debhelper
   * Update debian/watch to not skip part of oddly named versions
   * New upstream release 15.2
     See http://kodi.tv/kodi-15-2-isengard-final-release/
 .
   [ Andreas Cadhalpun ]
   * Fix FTBFS with upcoming FFmpeg 2.9 release (Closes: #803831)
Checksums-Sha1:
 a818d29cc9e47b0292b50806cd78d0a5709f2fdf 4434 kodi_15.2+dfsg1-1.dsc
 f090768659848533166aca02c4d73ce66f9b157d 18312188 kodi_15.2+dfsg1.orig.tar.xz
 2a7537b128ad96016850f1375a99581ca12a528a 31216 kodi_15.2+dfsg1-1.debian.tar.xz
Checksums-Sha256:
 8bf1036c507397c41a8396ca9bdcd091dd3b75a8956e75874cd00b7dee4eec4e 4434 
kodi_15.2+dfsg1-1.dsc
 2732183c02f65527f928f67a5307173a574e8f00c47e74b6a2a93baa4a57df99 18312188 
kodi_15.2+dfsg1.orig.tar.xz
 4793be3f2a493ad342cda4f03164cacd5224a9a4e229291fed468a9d9a9970a2 31216 
kodi_15.2+dfsg1-1.debian.tar.xz
Files:
 cf0af447d8fb16248c5ec9894d9f0137 4434 video optional kodi_15.2+dfsg1-1.dsc
 f240e23a106bc8e9f254c55282870185 18312188 video optional 
kodi_15.2+dfsg1.orig.tar.xz
 20216422c83c1c027e4fbe84dbacdb15 31216 video optional 
kodi_15.2+dfsg1-1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJWPNYcAAoJEPZk0la0aRp9epEP/3Ap+tdVsMM09dd3pt9TBZod
z+jj/1v8o8uveev7ae5Gzf/WNytL0mAtgf5f+/sUjuRu9WGLPG88pU4zydPiyu2j
HYpHVYkxbEYvNCWnsYSZpzaDYytloV24im64VaKjiXdNJqbMuMCr7upiOqBdFLq0
pjrt0tvo1DfVB3RDMCJ++nyZadI2IRLr4zgSiJXVkAs0F3CC4P2qgXqGc7CBS6np
uzyOwhVxG1hI2FqFFB5LUk/9cPv/acWYQOmQ0FAjyJUthXn4+tLttNLsf/A5M125
LrIW+BdvjaxMbcMaKx5RQgvQWGbLRgROBhOERyQqajAkdTPV5Ch9Amt1YUmYMUN0
kENC74Iy3NZa7U0eJHacZ8iDla5+ESzaLhO28LB61WLIoxZLQB+6w6ZfNc+E/oU/
oDbz0HK5SiJ6H9039xGwDiZaZ72WP+/upSVSQN1Ft7RGgYghauqH4NJa/f07nna4
x133h84URUxgjrBSf8aQl/uT3N0ebgnTeygnCA6vzGbLgORaKAyMeFFpABcetMeh
sKOMEzFpBF2xkhPjPKfvMchLiQ4AiD5zZCzmFRCRsgZc8rsUiOS/hRgdaFfXyaTR
A0NO2eDpbkdXl/DiPOIpe3Guet/5xwjqkLZtRVK6OdoeQXzzrgct6MUIR9/0OI+h
MnJn6a2jUMUXKNnE4qEv
=nDfE
-----END PGP SIGNATURE-----

--- End Message ---
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to