[FFmpeg-devel] [PATCH][RFC] avcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flag

James Almer jamrial at gmail.com
Fri Sep 1 21:00:16 EEST 2017


This flag replaces the deprecated, non-prefixed HWACCEL_CODEC_CAP_EXPERIMENTAL
one.

Signed-off-by: James Almer <jamrial at gmail.com>
---
No HWAccel uses HWACCEL_CODEC_CAP_EXPERIMENTAL at all. I wonder if we
shouldn't instead just not bother replacing it and consider adding it
once and if an hwaccel is ever committed in an unfinished way.

 doc/APIchanges       | 4 ++++
 libavcodec/avcodec.h | 8 +++++++-
 libavcodec/decode.c  | 2 +-
 libavcodec/version.h | 4 ++--
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 4effbf9364..0d459ba8c0 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,10 @@ libavutil:     2015-08-28
 
 API changes, most recent first:
 
+2017-09-xx - xxxxxxx - lavc 57.105.100 - avcodec.h
+  Add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL, replacing the deprecated
+  HWACCEL_CODEC_CAP_EXPERIMENTAL flag.
+
 2017-09-01 - xxxxxxx - lavf 57.81.100 - avio.h
   Add avio_read_partial().
 
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 513236a863..7708bb2adb 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -3879,7 +3879,7 @@ typedef struct AVHWAccel {
 
     /**
      * Hardware accelerated codec capabilities.
-     * see HWACCEL_CODEC_CAP_*
+     * see AV_HWACCEL_CODEC_CAP_*
      */
     int capabilities;
 
@@ -3988,6 +3988,12 @@ typedef struct AVHWAccel {
 } AVHWAccel;
 
 /**
+ * HWAccel is experimental and is thus avoided in favor of non experimental
+ * codecs
+ */
+#define AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200
+
+/**
  * Hardware acceleration should be used for decoding even if the codec level
  * used is unknown or higher than the maximum supported level reported by the
  * hardware driver.
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 9b57910842..892143c1d2 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -1150,7 +1150,7 @@ static int setup_hwaccel(AVCodecContext *avctx,
         return AVERROR(ENOENT);
     }
 
-    if (hwa->capabilities & HWACCEL_CODEC_CAP_EXPERIMENTAL &&
+    if (hwa->capabilities & AV_HWACCEL_CODEC_CAP_EXPERIMENTAL &&
         avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
         av_log(avctx, AV_LOG_WARNING, "Ignoring experimental hwaccel: %s\n",
                hwa->name);
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 29cdb85589..55b8ddc13c 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -28,8 +28,8 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  57
-#define LIBAVCODEC_VERSION_MINOR 104
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MINOR 105
+#define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
-- 
2.13.3



More information about the ffmpeg-devel mailing list