[FFmpeg-devel] [PATCH 1/2] Move AVPicture definition from lavc to lavu

Clément Bœsch u at pkh.me
Sun Dec 14 16:47:43 CET 2014


This is necessary before moving AVSubtitle* structures.
---
 doc/APIchanges       |  4 ++++
 libavcodec/avcodec.h | 25 ++-----------------------
 libavcodec/version.h |  2 +-
 libavutil/Makefile   |  1 +
 libavutil/picture.h  | 37 +++++++++++++++++++++++++++++++++++++
 libavutil/version.h  |  2 +-
 6 files changed, 46 insertions(+), 25 deletions(-)
 create mode 100644 libavutil/picture.h

diff --git a/doc/APIchanges b/doc/APIchanges
index 5b0e1e5..ba7eae1 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,10 @@ libavutil:     2014-08-09
 
 API changes, most recent first:
 
+2014-12-xx - xxxxxxx - lavc 56.15.100 / lavu 54.16.100 - lavc/avcodec.h lavu/picture.h
+  Move AVPicture definition from libavcodec to libavutil. This should be
+  transparent API and ABI wise.
+
 2014-12-04 - xxxxxxx - lavc 56.14.100 - dv_profile.h
   Add av_dv_codec_profile2().
 
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 4b6b00c..2c1918d 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -37,6 +37,7 @@
 #include "libavutil/dict.h"
 #include "libavutil/frame.h"
 #include "libavutil/log.h"
+#include "libavutil/picture.h"
 #include "libavutil/pixfmt.h"
 #include "libavutil/rational.h"
 
@@ -3400,28 +3401,6 @@ typedef struct AVHWAccel {
  * @}
  */
 
-/**
- * @defgroup lavc_picture AVPicture
- *
- * Functions for working with AVPicture
- * @{
- */
-
-/**
- * Picture data structure.
- *
- * Up to four components can be stored into it, the last component is
- * alpha.
- */
-typedef struct AVPicture {
-    uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image data planes
-    int linesize[AV_NUM_DATA_POINTERS];     ///< number of bytes per line
-} AVPicture;
-
-/**
- * @}
- */
-
 enum AVSubtitleType {
     SUBTITLE_NONE,
 
@@ -4676,7 +4655,7 @@ void av_resample_close(struct AVResampleContext *c);
 #endif
 
 /**
- * @addtogroup lavc_picture
+ * Functions for working with AVPicture
  * @{
  */
 
diff --git a/libavcodec/version.h b/libavcodec/version.h
index ef439d6..6610e8c 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 56
-#define LIBAVCODEC_VERSION_MINOR  14
+#define LIBAVCODEC_VERSION_MINOR  15
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
diff --git a/libavutil/Makefile b/libavutil/Makefile
index c1aa8aa..ad703db 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -44,6 +44,7 @@ HEADERS = adler32.h                                                     \
           old_pix_fmts.h                                                \
           opt.h                                                         \
           parseutils.h                                                  \
+          picture.h                                                     \
           pixdesc.h                                                     \
           pixelutils.h                                                  \
           pixfmt.h                                                      \
diff --git a/libavutil/picture.h b/libavutil/picture.h
new file mode 100644
index 0000000..825dd9d
--- /dev/null
+++ b/libavutil/picture.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVUTIL_PICTURE_H
+#define AVUTIL_PICTURE_H
+
+#include <stdint.h>
+
+#include "frame.h" // for AV_NUM_DATA_POINTERS
+
+/**
+ * Picture data structure.
+ *
+ * Up to four components can be stored into it, the last component is
+ * alpha.
+ */
+typedef struct AVPicture {
+    uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image data planes
+    int linesize[AV_NUM_DATA_POINTERS];     ///< number of bytes per line
+} AVPicture;
+
+#endif
diff --git a/libavutil/version.h b/libavutil/version.h
index c19e943..a1ed502 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -56,7 +56,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  54
-#define LIBAVUTIL_VERSION_MINOR  15
+#define LIBAVUTIL_VERSION_MINOR  16
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
-- 
2.1.3



More information about the ffmpeg-devel mailing list