# HG changeset patch # User stefano # Date 1279736922 0 # Node ID a644213e481859f09a875ad47d2b9f226fb73b07 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 diff -r 000000000000 -r a644213e4818 Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Wed Jul 21 18:28:42 2010 +0000 @@ -0,0 +1,9 @@ +include $(SUBDIR)../config.mak + +NAME = avcore + +HEADERS = avcore.h \ + +OBJS = utils.o \ + +include $(SUBDIR)../subdir.mak diff -r 000000000000 -r a644213e4818 avcore.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/avcore.h Wed Jul 21 18:28:42 2010 +0000 @@ -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 + +#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 */ diff -r 000000000000 -r a644213e4818 libavcore.v --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libavcore.v Wed Jul 21 18:28:42 2010 +0000 @@ -0,0 +1,4 @@ +LIBAVCORE_$MAJOR { + global: av_*; ff_*; avcore*; + local: *; +}; diff -r 000000000000 -r a644213e4818 utils.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utils.c Wed Jul 21 18:28:42 2010 +0000 @@ -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; +}