lavc/libvpx: Fix high-bitdepth pix_fmts on big endian.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user