]> granicus.if.org Git - handbrake/commitdiff
QSVdec: support more video input formats (not). qsv-libav12
authorTim Walker <tdskywalker@gmail.com>
Mon, 12 Sep 2016 13:18:31 +0000 (15:18 +0200)
committerTim Walker <tdskywalker@gmail.com>
Mon, 12 Sep 2016 13:18:31 +0000 (15:18 +0200)
libhb/decavcodec.c

index 5f3dce01d80bbfe8ff238d7cea208020331cb9ef..0bfffc4907326efd851850159da73ea0c3d4aa22 100644 (file)
@@ -1777,11 +1777,20 @@ static int decavcodecvInfo( hb_work_object_t *w, hb_work_info_t *info )
 
     info->video_decode_support = HB_DECODE_SUPPORT_SW;
 
-#ifdef USE_QSV
+#ifdef USE_QSV // TODO: query QSV for resolution limits, 10-bit decoding support
     if (avcodec_find_decoder_by_name(hb_qsv_decode_get_codec_name(pv->context->codec_id)))
     {
         switch (pv->context->codec_id)
         {
+//            // decoder seems highly unreliable, further investigation required
+//            case AV_CODEC_ID_MPEG2VIDEO:
+//                if (pv->context->pix_fmt == AV_PIX_FMT_YUV420P ||
+//                    pv->context->pix_fmt == AV_PIX_FMT_YUVJ420P)
+//                {
+//                    info->video_decode_support |= HB_DECODE_SUPPORT_QSV;
+//                }
+//                break;
+
             case AV_CODEC_ID_H264:
                 if (pv->context->pix_fmt == AV_PIX_FMT_YUV420P ||
                     pv->context->pix_fmt == AV_PIX_FMT_YUVJ420P)
@@ -1790,6 +1799,15 @@ static int decavcodecvInfo( hb_work_object_t *w, hb_work_info_t *info )
                 }
                 break;
 
+//            // seemingly doesn't work at all: :-( further investigation required
+//            case AV_CODEC_ID_HEVC:
+//                if (pv->context->pix_fmt == AV_PIX_FMT_YUV420P ||
+//                    pv->context->pix_fmt == AV_PIX_FMT_YUVJ420P)
+//                {
+//                    info->video_decode_support |= HB_DECODE_SUPPORT_QSV;
+//                }
+//                break;
+
             default:
                 break;
         }