summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-11-29 17:39:57 +0100
committerwm4 <wm4@nowhere>2013-11-29 17:39:57 +0100
commit597b8a355002306486c5d4a19890bb403b5d3ded (patch)
tree17de2fbbb77868cb184b6a0f2eca5fffd14d2e9b /video
parentf1072e7629c56e6fdd9aab40be15fe9800789b1a (diff)
downloadmpv-597b8a355002306486c5d4a19890bb403b5d3ded.tar.bz2
mpv-597b8a355002306486c5d4a19890bb403b5d3ded.tar.xz
Take care of some libavutil deprecations, drop support for FFmpeg 1.0
PIX_FMT_* -> AV_PIX_FMT_* (except some pixdesc constants) enum PixelFormat -> enum AVPixelFormat Losen some version checks in certain newer pixel formats. av_pix_fmt_descriptors -> av_pix_fmt_desc_get This removes support for FFmpeg 1.0.x, which is even older than Libav 9.x. Support for it probably was already broken, and its libswresample was rejected by our build system anyway because it's broken. Mostly untested; it does compile with Libav 9.9.
Diffstat (limited to 'video')
-rw-r--r--video/decode/lavc.h2
-rw-r--r--video/decode/vd_lavc.c16
-rw-r--r--video/filter/vf_scale.c4
-rw-r--r--video/fmt-conversion.c258
-rw-r--r--video/fmt-conversion.h4
-rw-r--r--video/img_format.c10
-rw-r--r--video/out/vo_lavc.c6
-rw-r--r--video/sws_utils.c14
8 files changed, 156 insertions, 158 deletions
diff --git a/video/decode/lavc.h b/video/decode/lavc.h
index 2fdfae41f1..5007b80a0f 100644
--- a/video/decode/lavc.h
+++ b/video/decode/lavc.h
@@ -27,7 +27,7 @@ typedef struct lavc_ctx {
AVCodecContext *avctx;
AVFrame *pic;
struct vd_lavc_hwdec *hwdec;
- enum PixelFormat pix_fmt;
+ enum AVPixelFormat pix_fmt;
int do_hw_dr1;
int best_csp;
struct mp_image_params image_params;
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index 32bbca969f..868f148d8b 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -65,8 +65,8 @@ static void init_avctx(struct dec_video *vd, const char *decoder,
static void uninit_avctx(struct dec_video *vd);
static void setup_refcounting_hw(struct AVCodecContext *s);
-static enum PixelFormat get_format_hwdec(struct AVCodecContext *avctx,
- const enum PixelFormat *pix_fmt);
+static enum AVPixelFormat get_format_hwdec(struct AVCodecContext *avctx,
+ const enum AVPixelFormat *pix_fmt);
static void uninit(struct dec_video *vd);
@@ -383,7 +383,7 @@ static void init_avctx(struct dec_video *vd, const char *decoder,
ctx->hwdec_info = &vd->hwdec_info;
ctx->do_dr1 = ctx->do_hw_dr1 = 0;
- ctx->pix_fmt = PIX_FMT_NONE;
+ ctx->pix_fmt = AV_PIX_FMT_NONE;
ctx->image_params = (struct mp_image_params){0};
ctx->vo_image_params = (struct mp_image_params){0};
ctx->hwdec = hwdec;
@@ -542,20 +542,20 @@ static void update_image_params(struct dec_video *vd, AVFrame *frame)
};
}
-static enum PixelFormat get_format_hwdec(struct AVCodecContext *avctx,
- const enum PixelFormat *fmt)
+static enum AVPixelFormat get_format_hwdec(struct AVCodecContext *avctx,
+ const enum AVPixelFormat *fmt)
{
struct dec_video *vd = avctx->opaque;
vd_ffmpeg_ctx *ctx = vd->priv;
mp_msg(MSGT_DECVIDEO, MSGL_V, "Pixel formats supported by decoder:");
- for (int i = 0; fmt[i] != PIX_FMT_NONE; i++)
+ for (int i = 0; fmt[i] != AV_PIX_FMT_NONE; i++)
mp_msg(MSGT_DECVIDEO, MSGL_V, " %s", av_get_pix_fmt_name(fmt[i]));
mp_msg(MSGT_DECVIDEO, MSGL_V, "\n");
assert(ctx->hwdec);
- for (int i = 0; fmt[i] != PIX_FMT_NONE; i++) {
+ for (int i = 0; fmt[i] != AV_PIX_FMT_NONE; i++) {
const int *okfmt = ctx->hwdec->image_formats;
for (int n = 0; okfmt && okfmt[n]; n++) {
if (imgfmt2pixfmt(okfmt[n]) == fmt[i])
@@ -563,7 +563,7 @@ static enum PixelFormat get_format_hwdec(struct AVCodecContext *avctx,
}
}
- return PIX_FMT_NONE;
+ return AV_PIX_FMT_NONE;
}
static struct mp_image *get_surface_hwdec(struct dec_video *vd, AVFrame *pic)
diff --git a/video/filter/vf_scale.c b/video/filter/vf_scale.c
index 6ac9d43eb9..d195cf230e 100644
--- a/video/filter/vf_scale.c
+++ b/video/filter/vf_scale.c
@@ -157,7 +157,7 @@ static int preferred_conversions[][2] = {
static int check_outfmt(vf_instance_t *vf, int outfmt)
{
enum AVPixelFormat pixfmt = imgfmt2pixfmt(outfmt);
- if (pixfmt == PIX_FMT_NONE || sws_isSupportedOutput(pixfmt) < 1)
+ if (pixfmt == AV_PIX_FMT_NONE || sws_isSupportedOutput(pixfmt) < 1)
return 0;
return vf_next_query_format(vf, outfmt);
}
@@ -375,7 +375,7 @@ static int control(struct vf_instance *vf, int request, void *data)
static int query_format(struct vf_instance *vf, unsigned int fmt)
{
- if (!IMGFMT_IS_HWACCEL(fmt) && imgfmt2pixfmt(fmt) != PIX_FMT_NONE) {
+ if (!IMGFMT_IS_HWACCEL(fmt) && imgfmt2pixfmt(fmt) != AV_PIX_FMT_NONE) {
if (sws_isSupportedInput(imgfmt2pixfmt(fmt)) < 1)
return 0;
unsigned int best = find_best_out(vf, fmt);
diff --git a/video/fmt-conversion.c b/video/fmt-conversion.c
index 371e81c399..ab115b0010 100644
--- a/video/fmt-conversion.c
+++ b/video/fmt-conversion.c
@@ -24,92 +24,92 @@
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_BGR16_BE, PIX_FMT_RGB565BE},
- {IMGFMT_BGR16_LE, PIX_FMT_RGB565LE},
- {IMGFMT_BGR15_BE, PIX_FMT_RGB555BE},
- {IMGFMT_BGR15_LE, PIX_FMT_RGB555LE},
- {IMGFMT_BGR12_BE, PIX_FMT_RGB444BE},
- {IMGFMT_BGR12_LE, PIX_FMT_RGB444LE},
- {IMGFMT_BGR8, PIX_FMT_RGB8},
- {IMGFMT_BGR4, PIX_FMT_RGB4},
- {IMGFMT_MONO, PIX_FMT_MONOBLACK},
- {IMGFMT_MONO_W, PIX_FMT_MONOWHITE},
- {IMGFMT_RGB4_BYTE, PIX_FMT_BGR4_BYTE},
- {IMGFMT_BGR4_BYTE, PIX_FMT_RGB4_BYTE},
- {IMGFMT_RGB48_LE, PIX_FMT_RGB48LE},
- {IMGFMT_RGB48_BE, PIX_FMT_RGB48BE},
- {IMGFMT_ABGR, PIX_FMT_ABGR},
- {IMGFMT_RGBA, PIX_FMT_RGBA},
- {IMGFMT_RGB24, PIX_FMT_RGB24},
- {IMGFMT_RGB16_BE, PIX_FMT_BGR565BE},
- {IMGFMT_RGB16_LE, PIX_FMT_BGR565LE},
- {IMGFMT_RGB15_BE, PIX_FMT_BGR555BE},
- {IMGFMT_RGB15_LE, PIX_FMT_BGR555LE},
- {IMGFMT_RGB12_BE, PIX_FMT_BGR444BE},
- {IMGFMT_RGB12_LE, PIX_FMT_BGR444LE},
- {IMGFMT_RGB8, PIX_FMT_BGR8},
- {IMGFMT_RGB4, PIX_FMT_BGR4},
- {IMGFMT_PAL8, PIX_FMT_PAL8},
- {IMGFMT_GBRP, PIX_FMT_GBRP},
- {IMGFMT_GBRP9_BE, PIX_FMT_GBRP9BE},
- {IMGFMT_GBRP9_LE, PIX_FMT_GBRP9LE},
- {IMGFMT_GBRP10_BE, PIX_FMT_GBRP10BE},
- {IMGFMT_GBRP10_LE, PIX_FMT_GBRP10LE},
- {IMGFMT_GBRP16_BE, PIX_FMT_GBRP16BE},
- {IMGFMT_GBRP16_LE, PIX_FMT_GBRP16LE},
- {IMGFMT_YUYV, PIX_FMT_YUYV422},
- {IMGFMT_UYVY, PIX_FMT_UYVY422},
- {IMGFMT_NV12, PIX_FMT_NV12},
- {IMGFMT_NV21, PIX_FMT_NV21},
- {IMGFMT_Y8, PIX_FMT_GRAY8},
+ {IMGFMT_ARGB, AV_PIX_FMT_ARGB},
+ {IMGFMT_BGRA, AV_PIX_FMT_BGRA},
+ {IMGFMT_BGR24, AV_PIX_FMT_BGR24},
+ {IMGFMT_BGR16_BE, AV_PIX_FMT_RGB565BE},
+ {IMGFMT_BGR16_LE, AV_PIX_FMT_RGB565LE},
+ {IMGFMT_BGR15_BE, AV_PIX_FMT_RGB555BE},
+ {IMGFMT_BGR15_LE, AV_PIX_FMT_RGB555LE},
+ {IMGFMT_BGR12_BE, AV_PIX_FMT_RGB444BE},
+ {IMGFMT_BGR12_LE, AV_PIX_FMT_RGB444LE},
+ {IMGFMT_BGR8, AV_PIX_FMT_RGB8},
+ {IMGFMT_BGR4, AV_PIX_FMT_RGB4},
+ {IMGFMT_MONO, AV_PIX_FMT_MONOBLACK},
+ {IMGFMT_MONO_W, AV_PIX_FMT_MONOWHITE},
+ {IMGFMT_RGB4_BYTE, AV_PIX_FMT_BGR4_BYTE},
+ {IMGFMT_BGR4_BYTE, AV_PIX_FMT_RGB4_BYTE},
+ {IMGFMT_RGB48_LE, AV_PIX_FMT_RGB48LE},
+ {IMGFMT_RGB48_BE, AV_PIX_FMT_RGB48BE},
+ {IMGFMT_ABGR, AV_PIX_FMT_ABGR},
+ {IMGFMT_RGBA, AV_PIX_FMT_RGBA},
+ {IMGFMT_RGB24, AV_PIX_FMT_RGB24},
+ {IMGFMT_RGB16_BE, AV_PIX_FMT_BGR565BE},
+ {IMGFMT_RGB16_LE, AV_PIX_FMT_BGR565LE},
+ {IMGFMT_RGB15_BE, AV_PIX_FMT_BGR555BE},
+ {IMGFMT_RGB15_LE, AV_PIX_FMT_BGR555LE},
+ {IMGFMT_RGB12_BE, AV_PIX_FMT_BGR444BE},
+ {IMGFMT_RGB12_LE, AV_PIX_FMT_BGR444LE},
+ {IMGFMT_RGB8, AV_PIX_FMT_BGR8},
+ {IMGFMT_RGB4, AV_PIX_FMT_BGR4},
+ {IMGFMT_PAL8, AV_PIX_FMT_PAL8},
+ {IMGFMT_GBRP, AV_PIX_FMT_GBRP},
+ {IMGFMT_GBRP9_BE, AV_PIX_FMT_GBRP9BE},
+ {IMGFMT_GBRP9_LE, AV_PIX_FMT_GBRP9LE},
+ {IMGFMT_GBRP10_BE, AV_PIX_FMT_GBRP10BE},
+ {IMGFMT_GBRP10_LE, AV_PIX_FMT_GBRP10LE},
+ {IMGFMT_GBRP16_BE, AV_PIX_FMT_GBRP16BE},
+ {IMGFMT_GBRP16_LE, AV_PIX_FMT_GBRP16LE},
+ {IMGFMT_YUYV, AV_PIX_FMT_YUYV422},
+ {IMGFMT_UYVY, AV_PIX_FMT_UYVY422},
+ {IMGFMT_NV12, AV_PIX_FMT_NV12},
+ {IMGFMT_NV21, AV_PIX_FMT_NV21},
+ {IMGFMT_Y8, AV_PIX_FMT_GRAY8},
// Support really ancient ffmpeg versions (before e91946ed23dfbb)
- // Newer versions use PIX_FMT_GRAY8A
- {IMGFMT_YA8, PIX_FMT_Y400A},
- {IMGFMT_Y16_LE, PIX_FMT_GRAY16LE},
- {IMGFMT_Y16_BE, PIX_FMT_GRAY16BE},
- {IMGFMT_410P, PIX_FMT_YUV410P},
- {IMGFMT_420P, PIX_FMT_YUV420P},
- {IMGFMT_411P, PIX_FMT_YUV411P},
- {IMGFMT_422P, PIX_FMT_YUV422P},
- {IMGFMT_444P, PIX_FMT_YUV444P},
- {IMGFMT_440P, PIX_FMT_YUV440P},
-
- {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},
+ // Newer versions use AV_PIX_FMT_GRAY8A
+ {IMGFMT_YA8, AV_PIX_FMT_Y400A},
+ {IMGFMT_Y16_LE, AV_PIX_FMT_GRAY16LE},
+ {IMGFMT_Y16_BE, AV_PIX_FMT_GRAY16BE},
+ {IMGFMT_410P, AV_PIX_FMT_YUV410P},
+ {IMGFMT_420P, 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_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. Decoder color range
// information is used instead. Deprecated in ffmpeg.
- {IMGFMT_420P, PIX_FMT_YUVJ420P},
- {IMGFMT_422P, PIX_FMT_YUVJ422P},
- {IMGFMT_444P, PIX_FMT_YUVJ444P},
- {IMGFMT_440P, PIX_FMT_YUVJ440P},
+ {IMGFMT_420P, AV_PIX_FMT_YUVJ420P},
+ {IMGFMT_422P, AV_PIX_FMT_YUVJ422P},
+ {IMGFMT_444P, AV_PIX_FMT_YUVJ444P},
+ {IMGFMT_440P, AV_PIX_FMT_YUVJ440P},
- {IMGFMT_420AP, PIX_FMT_YUVA420P},
+ {IMGFMT_420AP, AV_PIX_FMT_YUVA420P},
#if LIBAVUTIL_VERSION_MICRO >= 100 && LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52, 10, 0)
- {IMGFMT_422AP, PIX_FMT_YUVA422P},
- {IMGFMT_444AP, PIX_FMT_YUVA444P},
+ {IMGFMT_422AP, AV_PIX_FMT_YUVA422P},
+ {IMGFMT_444AP, AV_PIX_FMT_YUVA444P},
{IMGFMT_420AP9_BE, AV_PIX_FMT_YUVA420P9BE},
{IMGFMT_420AP9_LE, AV_PIX_FMT_YUVA420P9LE},
@@ -140,85 +140,85 @@ static const struct {
#endif
// ffmpeg only
-#if LIBAVUTIL_VERSION_MICRO >= 100 && LIBAVUTIL_VERSION_INT > AV_VERSION_INT(52, 0, 0)
- {IMGFMT_420P12_LE, PIX_FMT_YUV420P12LE},
- {IMGFMT_420P12_BE, PIX_FMT_YUV420P12BE},
- {IMGFMT_420P14_LE, PIX_FMT_YUV420P14LE},
- {IMGFMT_420P14_BE, PIX_FMT_YUV420P14BE},
- {IMGFMT_422P12_LE, PIX_FMT_YUV422P12LE},
- {IMGFMT_422P12_BE, PIX_FMT_YUV422P12BE},
- {IMGFMT_422P14_LE, PIX_FMT_YUV422P14LE},
- {IMGFMT_422P14_BE, PIX_FMT_YUV422P14BE},
- {IMGFMT_444P12_BE, PIX_FMT_YUV444P12BE},
- {IMGFMT_444P12_LE, PIX_FMT_YUV444P12LE},
- {IMGFMT_444P14_BE, PIX_FMT_YUV444P14BE},
- {IMGFMT_444P14_LE, PIX_FMT_YUV444P14LE},
-
- {IMGFMT_GBRP12_BE, PIX_FMT_GBRP12BE},
- {IMGFMT_GBRP12_LE, PIX_FMT_GBRP12LE},
- {IMGFMT_GBRP14_BE, PIX_FMT_GBRP14BE},
- {IMGFMT_GBRP14_LE, PIX_FMT_GBRP14LE},
-
- {IMGFMT_RGBA64_BE, PIX_FMT_RGBA64BE},
- {IMGFMT_RGBA64_LE, PIX_FMT_RGBA64LE},
- {IMGFMT_BGRA64_BE, PIX_FMT_BGRA64BE},
- {IMGFMT_BGRA64_LE, PIX_FMT_BGRA64LE},
-
- {IMGFMT_BGR0, PIX_FMT_BGR0},
- {IMGFMT_0RGB, PIX_FMT_0RGB},
- {IMGFMT_RGB0, PIX_FMT_RGB0},
- {IMGFMT_0BGR, PIX_FMT_0BGR},
- {IMGFMT_BGR0, PIX_FMT_BGR0},
+#if LIBAVUTIL_VERSION_MICRO >= 100
+ {IMGFMT_420P12_LE, AV_PIX_FMT_YUV420P12LE},
+ {IMGFMT_420P12_BE, AV_PIX_FMT_YUV420P12BE},
+ {IMGFMT_420P14_LE, AV_PIX_FMT_YUV420P14LE},
+ {IMGFMT_420P14_BE, AV_PIX_FMT_YUV420P14BE},
+ {IMGFMT_422P12_LE, AV_PIX_FMT_YUV422P12LE},
+ {IMGFMT_422P12_BE, AV_PIX_FMT_YUV422P12BE},
+ {IMGFMT_422P14_LE, AV_PIX_FMT_YUV422P14LE},
+ {IMGFMT_422P14_BE, AV_PIX_FMT_YUV422P14BE},
+ {IMGFMT_444P12_BE, AV_PIX_FMT_YUV444P12BE},
+ {IMGFMT_444P12_LE, AV_PIX_FMT_YUV444P12LE},
+ {IMGFMT_444P14_BE, AV_PIX_FMT_YUV444P14BE},
+ {IMGFMT_444P14_LE, AV_PIX_FMT_YUV444P14LE},
+
+ {IMGFMT_GBRP12_BE, AV_PIX_FMT_GBRP12BE},
+ {IMGFMT_GBRP12_LE, AV_PIX_FMT_GBRP12LE},
+ {IMGFMT_GBRP14_BE, AV_PIX_FMT_GBRP14BE},
+ {IMGFMT_GBRP14_LE, AV_PIX_FMT_GBRP14LE},
+
+ {IMGFMT_RGBA64_BE, AV_PIX_FMT_RGBA64BE},
+ {IMGFMT_RGBA64_LE, AV_PIX_FMT_RGBA64LE},
+ {IMGFMT_BGRA64_BE, AV_PIX_FMT_BGRA64BE},
+ {IMGFMT_BGRA64_LE, AV_PIX_FMT_BGRA64LE},
+
+ {IMGFMT_BGR0, AV_PIX_FMT_BGR0},
+ {IMGFMT_0RGB, AV_PIX_FMT_0RGB},
+ {IMGFMT_RGB0, AV_PIX_FMT_RGB0},
+ {IMGFMT_0BGR, AV_PIX_FMT_0BGR},
+ {IMGFMT_BGR0, AV_PIX_FMT_BGR0},
#else
- {IMGFMT_BGR0, PIX_FMT_BGRA},
- {IMGFMT_0RGB, PIX_FMT_ARGB},
- {IMGFMT_RGB0, PIX_FMT_RGBA},
- {IMGFMT_0BGR, PIX_FMT_ABGR},
- {IMGFMT_BGR0, PIX_FMT_BGRA},
+ {IMGFMT_BGR0, AV_PIX_FMT_BGRA},
+ {IMGFMT_0RGB, AV_PIX_FMT_ARGB},
+ {IMGFMT_RGB0, AV_PIX_FMT_RGBA},
+ {IMGFMT_0BGR, AV_PIX_FMT_ABGR},
+ {IMGFMT_BGR0, AV_PIX_FMT_BGRA},
#endif
#if HAVE_AVCODEC_NEW_VDPAU_API
{IMGFMT_VDPAU, AV_PIX_FMT_VDPAU},
#else
- {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},
+ {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},
// map to an arbitrary but existing vdpau format
- {IMGFMT_VDPAU, PIX_FMT_VDPAU_H264},
+ {IMGFMT_VDPAU, AV_PIX_FMT_VDPAU_H264},
#endif
- {IMGFMT_VDA, PIX_FMT_VDA_VLD},
- {IMGFMT_VAAPI, PIX_FMT_VAAPI_VLD},
+ {IMGFMT_VDA, AV_PIX_FMT_VDA_VLD},
+ {IMGFMT_VAAPI, AV_PIX_FMT_VAAPI_VLD},
- {0, PIX_FMT_NONE}
+ {0, AV_PIX_FMT_NONE}
};
-enum PixelFormat imgfmt2pixfmt(int fmt)
+enum AVPixelFormat imgfmt2pixfmt(int fmt)
{
if (fmt == IMGFMT_NONE)
- return PIX_FMT_NONE;
+ return AV_PIX_FMT_NONE;
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_V, "Unsupported format %s\n", vo_format_name(fmt));
return pix_fmt;
}
-int pixfmt2imgfmt(enum PixelFormat pix_fmt)
+int pixfmt2imgfmt(enum AVPixelFormat pix_fmt)
{
- if (pix_fmt == PIX_FMT_NONE)
+ if (pix_fmt == AV_PIX_FMT_NONE)
return IMGFMT_NONE;
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;
diff --git a/video/fmt-conversion.h b/video/fmt-conversion.h
index f7114b0aef..c8f0b883b1 100644
--- a/video/fmt-conversion.h
+++ b/video/fmt-conversion.h
@@ -21,7 +21,7 @@
#include <libavutil/pixfmt.h>
-enum PixelFormat imgfmt2pixfmt(int fmt);
-int pixfmt2imgfmt(enum PixelFormat pix_fmt);
+enum AVPixelFormat imgfmt2pixfmt(int fmt);
+int pixfmt2imgfmt(enum AVPixelFormat pix_fmt);
#endif /* MPLAYER_FMT_CONVERSION_H */
diff --git a/video/img_format.c b/video/img_format.c
index 73e50bd803..b3d0c8bd91 100644
--- a/video/img_format.c
+++ b/video/img_format.c
@@ -157,8 +157,9 @@ const char *mp_imgfmt_to_name(unsigned int fmt)
struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
{
- enum PixelFormat fmt = imgfmt2pixfmt(mpfmt);
- if (fmt == PIX_FMT_NONE) {
+ enum AVPixelFormat fmt = imgfmt2pixfmt(mpfmt);
+ const AVPixFmtDescriptor *pd = av_pix_fmt_desc_get(fmt);
+ if (!pd || fmt == AV_PIX_FMT_NONE) {
const char *name = mp_imgfmt_to_name(mpfmt);
if (name) {
mp_msg(MSGT_DECVIDEO, MSGL_V,
@@ -167,9 +168,6 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
return (struct mp_imgfmt_desc) {0};
}
- const AVPixFmtDescriptor *pd = &av_pix_fmt_descriptors[fmt];
- assert(pd);
-
struct mp_imgfmt_desc desc = {
.id = mpfmt,
.avformat = fmt,
@@ -207,7 +205,7 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
if (mpfmt == IMGFMT_XYZ12_LE || mpfmt == IMGFMT_XYZ12_BE) {
desc.flags |= MP_IMGFLAG_XYZ;
- } else if (!(pd->flags & PIX_FMT_RGB) && fmt != PIX_FMT_MONOBLACK &&
+ } else if (!(pd->flags & PIX_FMT_RGB) && fmt != AV_PIX_FMT_MONOBLACK &&
fmt != PIX_FMT_PAL8)
{
desc.flags |= MP_IMGFLAG_YUV;
diff --git a/video/out/vo_lavc.c b/video/out/vo_lavc.c
index 77c9f9f875..2da3f06a3c 100644
--- a/video/out/vo_lavc.c
+++ b/video/out/vo_lavc.c
@@ -94,7 +94,7 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
uint32_t format)
{
struct priv *vc = vo->priv;
- enum PixelFormat pix_fmt = imgfmt2pixfmt(format);
+ enum AVPixelFormat pix_fmt = imgfmt2pixfmt(format);
AVRational display_aspect_ratio, image_aspect_ratio;
AVRational aspect;
@@ -135,7 +135,7 @@ static int config(struct vo *vo, uint32_t width, uint32_t height,
vc->lastframeipts = MP_NOPTS_VALUE;
vc->lastencodedipts = MP_NOPTS_VALUE;
- if (pix_fmt == PIX_FMT_NONE)
+ if (pix_fmt == AV_PIX_FMT_NONE)
goto error; /* imgfmt2pixfmt already prints something */
vc->stream = encode_lavc_alloc_stream(vo->encode_lavc_ctx,
@@ -174,7 +174,7 @@ error:
static int query_format(struct vo *vo, uint32_t format)
{
- enum PixelFormat pix_fmt = imgfmt2pixfmt(format);
+ enum AVPixelFormat pix_fmt = imgfmt2pixfmt(format);
if (!vo->encode_lavc_ctx)
return 0;
diff --git a/video/sws_utils.c b/video/sws_utils.c
index 27cd0c7330..3bc6bc4910 100644
--- a/video/sws_utils.c
+++ b/video/sws_utils.c
@@ -79,9 +79,9 @@ void mp_sws_set_from_cmdline(struct mp_sws_context *ctx)
bool mp_sws_supported_format(int imgfmt)
{
- enum PixelFormat av_format = imgfmt2pixfmt(imgfmt);
+ enum AVPixelFormat av_format = imgfmt2pixfmt(imgfmt);
- return av_format != PIX_FMT_NONE && sws_isSupportedInput(av_format)
+ return av_format != AV_PIX_FMT_NONE && sws_isSupportedInput(av_format)
&& sws_isSupportedOutput(av_format);
}
@@ -204,12 +204,12 @@ int mp_sws_reinit(struct mp_sws_context *ctx)
if (!src_fmt.id || !dst_fmt.id)
return -1;
- enum PixelFormat s_fmt = imgfmt2pixfmt(src->imgfmt);
- if (s_fmt == PIX_FMT_NONE || sws_isSupportedInput(s_fmt) < 1)
+ enum AVPixelFormat s_fmt = imgfmt2pixfmt(src->imgfmt);
+ if (s_fmt == AV_PIX_FMT_NONE || sws_isSupportedInput(s_fmt) < 1)
return -1;
- enum PixelFormat d_fmt = imgfmt2pixfmt(dst->imgfmt);
- if (d_fmt == PIX_FMT_NONE || sws_isSupportedOutput(d_fmt) < 1)
+ enum AVPixelFormat d_fmt = imgfmt2pixfmt(dst->imgfmt);
+ if (d_fmt == AV_PIX_FMT_NONE || sws_isSupportedOutput(d_fmt) < 1)
return -1;
int s_csp = mp_csp_to_sws_colorspace(src->colorspace);
@@ -273,7 +273,7 @@ int mp_sws_scale(struct mp_sws_context *ctx, struct mp_image *dst,
{
// Hack for older swscale versions which don't support this.
// We absolutely need this in the OSD rendering path.
- if (dst->imgfmt == IMGFMT_GBRP && !sws_isSupportedOutput(PIX_FMT_GBRP))
+ if (dst->imgfmt == IMGFMT_GBRP && !sws_isSupportedOutput(AV_PIX_FMT_GBRP))
return to_gbrp(dst, src, ctx->flags);
mp_image_params_from_image(&ctx->src, src);