You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	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:
		| @@ -23,6 +23,7 @@ version <next>: | ||||
| - RTP depacketization of QDM2 | ||||
| - ANSI/ASCII art playback system | ||||
| - 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_POSTPROC) += postproc | ||||
| FFLIBS-$(CONFIG_SWSCALE)  += swscale | ||||
| FFLIBS-$(CONFIG_AVCORE)   += avcore | ||||
|  | ||||
| FFLIBS := avutil | ||||
|  | ||||
|   | ||||
| @@ -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, int err) | ||||
| 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()); | ||||
|   | ||||
| @@ -31,7 +31,7 @@ $(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR)))) | ||||
| $(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) | ||||
|   | ||||
							
								
								
									
										9
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								configure
									
									
									
									
										vendored
									
									
								
							| @@ -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 -Winline | ||||
| # 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" | ||||
|   | ||||
							
								
								
									
										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; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user