@@ -46,14 +46,14 @@ static const enum AVPixelFormat vp9_pix_fmts_highbd[] = { | |||
AV_PIX_FMT_YUV422P, | |||
AV_PIX_FMT_YUV440P, | |||
AV_PIX_FMT_YUV444P, | |||
AV_PIX_FMT_YUV420P10LE, | |||
AV_PIX_FMT_YUV422P10LE, | |||
AV_PIX_FMT_YUV440P10LE, | |||
AV_PIX_FMT_YUV444P10LE, | |||
AV_PIX_FMT_YUV420P12LE, | |||
AV_PIX_FMT_YUV422P12LE, | |||
AV_PIX_FMT_YUV440P12LE, | |||
AV_PIX_FMT_YUV444P12LE, | |||
AV_PIX_FMT_YUV420P10, | |||
AV_PIX_FMT_YUV422P10, | |||
AV_PIX_FMT_YUV440P10, | |||
AV_PIX_FMT_YUV444P10, | |||
AV_PIX_FMT_YUV420P12, | |||
AV_PIX_FMT_YUV422P12, | |||
AV_PIX_FMT_YUV440P12, | |||
AV_PIX_FMT_YUV444P12, | |||
AV_PIX_FMT_NONE | |||
}; | |||
#endif | |||
@@ -108,10 +108,10 @@ static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) | |||
case VPX_IMG_FMT_I42016: | |||
avctx->profile = FF_PROFILE_VP9_2; | |||
if (img->bit_depth == 10) { | |||
avctx->pix_fmt = AV_PIX_FMT_YUV420P10LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV420P10; | |||
return 0; | |||
} else if (img->bit_depth == 12) { | |||
avctx->pix_fmt = AV_PIX_FMT_YUV420P12LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV420P12; | |||
return 0; | |||
} else { | |||
return AVERROR_INVALIDDATA; | |||
@@ -119,10 +119,10 @@ static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) | |||
case VPX_IMG_FMT_I42216: | |||
avctx->profile = FF_PROFILE_VP9_3; | |||
if (img->bit_depth == 10) { | |||
avctx->pix_fmt = AV_PIX_FMT_YUV422P10LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV422P10; | |||
return 0; | |||
} else if (img->bit_depth == 12) { | |||
avctx->pix_fmt = AV_PIX_FMT_YUV422P12LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV422P12; | |||
return 0; | |||
} else { | |||
return AVERROR_INVALIDDATA; | |||
@@ -131,10 +131,10 @@ static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) | |||
case VPX_IMG_FMT_I44016: | |||
avctx->profile = FF_PROFILE_VP9_3; | |||
if (img->bit_depth == 10) { | |||
avctx->pix_fmt = AV_PIX_FMT_YUV440P10LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV440P10; | |||
return 0; | |||
} else if (img->bit_depth == 12) { | |||
avctx->pix_fmt = AV_PIX_FMT_YUV440P12LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV440P12; | |||
return 0; | |||
} else { | |||
return AVERROR_INVALIDDATA; | |||
@@ -145,17 +145,17 @@ static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) | |||
if (img->bit_depth == 10) { | |||
#if VPX_IMAGE_ABI_VERSION >= 3 | |||
avctx->pix_fmt = avctx->colorspace == AVCOL_SPC_RGB ? | |||
AV_PIX_FMT_GBRP10LE : AV_PIX_FMT_YUV444P10LE; | |||
AV_PIX_FMT_GBRP10 : AV_PIX_FMT_YUV444P10; | |||
#else | |||
avctx->pix_fmt = AV_PIX_FMT_YUV444P10LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV444P10; | |||
#endif | |||
return 0; | |||
} else if (img->bit_depth == 12) { | |||
#if VPX_IMAGE_ABI_VERSION >= 3 | |||
avctx->pix_fmt = avctx->colorspace == AVCOL_SPC_RGB ? | |||
AV_PIX_FMT_GBRP12LE : AV_PIX_FMT_YUV444P12LE; | |||
AV_PIX_FMT_GBRP12 : AV_PIX_FMT_YUV444P12; | |||
#else | |||
avctx->pix_fmt = AV_PIX_FMT_YUV444P12LE; | |||
avctx->pix_fmt = AV_PIX_FMT_YUV444P12; | |||
#endif | |||
return 0; | |||
} else { | |||
@@ -300,22 +300,22 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, | |||
*img_fmt = VPX_IMG_FMT_I444; | |||
return 0; | |||
#ifdef VPX_IMG_FMT_HIGHBITDEPTH | |||
case AV_PIX_FMT_YUV420P10LE: | |||
case AV_PIX_FMT_YUV420P12LE: | |||
case AV_PIX_FMT_YUV420P10: | |||
case AV_PIX_FMT_YUV420P12: | |||
if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { | |||
enccfg->g_bit_depth = enccfg->g_input_bit_depth = | |||
avctx->pix_fmt == AV_PIX_FMT_YUV420P10LE ? 10 : 12; | |||
avctx->pix_fmt == AV_PIX_FMT_YUV420P10 ? 10 : 12; | |||
enccfg->g_profile = 2; | |||
*img_fmt = VPX_IMG_FMT_I42016; | |||
*flags |= VPX_CODEC_USE_HIGHBITDEPTH; | |||
return 0; | |||
} | |||
break; | |||
case AV_PIX_FMT_YUV422P10LE: | |||
case AV_PIX_FMT_YUV422P12LE: | |||
case AV_PIX_FMT_YUV422P10: | |||
case AV_PIX_FMT_YUV422P12: | |||
if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { | |||
enccfg->g_bit_depth = enccfg->g_input_bit_depth = | |||
avctx->pix_fmt == AV_PIX_FMT_YUV422P10LE ? 10 : 12; | |||
avctx->pix_fmt == AV_PIX_FMT_YUV422P10 ? 10 : 12; | |||
enccfg->g_profile = 3; | |||
*img_fmt = VPX_IMG_FMT_I42216; | |||
*flags |= VPX_CODEC_USE_HIGHBITDEPTH; | |||
@@ -323,11 +323,11 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, | |||
} | |||
break; | |||
#if VPX_IMAGE_ABI_VERSION >= 3 | |||
case AV_PIX_FMT_YUV440P10LE: | |||
case AV_PIX_FMT_YUV440P12LE: | |||
case AV_PIX_FMT_YUV440P10: | |||
case AV_PIX_FMT_YUV440P12: | |||
if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { | |||
enccfg->g_bit_depth = enccfg->g_input_bit_depth = | |||
avctx->pix_fmt == AV_PIX_FMT_YUV440P10LE ? 10 : 12; | |||
avctx->pix_fmt == AV_PIX_FMT_YUV440P10 ? 10 : 12; | |||
enccfg->g_profile = 3; | |||
*img_fmt = VPX_IMG_FMT_I44016; | |||
*flags |= VPX_CODEC_USE_HIGHBITDEPTH; | |||
@@ -335,11 +335,11 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, | |||
} | |||
break; | |||
#endif | |||
case AV_PIX_FMT_YUV444P10LE: | |||
case AV_PIX_FMT_YUV444P12LE: | |||
case AV_PIX_FMT_YUV444P10: | |||
case AV_PIX_FMT_YUV444P12: | |||
if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { | |||
enccfg->g_bit_depth = enccfg->g_input_bit_depth = | |||
avctx->pix_fmt == AV_PIX_FMT_YUV444P10LE ? 10 : 12; | |||
avctx->pix_fmt == AV_PIX_FMT_YUV444P10 ? 10 : 12; | |||
enccfg->g_profile = 3; | |||
*img_fmt = VPX_IMG_FMT_I44416; | |||
*flags |= VPX_CODEC_USE_HIGHBITDEPTH; | |||
@@ -30,7 +30,7 @@ | |||
#define LIBAVCODEC_VERSION_MAJOR 57 | |||
#define LIBAVCODEC_VERSION_MINOR 24 | |||
#define LIBAVCODEC_VERSION_MICRO 103 | |||
#define LIBAVCODEC_VERSION_MICRO 104 | |||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | |||
LIBAVCODEC_VERSION_MINOR, \ | |||