From e5c6329c98ca0d3f4ccb9c913cb6fd87db20065c Mon Sep 17 00:00:00 2001
From: wang-bin <wbsecg1@gmail.com>
Date: Thu, 24 Nov 2016 16:34:11 +0800
Subject: [PATCH] add missing hw pixel format in mediacodec decoder

---
 libavcodec/mediacodecdec.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/libavcodec/mediacodecdec.c b/libavcodec/mediacodecdec.c
index 2e645ca..a677380 100644
--- a/libavcodec/mediacodecdec.c
+++ b/libavcodec/mediacodecdec.c
@@ -555,6 +555,10 @@ AVCodec ff_h264_mediacodec_decoder = {
     .close          = mediacodec_decode_close,
     .capabilities   = CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS,
+    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_MEDIACODEC,
+                                                    AV_PIX_FMT_NV12,
+                                                    AV_PIX_FMT_YUV420P,
+                                                    AV_PIX_FMT_NONE},
 };
 #endif
 
@@ -571,6 +575,10 @@ AVCodec ff_hevc_mediacodec_decoder = {
     .close          = mediacodec_decode_close,
     .capabilities   = CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS,
+    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_MEDIACODEC,
+                                                    AV_PIX_FMT_NV12,
+                                                    AV_PIX_FMT_YUV420P,
+                                                    AV_PIX_FMT_NONE},
 };
 #endif
 
@@ -587,6 +595,10 @@ AVCodec ff_mpeg4_mediacodec_decoder = {
     .close          = mediacodec_decode_close,
     .capabilities   = CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS,
+    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_MEDIACODEC,
+                                                    AV_PIX_FMT_NV12,
+                                                    AV_PIX_FMT_YUV420P,
+                                                    AV_PIX_FMT_NONE},
 };
 #endif
 
@@ -603,6 +615,10 @@ AVCodec ff_vp8_mediacodec_decoder = {
     .close          = mediacodec_decode_close,
     .capabilities   = CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS,
+    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_MEDIACODEC,
+                                                    AV_PIX_FMT_NV12,
+                                                    AV_PIX_FMT_YUV420P,
+                                                    AV_PIX_FMT_NONE},
 };
 #endif
 
@@ -619,5 +635,9 @@ AVCodec ff_vp9_mediacodec_decoder = {
     .close          = mediacodec_decode_close,
     .capabilities   = CODEC_CAP_DELAY,
     .caps_internal  = FF_CODEC_CAP_SETS_PKT_DTS,
+    .pix_fmts       = (const enum AVPixelFormat[]){ AV_PIX_FMT_MEDIACODEC,
+                                                    AV_PIX_FMT_NV12,
+                                                    AV_PIX_FMT_YUV420P,
+                                                    AV_PIX_FMT_NONE},
 };
 #endif
-- 
2.10.1

