summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Velten <matmaul@gmail.com>2016-12-05 21:32:59 +0100
committerMark Thompson <sw@jkqxz.net>2016-12-05 22:12:34 +0000
commit49e8e5fc563453f476a26d1f98ba08f423eedb3c (patch)
treea1070636b801e8c351811418a6378d24829d4198
parentb1f630f1a6b0b4bae56ae17f98647550e80114f5 (diff)
downloadffmpeg-streaming-49e8e5fc563453f476a26d1f98ba08f423eedb3c.zip
ffmpeg-streaming-49e8e5fc563453f476a26d1f98ba08f423eedb3c.tar.gz
avcodec/vaapi-vp9: add support for profile 2 (bpp > 8)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
-rw-r--r--libavcodec/vaapi_vp9.c1
-rw-r--r--libavcodec/vp9.c10
2 files changed, 10 insertions, 1 deletions
diff --git a/libavcodec/vaapi_vp9.c b/libavcodec/vaapi_vp9.c
index b360dcb..9b3e81a 100644
--- a/libavcodec/vaapi_vp9.c
+++ b/libavcodec/vaapi_vp9.c
@@ -38,6 +38,7 @@ static void fill_picture_parameters(AVCodecContext *avctx,
pp->first_partition_size = h->h.compressed_header_size;
pp->profile = h->h.profile;
+ pp->bit_depth = h->h.bpp;
pp->filter_level = h->h.filter.level;
pp->sharpness_level = h->h.filter.sharpness;
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 793e356..09365f8 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -258,7 +258,8 @@ static int update_size(AVCodecContext *ctx, int w, int h)
if ((res = ff_set_dimensions(ctx, w, h)) < 0)
return res;
- if (s->pix_fmt == AV_PIX_FMT_YUV420P) {
+ switch (s->pix_fmt) {
+ case AV_PIX_FMT_YUV420P:
#if CONFIG_VP9_DXVA2_HWACCEL
*fmtp++ = AV_PIX_FMT_DXVA2_VLD;
#endif
@@ -268,6 +269,13 @@ static int update_size(AVCodecContext *ctx, int w, int h)
#if CONFIG_VP9_VAAPI_HWACCEL
*fmtp++ = AV_PIX_FMT_VAAPI;
#endif
+ break;
+ case AV_PIX_FMT_YUV420P10:
+ case AV_PIX_FMT_YUV420P12:
+#if CONFIG_VP9_VAAPI_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VAAPI;
+#endif
+ break;
}
*fmtp++ = s->pix_fmt;
OpenPOWER on IntegriCloud