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 Originally committed as revision 24393 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
ac1a31ab03
commit
aac6ca6978
@ -23,6 +23,7 @@ version <next>:
|
|||||||
- RTP depacketization of QDM2
|
- RTP depacketization of QDM2
|
||||||
- ANSI/ASCII art playback system
|
- ANSI/ASCII art playback system
|
||||||
- Lego Mindstorms RSO de/muxer
|
- Lego Mindstorms RSO de/muxer
|
||||||
|
- libavcore added
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1
Makefile
1
Makefile
@ -29,6 +29,7 @@ FFLIBS-$(CONFIG_AVFORMAT) += avformat
|
|||||||
FFLIBS-$(CONFIG_AVCODEC) += avcodec
|
FFLIBS-$(CONFIG_AVCODEC) += avcodec
|
||||||
FFLIBS-$(CONFIG_POSTPROC) += postproc
|
FFLIBS-$(CONFIG_POSTPROC) += postproc
|
||||||
FFLIBS-$(CONFIG_SWSCALE) += swscale
|
FFLIBS-$(CONFIG_SWSCALE) += swscale
|
||||||
|
FFLIBS-$(CONFIG_AVCORE) += avcore
|
||||||
|
|
||||||
FFLIBS := avutil
|
FFLIBS := avutil
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "libavutil/eval.h"
|
#include "libavutil/eval.h"
|
||||||
#include "libavcodec/opt.h"
|
#include "libavcodec/opt.h"
|
||||||
|
#include "libavcore/avcore.h"
|
||||||
#include "cmdutils.h"
|
#include "cmdutils.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#if CONFIG_NETWORK
|
#if CONFIG_NETWORK
|
||||||
@ -314,6 +315,7 @@ void print_error(const char *filename, int err)
|
|||||||
static void print_all_lib_versions(FILE* outstream, int indent)
|
static void print_all_lib_versions(FILE* outstream, int indent)
|
||||||
{
|
{
|
||||||
PRINT_LIB_VERSION(outstream, avutil, AVUTIL, 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, avcodec, AVCODEC, indent);
|
||||||
PRINT_LIB_VERSION(outstream, avformat, AVFORMAT, indent);
|
PRINT_LIB_VERSION(outstream, avformat, AVFORMAT, indent);
|
||||||
PRINT_LIB_VERSION(outstream, avdevice, AVDEVICE, indent);
|
PRINT_LIB_VERSION(outstream, avdevice, AVDEVICE, indent);
|
||||||
@ -348,6 +350,7 @@ void show_banner(void)
|
|||||||
__DATE__, __TIME__, CC_TYPE, CC_VERSION);
|
__DATE__, __TIME__, CC_TYPE, CC_VERSION);
|
||||||
fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n");
|
fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n");
|
||||||
PRINT_LIB_CONFIG(AVUTIL, "libavutil", avutil_configuration());
|
PRINT_LIB_CONFIG(AVUTIL, "libavutil", avutil_configuration());
|
||||||
|
PRINT_LIB_CONFIG(AVCORE, "libavcore", avcore_configuration());
|
||||||
PRINT_LIB_CONFIG(AVCODEC, "libavcodec", avcodec_configuration());
|
PRINT_LIB_CONFIG(AVCODEC, "libavcodec", avcodec_configuration());
|
||||||
PRINT_LIB_CONFIG(AVFORMAT, "libavformat", avformat_configuration());
|
PRINT_LIB_CONFIG(AVFORMAT, "libavformat", avformat_configuration());
|
||||||
PRINT_LIB_CONFIG(AVDEVICE, "libavdevice", avdevice_configuration());
|
PRINT_LIB_CONFIG(AVDEVICE, "libavdevice", avdevice_configuration());
|
||||||
|
@ -31,7 +31,7 @@ $(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
|
|||||||
$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
|
$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
|
||||||
endif
|
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)
|
IFLAGS := -I$(BUILD_ROOT_REL) -I$(SRC_PATH)
|
||||||
CPPFLAGS := $(IFLAGS) $(CPPFLAGS)
|
CPPFLAGS := $(IFLAGS) $(CPPFLAGS)
|
||||||
|
9
configure
vendored
9
configure
vendored
@ -86,6 +86,7 @@ Configuration options:
|
|||||||
--disable-ffserver disable ffserver build
|
--disable-ffserver disable ffserver build
|
||||||
--disable-avdevice disable libavdevice build
|
--disable-avdevice disable libavdevice build
|
||||||
--disable-avcodec disable libavcodec build
|
--disable-avcodec disable libavcodec build
|
||||||
|
--disable-avcore disable libavcore build
|
||||||
--disable-avformat disable libavformat build
|
--disable-avformat disable libavformat build
|
||||||
--disable-swscale disable libswscale build
|
--disable-swscale disable libswscale build
|
||||||
--enable-postproc enable GPLed postprocessing support [no]
|
--enable-postproc enable GPLed postprocessing support [no]
|
||||||
@ -845,6 +846,7 @@ CONFIG_LIST="
|
|||||||
$COMPONENT_LIST
|
$COMPONENT_LIST
|
||||||
aandct
|
aandct
|
||||||
avcodec
|
avcodec
|
||||||
|
avcore
|
||||||
avdevice
|
avdevice
|
||||||
avfilter
|
avfilter
|
||||||
avfilter_lavf
|
avfilter_lavf
|
||||||
@ -1524,6 +1526,7 @@ host_os=$target_os_default
|
|||||||
|
|
||||||
# configurable options
|
# configurable options
|
||||||
enable avcodec
|
enable avcodec
|
||||||
|
enable avcore
|
||||||
enable avdevice
|
enable avdevice
|
||||||
enable avfilter
|
enable avfilter
|
||||||
enable avformat
|
enable avformat
|
||||||
@ -2774,7 +2777,7 @@ enabled extra_warnings && check_cflags -Winline
|
|||||||
# add some linker flags
|
# add some linker flags
|
||||||
check_ldflags -Wl,--warn-common
|
check_ldflags -Wl,--warn-common
|
||||||
check_ldflags -Wl,--as-needed
|
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
|
check_ldflags -Wl,-Bsymbolic
|
||||||
|
|
||||||
echo "X{};" > $TMPV
|
echo "X{};" > $TMPV
|
||||||
@ -2969,6 +2972,7 @@ if enabled source_path_used; then
|
|||||||
doc
|
doc
|
||||||
libavcodec
|
libavcodec
|
||||||
libavcodec/$arch
|
libavcodec/$arch
|
||||||
|
libavcore
|
||||||
libavdevice
|
libavdevice
|
||||||
libavfilter
|
libavfilter
|
||||||
libavformat
|
libavformat
|
||||||
@ -2987,6 +2991,7 @@ if enabled source_path_used; then
|
|||||||
doc/texi2pod.pl
|
doc/texi2pod.pl
|
||||||
libavcodec/Makefile
|
libavcodec/Makefile
|
||||||
libavcodec/${arch}/Makefile
|
libavcodec/${arch}/Makefile
|
||||||
|
libavcore/Makefile
|
||||||
libavdevice/Makefile
|
libavdevice/Makefile
|
||||||
libavfilter/Makefile
|
libavfilter/Makefile
|
||||||
libavformat/Makefile
|
libavformat/Makefile
|
||||||
@ -3085,6 +3090,7 @@ get_version(){
|
|||||||
get_version LIBSWSCALE libswscale/swscale.h
|
get_version LIBSWSCALE libswscale/swscale.h
|
||||||
get_version LIBPOSTPROC libpostproc/postprocess.h
|
get_version LIBPOSTPROC libpostproc/postprocess.h
|
||||||
get_version LIBAVCODEC libavcodec/avcodec.h
|
get_version LIBAVCODEC libavcodec/avcodec.h
|
||||||
|
get_version LIBAVCORE libavcore/avcore.h
|
||||||
get_version LIBAVDEVICE libavdevice/avdevice.h
|
get_version LIBAVDEVICE libavdevice/avdevice.h
|
||||||
get_version LIBAVFORMAT libavformat/avformat.h
|
get_version LIBAVFORMAT libavformat/avformat.h
|
||||||
get_version LIBAVUTIL libavutil/avutil.h
|
get_version LIBAVUTIL libavutil/avutil.h
|
||||||
@ -3200,6 +3206,7 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION"
|
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 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 libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION"
|
||||||
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
|
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION"
|
||||||
|
9
libavcore/Makefile
Normal file
9
libavcore/Makefile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
include $(SUBDIR)../config.mak
|
||||||
|
|
||||||
|
NAME = avcore
|
||||||
|
|
||||||
|
HEADERS = avcore.h \
|
||||||
|
|
||||||
|
OBJS = utils.o \
|
||||||
|
|
||||||
|
include $(SUBDIR)../subdir.mak
|
58
libavcore/avcore.h
Normal file
58
libavcore/avcore.h
Normal file
@ -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 */
|
4
libavcore/libavcore.v
Normal file
4
libavcore/libavcore.v
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
LIBAVCORE_$MAJOR {
|
||||||
|
global: av_*; ff_*; avcore*;
|
||||||
|
local: *;
|
||||||
|
};
|
41
libavcore/utils.c
Normal file
41
libavcore/utils.c
Normal file
@ -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;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user