[FFmpeg-cvslog] r24393 - in trunk: Changelog Makefile cmdutils.c common.mak configure libavcore libavcore/Makefile libavcore/avcore.h libavcore/libavcore.v libavcore/utils.c
stefano
subversion
Wed Jul 21 20:28:43 CEST 2010
Author: stefano
Date: Wed Jul 21 20:28:42 2010
New Revision: 24393
Log:
Add libavcore.
The new library is meant to contain the core multimedia utilities for
FFmpeg, to make them shareable between more libav* libraries.
See thread:
Subject: [FFmpeg-devel] [RFC] New library for shared non-generic libav* utils
Date: Fri, 9 Jul 2010 01:07:40 +0200
Added:
trunk/libavcore/
trunk/libavcore/Makefile (contents, props changed)
trunk/libavcore/avcore.h
trunk/libavcore/libavcore.v
trunk/libavcore/utils.c
Modified:
trunk/Changelog
trunk/Makefile
trunk/cmdutils.c
trunk/common.mak
trunk/configure
Modified: trunk/Changelog
==============================================================================
--- trunk/Changelog Wed Jul 21 19:31:37 2010 (r24392)
+++ trunk/Changelog Wed Jul 21 20:28:42 2010 (r24393)
@@ -23,6 +23,7 @@ version <next>:
- RTP depacketization of QDM2
- ANSI/ASCII art playback system
- Lego Mindstorms RSO de/muxer
+- libavcore added
Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile Wed Jul 21 19:31:37 2010 (r24392)
+++ trunk/Makefile Wed Jul 21 20:28:42 2010 (r24393)
@@ -29,6 +29,7 @@ FFLIBS-$(CONFIG_AVFORMAT) += avformat
FFLIBS-$(CONFIG_AVCODEC) += avcodec
FFLIBS-$(CONFIG_POSTPROC) += postproc
FFLIBS-$(CONFIG_SWSCALE) += swscale
+FFLIBS-$(CONFIG_AVCORE) += avcore
FFLIBS := avutil
Modified: trunk/cmdutils.c
==============================================================================
--- trunk/cmdutils.c Wed Jul 21 19:31:37 2010 (r24392)
+++ trunk/cmdutils.c Wed Jul 21 20:28:42 2010 (r24393)
@@ -38,6 +38,7 @@
#include "libavutil/pixdesc.h"
#include "libavutil/eval.h"
#include "libavcodec/opt.h"
+#include "libavcore/avcore.h"
#include "cmdutils.h"
#include "version.h"
#if CONFIG_NETWORK
@@ -314,6 +315,7 @@ void print_error(const char *filename, i
static void print_all_lib_versions(FILE* outstream, int indent)
{
PRINT_LIB_VERSION(outstream, avutil, AVUTIL, indent);
+ PRINT_LIB_VERSION(outstream, avcore, AVCORE, indent);
PRINT_LIB_VERSION(outstream, avcodec, AVCODEC, indent);
PRINT_LIB_VERSION(outstream, avformat, AVFORMAT, indent);
PRINT_LIB_VERSION(outstream, avdevice, AVDEVICE, indent);
@@ -348,6 +350,7 @@ void show_banner(void)
__DATE__, __TIME__, CC_TYPE, CC_VERSION);
fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n");
PRINT_LIB_CONFIG(AVUTIL, "libavutil", avutil_configuration());
+ PRINT_LIB_CONFIG(AVCORE, "libavcore", avcore_configuration());
PRINT_LIB_CONFIG(AVCODEC, "libavcodec", avcodec_configuration());
PRINT_LIB_CONFIG(AVFORMAT, "libavformat", avformat_configuration());
PRINT_LIB_CONFIG(AVDEVICE, "libavdevice", avdevice_configuration());
Modified: trunk/common.mak
==============================================================================
--- trunk/common.mak Wed Jul 21 19:31:37 2010 (r24392)
+++ trunk/common.mak Wed Jul 21 20:28:42 2010 (r24393)
@@ -31,7 +31,7 @@ $(foreach VAR,$(SILENT),$(eval override
$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
endif
-ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
+ALLFFLIBS = avcodec avcore avdevice avfilter avformat avutil postproc swscale
IFLAGS := -I$(BUILD_ROOT_REL) -I$(SRC_PATH)
CPPFLAGS := $(IFLAGS) $(CPPFLAGS)
Modified: trunk/configure
==============================================================================
--- trunk/configure Wed Jul 21 19:31:37 2010 (r24392)
+++ trunk/configure Wed Jul 21 20:28:42 2010 (r24393)
@@ -86,6 +86,7 @@ Configuration options:
--disable-ffserver disable ffserver build
--disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build
+ --disable-avcore disable libavcore build
--disable-avformat disable libavformat build
--disable-swscale disable libswscale build
--enable-postproc enable GPLed postprocessing support [no]
@@ -845,6 +846,7 @@ CONFIG_LIST="
$COMPONENT_LIST
aandct
avcodec
+ avcore
avdevice
avfilter
avfilter_lavf
@@ -1524,6 +1526,7 @@ host_os=$target_os_default
# configurable options
enable avcodec
+enable avcore
enable avdevice
enable avfilter
enable avformat
@@ -2774,7 +2777,7 @@ enabled extra_warnings && check_cflags -
# add some linker flags
check_ldflags -Wl,--warn-common
check_ldflags -Wl,--as-needed
-check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
+check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavcore -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil'
check_ldflags -Wl,-Bsymbolic
echo "X{};" > $TMPV
@@ -2969,6 +2972,7 @@ if enabled source_path_used; then
doc
libavcodec
libavcodec/$arch
+ libavcore
libavdevice
libavfilter
libavformat
@@ -2987,6 +2991,7 @@ if enabled source_path_used; then
doc/texi2pod.pl
libavcodec/Makefile
libavcodec/${arch}/Makefile
+ libavcore/Makefile
libavdevice/Makefile
libavfilter/Makefile
libavformat/Makefile
@@ -3085,6 +3090,7 @@ get_version(){
get_version LIBSWSCALE libswscale/swscale.h
get_version LIBPOSTPROC libpostproc/postprocess.h
get_version LIBAVCODEC libavcodec/avcodec.h
+get_version LIBAVCORE libavcore/avcore.h
get_version LIBAVDEVICE libavdevice/avdevice.h
get_version LIBAVFORMAT libavformat/avformat.h
get_version LIBAVUTIL libavutil/avutil.h
@@ -3200,6 +3206,7 @@ EOF
}
pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION"
+pkgconfig_generate libavcore "FFmpeg multimedia shared core utilities library" "$LIBAVCORE_VERSION" "$extralibs" "libavcore = $LIBAVCORE_VERSION"
pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION"
pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
Added: trunk/libavcore/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavcore/Makefile Wed Jul 21 20:28:42 2010 (r24393)
@@ -0,0 +1,9 @@
+include $(SUBDIR)../config.mak
+
+NAME = avcore
+
+HEADERS = avcore.h \
+
+OBJS = utils.o \
+
+include $(SUBDIR)../subdir.mak
Added: trunk/libavcore/avcore.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavcore/avcore.h Wed Jul 21 20:28:42 2010 (r24393)
@@ -0,0 +1,58 @@
+/*
+ * 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 AVCORE_AVCORE_H
+#define AVCORE_AVCORE_H
+
+/**
+ * @file
+ * shared media utilities for the libav* libraries
+ */
+
+#include <libavutil/avutil.h>
+
+#define LIBAVCORE_VERSION_MAJOR 0
+#define LIBAVCORE_VERSION_MINOR 0
+#define LIBAVCORE_VERSION_MICRO 0
+
+#define LIBAVCORE_VERSION_INT AV_VERSION_INT(LIBAVCORE_VERSION_MAJOR, \
+ LIBAVCORE_VERSION_MINOR, \
+ LIBAVCORE_VERSION_MICRO)
+#define LIBAVCORE_VERSION AV_VERSION(LIBAVCORE_VERSION_MAJOR, \
+ LIBAVCORE_VERSION_MINOR, \
+ LIBAVCORE_VERSION_MICRO)
+#define LIBAVCORE_BUILD LIBAVCORE_VERSION_INT
+
+#define LIBAVCORE_IDENT "Lavcore" AV_STRINGIFY(LIBAVCORE_VERSION)
+
+/**
+ * Return the LIBAVCORE_VERSION_INT constant.
+ */
+unsigned avcore_version(void);
+
+/**
+ * Return the libavcore build-time configuration.
+ */
+const char *avcore_configuration(void);
+
+/**
+ * Return the libavcore license.
+ */
+const char *avcore_license(void);
+
+#endif /* AVCORE_AVCORE_H */
Added: trunk/libavcore/libavcore.v
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavcore/libavcore.v Wed Jul 21 20:28:42 2010 (r24393)
@@ -0,0 +1,4 @@
+LIBAVCORE_$MAJOR {
+ global: av_*; ff_*; avcore*;
+ local: *;
+};
Added: trunk/libavcore/utils.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/libavcore/utils.c Wed Jul 21 20:28:42 2010 (r24393)
@@ -0,0 +1,41 @@
+/*
+ * 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
+ */
+
+#include "config.h"
+#include "avcore.h"
+
+/**
+ * @file
+ * various utility functions
+ */
+
+unsigned avcore_version(void)
+{
+ return LIBAVCORE_VERSION_INT;
+}
+
+const char *avcore_configuration(void)
+{
+ return FFMPEG_CONFIGURATION;
+}
+
+const char *avcore_license(void)
+{
+#define LICENSE_PREFIX "libavcore license: "
+ return LICENSE_PREFIX FFMPEG_LICENSE + sizeof(LICENSE_PREFIX) - 1;
+}
More information about the ffmpeg-cvslog
mailing list