ports/multimedia/mplayer2/files/patch-fmt-conversion.c
Carlos J. Puga Medina b45df0e7db multimedia/mplayer2: Fix build with ffmpeg 3.x
screenshot.c:60:5: error: implicit declaration of function 'avcodec_free_frame' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
    avcodec_free_frame(&ctx->pic);
    ^
screenshot.c:72:20: error: implicit declaration of function 'avcodec_alloc_frame' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        ctx->pic = avcodec_alloc_frame();
                   ^
screenshot.c:97:22: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean
      'AV_PIX_FMT_RGB24'?
    avctx->pix_fmt = PIX_FMT_RGB24;
                     ^~~~~~~~~~~~~
                     AV_PIX_FMT_RGB24
/usr/local/include/libavutil/pixfmt.h:64:5: note: 'AV_PIX_FMT_RGB24' declared here
    AV_PIX_FMT_RGB24,     ///< packed RGB 8:8:8, 24bpp, RGBRGB...
    ^
screenshot.c:113:5: error: implicit declaration of function 'avcodec_get_frame_defaults' is invalid
      in C99 [-Werror,-Wimplicit-function-declaration]
    avcodec_get_frame_defaults(pic);
    ^
screenshot.c:118:16: error: implicit declaration of function 'avcodec_encode_video' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
    int size = avcodec_encode_video(avctx, outbuffer, outbuffer_size, pic);
               ^

PR:		214896
Reported by:	jbeich
Reviewed by:	jbeich, junovitch (mentor)
Approved by:	jbeich, junovitch (mentor)
2016-12-09 15:10:37 +00:00

204 lines
7.9 KiB
C

