[FFmpeg-cvslog] lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h

Anton Khirnov git at videolan.org
Thu Nov 14 14:02:26 CET 2013


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sun Oct 27 16:35:32 2013 +0100| [b6094811f9fca66cdf853420696e96fdc3e4987a] | committer: Anton Khirnov

lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h

They are mpegvideo-specific and not supposed to be used by callers.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b6094811f9fca66cdf853420696e96fdc3e4987a
---

 libavcodec/avcodec.h   |    2 ++
 libavcodec/mpegvideo.h |   24 ++++++++++++++++++++++++
 libavcodec/version.h   |    3 +++
 3 files changed, 29 insertions(+)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index ad80a28..93e1368 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -778,6 +778,7 @@ typedef struct RcOverride{
  */
 #define CODEC_CAP_VARIABLE_FRAME_SIZE 0x10000
 
+#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
@@ -801,6 +802,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 b55a95e..205cd43 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -107,6 +107,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 ea79bd9..9ee6947 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -106,5 +106,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 */



More information about the ffmpeg-cvslog mailing list