diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index df0ec1338548e8f53f46e17840ef7cd919e6bf98..084f2ae1b4449df1081010d8f69387c67b606863 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -851,6 +851,7 @@ typedef struct RcOverride{
  */
 #define CODEC_CAP_LOSSLESS         0x80000000
 
+#if FF_API_MB_TYPE
 //The following defines may change, don't expect compatibility if you use them.
 #define MB_TYPE_INTRA4x4   0x0001
 #define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific
@@ -874,6 +875,7 @@ typedef struct RcOverride{
 #define MB_TYPE_QUANT      0x00010000
 #define MB_TYPE_CBP        0x00020000
 //Note bits 24-31 are reserved for codec specific use (h264 ref0, mpeg1 0mv, ...)
+#endif
 
 /**
  * Pan Scan area.
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index bf867b5ac3af4f9607a1bf776b375726056e4e06..79b391ca1c681591bd04bb77df9a2008bfe535be 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -108,6 +108,30 @@ typedef struct Picture{
     AVBufferRef *mb_type_buf;
     uint32_t *mb_type;
 
+#if !FF_API_MB_TYPE
+#define MB_TYPE_INTRA4x4   0x0001
+#define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific
+#define MB_TYPE_INTRA_PCM  0x0004 //FIXME H.264-specific
+#define MB_TYPE_16x16      0x0008
+#define MB_TYPE_16x8       0x0010
+#define MB_TYPE_8x16       0x0020
+#define MB_TYPE_8x8        0x0040
+#define MB_TYPE_INTERLACED 0x0080
+#define MB_TYPE_DIRECT2    0x0100 //FIXME
+#define MB_TYPE_ACPRED     0x0200
+#define MB_TYPE_GMC        0x0400
+#define MB_TYPE_SKIP       0x0800
+#define MB_TYPE_P0L0       0x1000
+#define MB_TYPE_P1L0       0x2000
+#define MB_TYPE_P0L1       0x4000
+#define MB_TYPE_P1L1       0x8000
+#define MB_TYPE_L0         (MB_TYPE_P0L0 | MB_TYPE_P1L0)
+#define MB_TYPE_L1         (MB_TYPE_P0L1 | MB_TYPE_P1L1)
+#define MB_TYPE_L0L1       (MB_TYPE_L0   | MB_TYPE_L1)
+#define MB_TYPE_QUANT      0x00010000
+#define MB_TYPE_CBP        0x00020000
+#endif
+
     AVBufferRef *mbskip_table_buf;
     uint8_t *mbskip_table;
 
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 45a782fba8e74b9826350cd5f2097608f1ca2ea9..75beb453582719ca3f5a094ebc3fe8e3ddd40ae3 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -126,5 +126,8 @@
 #ifndef FF_API_QSCALE_TYPE
 #define FF_API_QSCALE_TYPE       (LIBAVCODEC_VERSION_MAJOR < 56)
 #endif
+#ifndef FF_API_MB_TYPE
+#define FF_API_MB_TYPE           (LIBAVCODEC_VERSION_MAJOR < 56)
+#endif
 
 #endif /* AVCODEC_VERSION_H */