--- fmt-conversion.c.orig 2013-07-09 16:33:12 UTC
+++ fmt-conversion.c
@@ -24,117 +24,117 @@
static const struct {
int fmt;
- enum PixelFormat pix_fmt;
+ enum AVPixelFormat pix_fmt;
} conversion_map[] = {
- {IMGFMT_ARGB, PIX_FMT_ARGB},
- {IMGFMT_BGRA, PIX_FMT_BGRA},
- {IMGFMT_BGR24, PIX_FMT_BGR24},
- {IMGFMT_BGR16BE, PIX_FMT_RGB565BE},
- {IMGFMT_BGR16LE, PIX_FMT_RGB565LE},
- {IMGFMT_BGR15BE, PIX_FMT_RGB555BE},
- {IMGFMT_BGR15LE, PIX_FMT_RGB555LE},
- {IMGFMT_BGR12BE, PIX_FMT_RGB444BE},
- {IMGFMT_BGR12LE, PIX_FMT_RGB444LE},
- {IMGFMT_BGR8, PIX_FMT_RGB8},
- {IMGFMT_BGR4, PIX_FMT_RGB4},
- {IMGFMT_BGR1, PIX_FMT_MONOBLACK},
- {IMGFMT_RGB1, PIX_FMT_MONOBLACK},
- {IMGFMT_RG4B, PIX_FMT_BGR4_BYTE},
- {IMGFMT_BG4B, PIX_FMT_RGB4_BYTE},
- {IMGFMT_RGB48LE, PIX_FMT_RGB48LE},
- {IMGFMT_RGB48BE, PIX_FMT_RGB48BE},
- {IMGFMT_ABGR, PIX_FMT_ABGR},
- {IMGFMT_RGBA, PIX_FMT_RGBA},
- {IMGFMT_RGB24, PIX_FMT_RGB24},
- {IMGFMT_RGB16BE, PIX_FMT_BGR565BE},
- {IMGFMT_RGB16LE, PIX_FMT_BGR565LE},
- {IMGFMT_RGB15BE, PIX_FMT_BGR555BE},
- {IMGFMT_RGB15LE, PIX_FMT_BGR555LE},
- {IMGFMT_RGB12BE, PIX_FMT_BGR444BE},
- {IMGFMT_RGB12LE, PIX_FMT_BGR444LE},
- {IMGFMT_RGB8, PIX_FMT_BGR8},
- {IMGFMT_RGB4, PIX_FMT_BGR4},
- {IMGFMT_BGR8, PIX_FMT_PAL8},
- {IMGFMT_GBRP, PIX_FMT_GBRP},
- {IMGFMT_GBRP9, PIX_FMT_GBRP9},
- {IMGFMT_GBRP10, PIX_FMT_GBRP10},
- {IMGFMT_YUY2, PIX_FMT_YUYV422},
- {IMGFMT_UYVY, PIX_FMT_UYVY422},
- {IMGFMT_NV12, PIX_FMT_NV12},
- {IMGFMT_NV21, PIX_FMT_NV21},
- {IMGFMT_Y800, PIX_FMT_GRAY8},
- {IMGFMT_Y8, PIX_FMT_GRAY8},
- {IMGFMT_YVU9, PIX_FMT_YUV410P},
- {IMGFMT_IF09, PIX_FMT_YUV410P},
- {IMGFMT_YV12, PIX_FMT_YUV420P},
- {IMGFMT_I420, PIX_FMT_YUV420P},
- {IMGFMT_IYUV, PIX_FMT_YUV420P},
- {IMGFMT_411P, PIX_FMT_YUV411P},
- {IMGFMT_422P, PIX_FMT_YUV422P},
- {IMGFMT_444P, PIX_FMT_YUV444P},
- {IMGFMT_440P, PIX_FMT_YUV440P},
+ {IMGFMT_ARGB, AV_PIX_FMT_ARGB},
+ {IMGFMT_BGRA, AV_PIX_FMT_BGRA},
+ {IMGFMT_BGR24, AV_PIX_FMT_BGR24},
+ {IMGFMT_BGR16BE, AV_PIX_FMT_RGB565BE},
+ {IMGFMT_BGR16LE, AV_PIX_FMT_RGB565LE},
+ {IMGFMT_BGR15BE, AV_PIX_FMT_RGB555BE},
+ {IMGFMT_BGR15LE, AV_PIX_FMT_RGB555LE},
+ {IMGFMT_BGR12BE, AV_PIX_FMT_RGB444BE},
+ {IMGFMT_BGR12LE, AV_PIX_FMT_RGB444LE},
+ {IMGFMT_BGR8, AV_PIX_FMT_RGB8},
+ {IMGFMT_BGR4, AV_PIX_FMT_RGB4},
+ {IMGFMT_BGR1, AV_PIX_FMT_MONOBLACK},
+ {IMGFMT_RGB1, AV_PIX_FMT_MONOBLACK},
+ {IMGFMT_RG4B, AV_PIX_FMT_BGR4_BYTE},
+ {IMGFMT_BG4B, AV_PIX_FMT_RGB4_BYTE},
+ {IMGFMT_RGB48LE, AV_PIX_FMT_RGB48LE},
+ {IMGFMT_RGB48BE, AV_PIX_FMT_RGB48BE},
+ {IMGFMT_ABGR, AV_PIX_FMT_ABGR},
+ {IMGFMT_RGBA, AV_PIX_FMT_RGBA},
+ {IMGFMT_RGB24, AV_PIX_FMT_RGB24},
+ {IMGFMT_RGB16BE, AV_PIX_FMT_BGR565BE},
+ {IMGFMT_RGB16LE, AV_PIX_FMT_BGR565LE},
+ {IMGFMT_RGB15BE, AV_PIX_FMT_BGR555BE},
+ {IMGFMT_RGB15LE, AV_PIX_FMT_BGR555LE},
+ {IMGFMT_RGB12BE, AV_PIX_FMT_BGR444BE},
+ {IMGFMT_RGB12LE, AV_PIX_FMT_BGR444LE},
+ {IMGFMT_RGB8, AV_PIX_FMT_BGR8},
+ {IMGFMT_RGB4, AV_PIX_FMT_BGR4},
+ {IMGFMT_BGR8, AV_PIX_FMT_PAL8},
+ {IMGFMT_GBRP, AV_PIX_FMT_GBRP},
+ {IMGFMT_GBRP9, AV_PIX_FMT_GBRP9},
+ {IMGFMT_GBRP10, AV_PIX_FMT_GBRP10},
+ {IMGFMT_YUY2, AV_PIX_FMT_YUYV422},
+ {IMGFMT_UYVY, AV_PIX_FMT_UYVY422},
+ {IMGFMT_NV12, AV_PIX_FMT_NV12},
+ {IMGFMT_NV21, AV_PIX_FMT_NV21},
+ {IMGFMT_Y800, AV_PIX_FMT_GRAY8},
+ {IMGFMT_Y8, AV_PIX_FMT_GRAY8},
+ {IMGFMT_YVU9, AV_PIX_FMT_YUV410P},
+ {IMGFMT_IF09, AV_PIX_FMT_YUV410P},
+ {IMGFMT_YV12, AV_PIX_FMT_YUV420P},
+ {IMGFMT_I420, AV_PIX_FMT_YUV420P},
+ {IMGFMT_IYUV, AV_PIX_FMT_YUV420P},
+ {IMGFMT_411P, AV_PIX_FMT_YUV411P},
+ {IMGFMT_422P, AV_PIX_FMT_YUV422P},
+ {IMGFMT_444P, AV_PIX_FMT_YUV444P},
+ {IMGFMT_440P, AV_PIX_FMT_YUV440P},
- {IMGFMT_420A, PIX_FMT_YUVA420P},
+ {IMGFMT_420A, AV_PIX_FMT_YUVA420P},
- {IMGFMT_420P16_LE, PIX_FMT_YUV420P16LE},
- {IMGFMT_420P16_BE, PIX_FMT_YUV420P16BE},
- {IMGFMT_420P9_LE, PIX_FMT_YUV420P9LE},
- {IMGFMT_420P9_BE, PIX_FMT_YUV420P9BE},
- {IMGFMT_420P10_LE, PIX_FMT_YUV420P10LE},
- {IMGFMT_420P10_BE, PIX_FMT_YUV420P10BE},
- {IMGFMT_422P10_LE, PIX_FMT_YUV422P10LE},
- {IMGFMT_422P10_BE, PIX_FMT_YUV422P10BE},
- {IMGFMT_444P9_BE , PIX_FMT_YUV444P9BE},
- {IMGFMT_444P9_LE , PIX_FMT_YUV444P9LE},
- {IMGFMT_444P10_BE, PIX_FMT_YUV444P10BE},
- {IMGFMT_444P10_LE, PIX_FMT_YUV444P10LE},
- {IMGFMT_422P16_LE, PIX_FMT_YUV422P16LE},
- {IMGFMT_422P16_BE, PIX_FMT_YUV422P16BE},
- {IMGFMT_422P9_LE, PIX_FMT_YUV422P9LE},
- {IMGFMT_422P9_BE, PIX_FMT_YUV422P9BE},
- {IMGFMT_444P16_LE, PIX_FMT_YUV444P16LE},
- {IMGFMT_444P16_BE, PIX_FMT_YUV444P16BE},
+ {IMGFMT_420P16_LE, AV_PIX_FMT_YUV420P16LE},
+ {IMGFMT_420P16_BE, AV_PIX_FMT_YUV420P16BE},
+ {IMGFMT_420P9_LE, AV_PIX_FMT_YUV420P9LE},
+ {IMGFMT_420P9_BE, AV_PIX_FMT_YUV420P9BE},
+ {IMGFMT_420P10_LE, AV_PIX_FMT_YUV420P10LE},
+ {IMGFMT_420P10_BE, AV_PIX_FMT_YUV420P10BE},
+ {IMGFMT_422P10_LE, AV_PIX_FMT_YUV422P10LE},
+ {IMGFMT_422P10_BE, AV_PIX_FMT_YUV422P10BE},
+ {IMGFMT_444P9_BE , AV_PIX_FMT_YUV444P9BE},
+ {IMGFMT_444P9_LE , AV_PIX_FMT_YUV444P9LE},
+ {IMGFMT_444P10_BE, AV_PIX_FMT_YUV444P10BE},
+ {IMGFMT_444P10_LE, AV_PIX_FMT_YUV444P10LE},
+ {IMGFMT_422P16_LE, AV_PIX_FMT_YUV422P16LE},
+ {IMGFMT_422P16_BE, AV_PIX_FMT_YUV422P16BE},
+ {IMGFMT_422P9_LE, AV_PIX_FMT_YUV422P9LE},
+ {IMGFMT_422P9_BE, AV_PIX_FMT_YUV422P9BE},
+ {IMGFMT_444P16_LE, AV_PIX_FMT_YUV444P16LE},
+ {IMGFMT_444P16_BE, AV_PIX_FMT_YUV444P16BE},
// YUVJ are YUV formats that use the full Y range and not just
// 16 - 235 (see colorspaces.txt).
// Currently they are all treated the same way.
- {IMGFMT_YV12, PIX_FMT_YUVJ420P},
- {IMGFMT_422P, PIX_FMT_YUVJ422P},
- {IMGFMT_444P, PIX_FMT_YUVJ444P},
- {IMGFMT_440P, PIX_FMT_YUVJ440P},
+ {IMGFMT_YV12, AV_PIX_FMT_YUVJ420P},
+ {IMGFMT_422P, AV_PIX_FMT_YUVJ422P},
+ {IMGFMT_444P, AV_PIX_FMT_YUVJ444P},
+ {IMGFMT_440P, AV_PIX_FMT_YUVJ440P},
- {IMGFMT_VDPAU_MPEG1, PIX_FMT_VDPAU_MPEG1},
- {IMGFMT_VDPAU_MPEG2, PIX_FMT_VDPAU_MPEG2},
- {IMGFMT_VDPAU_H264, PIX_FMT_VDPAU_H264},
- {IMGFMT_VDPAU_WMV3, PIX_FMT_VDPAU_WMV3},
- {IMGFMT_VDPAU_VC1, PIX_FMT_VDPAU_VC1},
- {IMGFMT_VDPAU_MPEG4, PIX_FMT_VDPAU_MPEG4},
- {0, PIX_FMT_NONE}
+ {IMGFMT_VDPAU_MPEG1, AV_PIX_FMT_VDPAU_MPEG1},
+ {IMGFMT_VDPAU_MPEG2, AV_PIX_FMT_VDPAU_MPEG2},
+ {IMGFMT_VDPAU_H264, AV_PIX_FMT_VDPAU_H264},
+ {IMGFMT_VDPAU_WMV3, AV_PIX_FMT_VDPAU_WMV3},
+ {IMGFMT_VDPAU_VC1, AV_PIX_FMT_VDPAU_VC1},
+ {IMGFMT_VDPAU_MPEG4, AV_PIX_FMT_VDPAU_MPEG4},
+ {0, AV_PIX_FMT_NONE}
};
-enum PixelFormat imgfmt2pixfmt(int fmt)
+enum AVPixelFormat imgfmt2pixfmt(int fmt)
{
int i;
- enum PixelFormat pix_fmt;
+ enum AVPixelFormat pix_fmt;
for (i = 0; conversion_map[i].fmt; i++)
if (conversion_map[i].fmt == fmt)
break;
pix_fmt = conversion_map[i].pix_fmt;
- if (pix_fmt == PIX_FMT_NONE)
+ if (pix_fmt == AV_PIX_FMT_NONE)
mp_msg(MSGT_GLOBAL, MSGL_ERR, "Unsupported format %s\n", vo_format_name(fmt));
return pix_fmt;
}
-int pixfmt2imgfmt(enum PixelFormat pix_fmt)
+int pixfmt2imgfmt(enum AVPixelFormat pix_fmt)
{
int i;
- for (i = 0; conversion_map[i].pix_fmt != PIX_FMT_NONE; i++)
+ for (i = 0; conversion_map[i].pix_fmt != AV_PIX_FMT_NONE; i++)
if (conversion_map[i].pix_fmt == pix_fmt)
break;
int fmt = conversion_map[i].fmt;
if (!fmt) {
const char *fmtname = av_get_pix_fmt_name(pix_fmt);
- mp_msg(MSGT_GLOBAL, MSGL_ERR, "Unsupported PixelFormat %s (%d)\n",
+ mp_msg(MSGT_GLOBAL, MSGL_ERR, "Unsupported AVPixelFormat %s (%d)\n",
fmtname ? fmtname : "INVALID", pix_fmt);
}
return fmt;