--- Consider that tentative since I have a plane to take, testing welcome :)
libavcodec/libvpx.c | 6 ++++++ libavcodec/libvpxenc.c | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/libavcodec/libvpx.c b/libavcodec/libvpx.c index c65f80d..98cae0b 100644 --- a/libavcodec/libvpx.c +++ b/libavcodec/libvpx.c @@ -88,8 +88,14 @@ vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix) case AV_PIX_FMT_YUVA444P: return VPX_IMG_FMT_444A; #if VPX_IMAGE_ABI_VERSION >= 3 case AV_PIX_FMT_YUV440P: return VPX_IMG_FMT_I440; + case AV_PIX_FMT_YUV420P9: + case AV_PIX_FMT_YUV420P10: case AV_PIX_FMT_YUV420P16BE: return VPX_IMG_FMT_I42016; + case AV_PIX_FMT_YUV422P9: + case AV_PIX_FMT_YUV422P10: case AV_PIX_FMT_YUV422P16BE: return VPX_IMG_FMT_I42216; + case AV_PIX_FMT_YUV444P9: + case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV444P16BE: return VPX_IMG_FMT_I44416; #endif default: return VPX_IMG_FMT_NONE; diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index bb4c98f..541be5d 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -35,6 +35,7 @@ #include "libavutil/common.h" #include "libavutil/mathematics.h" #include "libavutil/opt.h" +#include "libavutil/pixdesc.h" /** * Portion of struct vpx_codec_cx_pkt from vpx_encoder.h. @@ -561,6 +562,12 @@ static int vp8_encode(AVCodecContext *avctx, AVPacket *pkt, rawimg->range = VPX_CR_FULL_RANGE; break; } + { + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format); + if (desc) { + rawimg->bit_depth = av_get_bits_per_pixel(desc); + } + } #endif if (frame->pict_type == AV_PICTURE_TYPE_I) flags |= VPX_EFLAG_FORCE_KF; @@ -699,6 +706,11 @@ AVCodec ff_libvpx_vp9_encoder = { AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV440P, #endif +#if VPX_IMAGE_ABI_VERSION >= 4 + AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P16BE, + AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P16BE, + AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P16BE, +#endif AV_PIX_FMT_NONE, }, .profiles = NULL_IF_CONFIG_SMALL(profiles), -- 2.9.2 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel