|
|
|
@ -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; |
|
|
|
|