diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 24c79581116b2d489827989d4183f1ea425a36d1..77114e62e68a519e656aeca1f0b68fff55da5946 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -118,7 +118,7 @@ typedef struct {
 }AVMetadataTag;
 
 typedef struct AVMetadata AVMetadata;
-#if FF_API_OLD_METADATA
+#if FF_API_OLD_METADATA2
 typedef struct AVMetadataConv AVMetadataConv;
 #endif
 
@@ -159,7 +159,7 @@ attribute_deprecated int av_metadata_set(AVMetadata **pm, const char *key, const
  */
 int av_metadata_set2(AVMetadata **pm, const char *key, const char *value, int flags);
 
-#if FF_API_OLD_METADATA
+#if FF_API_OLD_METADATA2
 /**
  * This function is provided for compatibility reason and currently does nothing.
  */
@@ -317,7 +317,7 @@ typedef struct AVOutputFormat {
 
     enum CodecID subtitle_codec; /**< default subtitle codec */
 
-#if FF_API_OLD_METADATA
+#if FF_API_OLD_METADATA2
     const AVMetadataConv *metadata_conv;
 #endif
 
@@ -437,7 +437,7 @@ typedef struct AVInputFormat {
      */
     int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
 
-#if FF_API_OLD_METADATA
+#if FF_API_OLD_METADATA2
     const AVMetadataConv *metadata_conv;
 #endif
 
diff --git a/libavformat/metadata.c b/libavformat/metadata.c
index 9ecc0a9191cc6fbf710be91b745f6c91734c5c7a..36a9342882fcfb6a7bfd33d41626f5e1eaff70a3 100644
--- a/libavformat/metadata.c
+++ b/libavformat/metadata.c
@@ -91,7 +91,9 @@ int av_metadata_set(AVMetadata **pm, const char *key, const char *value)
 {
     return av_metadata_set2(pm, key, value, 0);
 }
+#endif
 
+#if FF_API_OLD_METADATA2
 void av_metadata_conv(AVFormatContext *ctx, const AVMetadataConv *d_conv,
                                             const AVMetadataConv *s_conv)
 {
diff --git a/libavformat/metadata.h b/libavformat/metadata.h
index 0d2f1ab4a6007f6e4cd623ca2422249e8396c048..43eace8e390c3473baa72db53c3605d42791ff74 100644
--- a/libavformat/metadata.h
+++ b/libavformat/metadata.h
@@ -39,7 +39,7 @@ struct AVMetadataConv{
     const char *native;
     const char *generic;
 };
-#if !FF_API_OLD_METADATA
+#if !FF_API_OLD_METADATA2
 typedef struct AVMetadataConv AVMetadataConv;
 #endif
 
diff --git a/libavformat/version.h b/libavformat/version.h
index 887901bc1e85bded0ba3c298b10cb0b8ecb7fdea..03b90c120899f2defdf1d7fb35c86b0ee9b82052 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -47,6 +47,9 @@
 #ifndef FF_API_OLD_METADATA
 #define FF_API_OLD_METADATA            (LIBAVFORMAT_VERSION_MAJOR < 53)
 #endif
+#ifndef FF_API_OLD_METADATA2
+#define FF_API_OLD_METADATA2           (LIBAVFORMAT_VERSION_MAJOR < 54)
+#endif
 #ifndef FF_API_URL_CLASS
 #define FF_API_URL_CLASS               (LIBAVFORMAT_VERSION_MAJOR >= 53)
 #endif