[FFmpeg-devel] [PATCH 03/11] avcodec/tests/avcodec: Test AVCodec and AVCodecDescriptor consistency

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Sep 24 19:37:11 EEST 2021


Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/tests/avcodec.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavcodec/tests/avcodec.c b/libavcodec/tests/avcodec.c
index 22f308fafa..64940cfdb1 100644
--- a/libavcodec/tests/avcodec.c
+++ b/libavcodec/tests/avcodec.c
@@ -16,7 +16,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavcodec/avcodec.h"
+#include "libavcodec/codec.h"
+#include "libavcodec/codec_desc.h"
 
 static const char *get_type_string(enum AVMediaType type)
 {
@@ -39,6 +40,8 @@ int main(void){
     int ret = 0;
 
     while (codec = av_codec_iterate(&iter)) {
+        const AVCodecDescriptor *desc;
+
         if (!codec->name) {
             AV_LOG("Codec for format %s has no name\n",
                    avcodec_get_name(codec->id));
@@ -68,6 +71,12 @@ int main(void){
                 }
             }
         }
+        if (!(desc = avcodec_descriptor_get(codec->id))) {
+            ERR("Codec %s lacks a corresponding descriptor\n");
+        } else if (desc->type != codec->type)
+            ERR_EXT("The type of AVCodec %s and its AVCodecDescriptor differ: "
+                    "%s vs %s\n",
+                    get_type_string(codec->type), get_type_string(desc->type));
     }
     return ret;
 }
-- 
2.30.2



More information about the ffmpeg-devel mailing list