summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-10-27 16:35:32 +0100
committerAnton Khirnov <anton@khirnov.net>2013-11-14 09:40:39 +0100
commitb6094811f9fca66cdf853420696e96fdc3e4987a (patch)
tree8d9085a6861d31250dd4f6e357bed56ce74af229
parentb45c87083de67969c1598cfef41e7c947b137922 (diff)
lavc: move MB_TYPE_* macros from avcodec.h to mpegvideo.h
They are mpegvideo-specific and not supposed to be used by callers.
-rw-r--r--libavcodec/avcodec.h2
-rw-r--r--libavcodec/mpegvideo.h24
-rw-r--r--libavcodec/version.h3
3 files changed, 29 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index ad80a289de..93e1368f43 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 b55a95e49c..205cd432b5 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 ea79bd953c..9ee6947d7d 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 */