[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