[FFmpeg-devel] [PATCH] qsvdec: Avoid probing with qsv decoders
Mark Thompson
sw at jkqxz.net
Sat Oct 29 23:37:05 EEST 2016
Set the AV_CODEC_CAP_AVOID_PROBING flag on all of the qsv decoders.
---
To apply after the libav merge set.
The specific problem this fixes is attempting to use the H.265 decoder when the appropriate plugin isn't loaded, but it seems like a sensible change to make for all of the decoders.
libavcodec/qsvdec_h2645.c | 4 ++--
libavcodec/qsvdec_mpeg2.c | 2 +-
libavcodec/qsvdec_vc1.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/qsvdec_h2645.c b/libavcodec/qsvdec_h2645.c
index df86eea..94fbd07 100644
--- a/libavcodec/qsvdec_h2645.c
+++ b/libavcodec/qsvdec_h2645.c
@@ -266,7 +266,7 @@ AVCodec ff_hevc_qsv_decoder = {
.decode = qsv_decode_frame,
.flush = qsv_decode_flush,
.close = qsv_decode_close,
- .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
+ .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
.priv_class = &hevc_class,
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
AV_PIX_FMT_QSV,
@@ -304,7 +304,7 @@ AVCodec ff_h264_qsv_decoder = {
.decode = qsv_decode_frame,
.flush = qsv_decode_flush,
.close = qsv_decode_close,
- .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
+ .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
.priv_class = &class,
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
AV_PIX_FMT_QSV,
diff --git a/libavcodec/qsvdec_mpeg2.c b/libavcodec/qsvdec_mpeg2.c
index c080657..e558ca0 100644
--- a/libavcodec/qsvdec_mpeg2.c
+++ b/libavcodec/qsvdec_mpeg2.c
@@ -171,7 +171,7 @@ AVCodec ff_mpeg2_qsv_decoder = {
.decode = qsv_decode_frame,
.flush = qsv_decode_flush,
.close = qsv_decode_close,
- .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
+ .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
.priv_class = &class,
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
AV_PIX_FMT_QSV,
diff --git a/libavcodec/qsvdec_vc1.c b/libavcodec/qsvdec_vc1.c
index f7b1fb0..70a47b1 100644
--- a/libavcodec/qsvdec_vc1.c
+++ b/libavcodec/qsvdec_vc1.c
@@ -168,7 +168,7 @@ AVCodec ff_vc1_qsv_decoder = {
.decode = qsv_decode_frame,
.flush = qsv_decode_flush,
.close = qsv_decode_close,
- .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
+ .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
.priv_class = &class,
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
AV_PIX_FMT_QSV,
--
2.7.4
More information about the ffmpeg-devel
mailing list