summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-11-04 07:15:40 -0800
committerAnas Nashif <anas.nashif@intel.com>2012-11-04 07:15:40 -0800
commit20e158548a02a6ac87e5e662d790e88882e0e4d9 (patch)
tree9dc5064254d717cb8e242a1b68e4d8d77b04e84d /tests
downloadlibtheora-20e158548a02a6ac87e5e662d790e88882e0e4d9.tar.gz
libtheora-20e158548a02a6ac87e5e662d790e88882e0e4d9.tar.bz2
libtheora-20e158548a02a6ac87e5e662d790e88882e0e4d9.zip
Imported Upstream version 1.1.1upstream/1.1.1upstream
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am69
-rw-r--r--tests/Makefile.in787
-rw-r--r--tests/comment.c91
-rw-r--r--tests/comment_theora.c91
-rw-r--r--tests/granulepos.c149
-rw-r--r--tests/granulepos_theora.c154
-rw-r--r--tests/noop.c119
-rw-r--r--tests/noop_theora.c88
-rw-r--r--tests/tests.h33
9 files changed, 1581 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..7c11232
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,69 @@
+INCLUDES = -I$(top_srcdir)/include
+
+noinst_HEADERS = tests.h
+
+AM_CFLAGS = $(OGG_CFLAGS)
+
+THEORADIR = ../lib
+THEORA_LIBS = $(THEORADIR)/libtheora.la $(OGG_LIBS)
+THEORADEC_LIBS = $(THEORADIR)/libtheoradec.la $(OGG_LIBS)
+THEORAENC_LIBS = $(THEORADIR)/libtheoraenc.la \
+ $(THEORADIR)/libtheoradec.la $(OGG_LIBS)
+test: check
+
+TESTS_ENVIRONMENT = $(VALGRIND_ENVIRONMENT)
+
+TESTS_DEC = noop_theora \
+ comment comment_theoradec comment_theora
+
+TESTS_ENC = noop noop_theoraenc \
+ granulepos granulepos_theoraenc granulepos_theora
+
+if THEORA_DISABLE_ENCODE
+TESTS = $(TESTS_DEC)
+else
+TESTS = $(TESTS_DEC) $(TESTS_ENC)
+endif
+
+check_PROGRAMS = $(TESTS)
+# dummy call tests for the current api
+noop_SOURCES = noop.c
+noop_LDADD = $(THEORAENC_LIBS)
+noop_CFLAGS = $(OGG_CFLAGS)
+
+# dummy call tests for the pre-1.0 legacy api with current link line
+noop_theoraenc_SOURCES = noop_theora.c
+noop_theoraenc_LDADD = $(THEORAENC_LIBS)
+noop_theoraenc_CFLAGS = $(OGG_CFLAGS)
+
+# dummy call tests for the pre-1.0 legacy api with legacy link line
+noop_theora_SOURCES = noop_theora.c
+noop_theora_LDADD = $(THEORA_LIBS)
+noop_theora_CFLAGS = $(OGG_CFLAGS)
+
+# comment utilities for the current api
+comment_SOURCES = comment.c
+comment_LDADD = $(THEORADEC_LIBS)
+comment_CFLAGS = $(OGG_CFLAGS)
+
+# comment utilities for the legacy api and current lib
+comment_theoradec_SOURCES = comment.c
+comment_theoradec_LDADD = $(THEORADEC_LIBS)
+comment_theoradec_CFLAGS = $(OGG_CFLAGS)
+
+# comment utilities for the legacy api and legacy lib
+comment_theora_SOURCES = comment_theora.c
+comment_theora_LDADD = $(THEORA_LIBS)
+comment_theora_CFLAGS = $(OGG_CFLAGS)
+
+granulepos_SOURCES = granulepos.c
+granulepos_LDADD = $(THEORAENC_LIBS) -lm
+granulepos_CFLAGS = $(OGG_CFLAGS)
+
+granulepos_theoraenc_SOURCES = granulepos_theora.c
+granulepos_theoraenc_LDADD = $(THEORAENC_LIBS) -lm
+granulepos_theoraenc_CFLAGS = $(OGG_CFLAGS)
+
+granulepos_theora_SOURCES = granulepos_theora.c
+granulepos_theora_LDADD = $(THEORA_LIBS) -lm
+granulepos_theora_CFLAGS = $(OGG_CFLAGS)
diff --git a/tests/Makefile.in b/tests/Makefile.in
new file mode 100644
index 0000000..dc25a71
--- /dev/null
+++ b/tests/Makefile.in
@@ -0,0 +1,787 @@
+# Makefile.in generated by automake 1.6.3 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = @program_transform_name@
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+
+EXEEXT = @EXEEXT@
+OBJEXT = @OBJEXT@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+AMTAR = @AMTAR@
+AR = @AR@
+ARGZ_H = @ARGZ_H@
+AS = @AS@
+AWK = @AWK@
+BUILDABLE_EXAMPLES = @BUILDABLE_EXAMPLES@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CC = @CC@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+DEBUG = @DEBUG@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+F77 = @F77@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GETOPT_OBJS = @GETOPT_OBJS@
+GREP = @GREP@
+HAVE_BIBTEX = @HAVE_BIBTEX@
+HAVE_DOXYGEN = @HAVE_DOXYGEN@
+HAVE_PDFLATEX = @HAVE_PDFLATEX@
+HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
+HAVE_TRANSFIG = @HAVE_TRANSFIG@
+HAVE_VALGRIND = @HAVE_VALGRIND@
+INCLTDL = @INCLTDL@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LIBADD_DL = @LIBADD_DL@
+LIBADD_DLD_LINK = @LIBADD_DLD_LINK@
+LIBADD_DLOPEN = @LIBADD_DLOPEN@
+LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@
+LIBLTDL = @LIBLTDL@
+LIBM = @LIBM@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTDLDEPS = @LTDLDEPS@
+LTDLINCL = @LTDLINCL@
+LTDLOPEN = @LTDLOPEN@
+LT_CONFIG_H = @LT_CONFIG_H@
+LT_DLLOADERS = @LT_DLLOADERS@
+LT_DLPREOPEN = @LT_DLPREOPEN@
+MAINT = @MAINT@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OGG_CFLAGS = @OGG_CFLAGS@
+OGG_LIBS = @OGG_LIBS@
+OSS_LIBS = @OSS_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PKG_CONFIG = @PKG_CONFIG@
+PNG_CFLAGS = @PNG_CFLAGS@
+PNG_LIBS = @PNG_LIBS@
+PROFILE = @PROFILE@
+RANLIB = @RANLIB@
+RC = @RC@
+SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
+SDL_LIBS = @SDL_LIBS@
+SED = @SED@
+STRIP = @STRIP@
+THDEC_LIB_AGE = @THDEC_LIB_AGE@
+THDEC_LIB_CURRENT = @THDEC_LIB_CURRENT@
+THDEC_LIB_REVISION = @THDEC_LIB_REVISION@
+THENC_LIB_AGE = @THENC_LIB_AGE@
+THENC_LIB_CURRENT = @THENC_LIB_CURRENT@
+THENC_LIB_REVISION = @THENC_LIB_REVISION@
+THEORADEC_LDFLAGS = @THEORADEC_LDFLAGS@
+THEORAENC_LDFLAGS = @THEORAENC_LDFLAGS@
+THEORA_LDFLAGS = @THEORA_LDFLAGS@
+TH_LIB_AGE = @TH_LIB_AGE@
+TH_LIB_CURRENT = @TH_LIB_CURRENT@
+TH_LIB_REVISION = @TH_LIB_REVISION@
+VALGRIND_ENVIRONMENT = @VALGRIND_ENVIRONMENT@
+VERSION = @VERSION@
+VORBISENC_LIBS = @VORBISENC_LIBS@
+VORBISFILE_LIBS = @VORBISFILE_LIBS@
+VORBIS_CFLAGS = @VORBIS_CFLAGS@
+VORBIS_LIBS = @VORBIS_LIBS@
+am__include = @am__include@
+am__quote = @am__quote@
+install_sh = @install_sh@
+lt_ECHO = @lt_ECHO@
+ltdl_LIBOBJS = @ltdl_LIBOBJS@
+ltdl_LTLIBOBJS = @ltdl_LTLIBOBJS@
+sys_symbol_underscore = @sys_symbol_underscore@
+INCLUDES = -I$(top_srcdir)/include
+
+noinst_HEADERS = tests.h
+
+AM_CFLAGS = $(OGG_CFLAGS)
+
+THEORADIR = ../lib
+THEORA_LIBS = $(THEORADIR)/libtheora.la $(OGG_LIBS)
+THEORADEC_LIBS = $(THEORADIR)/libtheoradec.la $(OGG_LIBS)
+THEORAENC_LIBS = $(THEORADIR)/libtheoraenc.la \
+ $(THEORADIR)/libtheoradec.la $(OGG_LIBS)
+
+
+TESTS_ENVIRONMENT = $(VALGRIND_ENVIRONMENT)
+
+TESTS_DEC = noop_theora \
+ comment comment_theoradec comment_theora
+
+
+TESTS_ENC = noop noop_theoraenc \
+ granulepos granulepos_theoraenc granulepos_theora
+
+
+@THEORA_DISABLE_ENCODE_TRUE@TESTS = $(TESTS_DEC)
+@THEORA_DISABLE_ENCODE_FALSE@TESTS = $(TESTS_DEC) $(TESTS_ENC)
+
+check_PROGRAMS = $(TESTS)
+# dummy call tests for the current api
+noop_SOURCES = noop.c
+noop_LDADD = $(THEORAENC_LIBS)
+noop_CFLAGS = $(OGG_CFLAGS)
+
+# dummy call tests for the pre-1.0 legacy api with current link line
+noop_theoraenc_SOURCES = noop_theora.c
+noop_theoraenc_LDADD = $(THEORAENC_LIBS)
+noop_theoraenc_CFLAGS = $(OGG_CFLAGS)
+
+# dummy call tests for the pre-1.0 legacy api with legacy link line
+noop_theora_SOURCES = noop_theora.c
+noop_theora_LDADD = $(THEORA_LIBS)
+noop_theora_CFLAGS = $(OGG_CFLAGS)
+
+# comment utilities for the current api
+comment_SOURCES = comment.c
+comment_LDADD = $(THEORADEC_LIBS)
+comment_CFLAGS = $(OGG_CFLAGS)
+
+# comment utilities for the legacy api and current lib
+comment_theoradec_SOURCES = comment.c
+comment_theoradec_LDADD = $(THEORADEC_LIBS)
+comment_theoradec_CFLAGS = $(OGG_CFLAGS)
+
+# comment utilities for the legacy api and legacy lib
+comment_theora_SOURCES = comment_theora.c
+comment_theora_LDADD = $(THEORA_LIBS)
+comment_theora_CFLAGS = $(OGG_CFLAGS)
+
+granulepos_SOURCES = granulepos.c
+granulepos_LDADD = $(THEORAENC_LIBS) -lm
+granulepos_CFLAGS = $(OGG_CFLAGS)
+
+granulepos_theoraenc_SOURCES = granulepos_theora.c
+granulepos_theoraenc_LDADD = $(THEORAENC_LIBS) -lm
+granulepos_theoraenc_CFLAGS = $(OGG_CFLAGS)
+
+granulepos_theora_SOURCES = granulepos_theora.c
+granulepos_theora_LDADD = $(THEORA_LIBS) -lm
+granulepos_theora_CFLAGS = $(OGG_CFLAGS)
+subdir = tests
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+@THEORA_DISABLE_ENCODE_TRUE@check_PROGRAMS = noop_theora$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_TRUE@ comment$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_TRUE@ comment_theoradec$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_TRUE@ comment_theora$(EXEEXT)
+@THEORA_DISABLE_ENCODE_FALSE@check_PROGRAMS = noop_theora$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ comment$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ comment_theoradec$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ comment_theora$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ noop$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ noop_theoraenc$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ granulepos$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ granulepos_theoraenc$(EXEEXT) \
+@THEORA_DISABLE_ENCODE_FALSE@ granulepos_theora$(EXEEXT)
+am_comment_OBJECTS = comment-comment.$(OBJEXT)
+comment_OBJECTS = $(am_comment_OBJECTS)
+comment_DEPENDENCIES = $(THEORADIR)/libtheoradec.la
+comment_LDFLAGS =
+am_comment_theora_OBJECTS = comment_theora-comment_theora.$(OBJEXT)
+comment_theora_OBJECTS = $(am_comment_theora_OBJECTS)
+comment_theora_DEPENDENCIES = $(THEORADIR)/libtheora.la
+comment_theora_LDFLAGS =
+am_comment_theoradec_OBJECTS = comment_theoradec-comment.$(OBJEXT)
+comment_theoradec_OBJECTS = $(am_comment_theoradec_OBJECTS)
+comment_theoradec_DEPENDENCIES = $(THEORADIR)/libtheoradec.la
+comment_theoradec_LDFLAGS =
+am_granulepos_OBJECTS = granulepos-granulepos.$(OBJEXT)
+granulepos_OBJECTS = $(am_granulepos_OBJECTS)
+granulepos_DEPENDENCIES = $(THEORADIR)/libtheoraenc.la \
+ $(THEORADIR)/libtheoradec.la
+granulepos_LDFLAGS =
+am_granulepos_theora_OBJECTS = \
+ granulepos_theora-granulepos_theora.$(OBJEXT)
+granulepos_theora_OBJECTS = $(am_granulepos_theora_OBJECTS)
+granulepos_theora_DEPENDENCIES = $(THEORADIR)/libtheora.la
+granulepos_theora_LDFLAGS =
+am_granulepos_theoraenc_OBJECTS = \
+ granulepos_theoraenc-granulepos_theora.$(OBJEXT)
+granulepos_theoraenc_OBJECTS = $(am_granulepos_theoraenc_OBJECTS)
+granulepos_theoraenc_DEPENDENCIES = $(THEORADIR)/libtheoraenc.la \
+ $(THEORADIR)/libtheoradec.la
+granulepos_theoraenc_LDFLAGS =
+am_noop_OBJECTS = noop-noop.$(OBJEXT)
+noop_OBJECTS = $(am_noop_OBJECTS)
+noop_DEPENDENCIES = $(THEORADIR)/libtheoraenc.la \
+ $(THEORADIR)/libtheoradec.la
+noop_LDFLAGS =
+am_noop_theora_OBJECTS = noop_theora-noop_theora.$(OBJEXT)
+noop_theora_OBJECTS = $(am_noop_theora_OBJECTS)
+noop_theora_DEPENDENCIES = $(THEORADIR)/libtheora.la
+noop_theora_LDFLAGS =
+am_noop_theoraenc_OBJECTS = noop_theoraenc-noop_theora.$(OBJEXT)
+noop_theoraenc_OBJECTS = $(am_noop_theoraenc_OBJECTS)
+noop_theoraenc_DEPENDENCIES = $(THEORADIR)/libtheoraenc.la \
+ $(THEORADIR)/libtheoradec.la
+noop_theoraenc_LDFLAGS =
+
+DEFS = @DEFS@
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/comment-comment.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/comment_theora-comment_theora.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/comment_theoradec-comment.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/granulepos-granulepos.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/granulepos_theora-granulepos_theora.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/granulepos_theoraenc-granulepos_theora.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/noop-noop.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/noop_theora-noop_theora.Po \
+@AMDEP_TRUE@ ./$(DEPDIR)/noop_theoraenc-noop_theora.Po
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CFLAGS = @CFLAGS@
+DIST_SOURCES = $(comment_SOURCES) $(comment_theora_SOURCES) \
+ $(comment_theoradec_SOURCES) $(granulepos_SOURCES) \
+ $(granulepos_theora_SOURCES) $(granulepos_theoraenc_SOURCES) \
+ $(noop_SOURCES) $(noop_theora_SOURCES) \
+ $(noop_theoraenc_SOURCES)
+HEADERS = $(noinst_HEADERS)
+
+DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in
+SOURCES = $(comment_SOURCES) $(comment_theora_SOURCES) $(comment_theoradec_SOURCES) $(granulepos_SOURCES) $(granulepos_theora_SOURCES) $(granulepos_theoraenc_SOURCES) $(noop_SOURCES) $(noop_theora_SOURCES) $(noop_theoraenc_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu tests/Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+comment-comment.$(OBJEXT): comment.c
+comment$(EXEEXT): $(comment_OBJECTS) $(comment_DEPENDENCIES)
+ @rm -f comment$(EXEEXT)
+ $(LINK) $(comment_LDFLAGS) $(comment_OBJECTS) $(comment_LDADD) $(LIBS)
+comment_theora-comment_theora.$(OBJEXT): comment_theora.c
+comment_theora$(EXEEXT): $(comment_theora_OBJECTS) $(comment_theora_DEPENDENCIES)
+ @rm -f comment_theora$(EXEEXT)
+ $(LINK) $(comment_theora_LDFLAGS) $(comment_theora_OBJECTS) $(comment_theora_LDADD) $(LIBS)
+comment_theoradec-comment.$(OBJEXT): comment.c
+comment_theoradec$(EXEEXT): $(comment_theoradec_OBJECTS) $(comment_theoradec_DEPENDENCIES)
+ @rm -f comment_theoradec$(EXEEXT)
+ $(LINK) $(comment_theoradec_LDFLAGS) $(comment_theoradec_OBJECTS) $(comment_theoradec_LDADD) $(LIBS)
+granulepos-granulepos.$(OBJEXT): granulepos.c
+granulepos$(EXEEXT): $(granulepos_OBJECTS) $(granulepos_DEPENDENCIES)
+ @rm -f granulepos$(EXEEXT)
+ $(LINK) $(granulepos_LDFLAGS) $(granulepos_OBJECTS) $(granulepos_LDADD) $(LIBS)
+granulepos_theora-granulepos_theora.$(OBJEXT): granulepos_theora.c
+granulepos_theora$(EXEEXT): $(granulepos_theora_OBJECTS) $(granulepos_theora_DEPENDENCIES)
+ @rm -f granulepos_theora$(EXEEXT)
+ $(LINK) $(granulepos_theora_LDFLAGS) $(granulepos_theora_OBJECTS) $(granulepos_theora_LDADD) $(LIBS)
+granulepos_theoraenc-granulepos_theora.$(OBJEXT): granulepos_theora.c
+granulepos_theoraenc$(EXEEXT): $(granulepos_theoraenc_OBJECTS) $(granulepos_theoraenc_DEPENDENCIES)
+ @rm -f granulepos_theoraenc$(EXEEXT)
+ $(LINK) $(granulepos_theoraenc_LDFLAGS) $(granulepos_theoraenc_OBJECTS) $(granulepos_theoraenc_LDADD) $(LIBS)
+noop-noop.$(OBJEXT): noop.c
+noop$(EXEEXT): $(noop_OBJECTS) $(noop_DEPENDENCIES)
+ @rm -f noop$(EXEEXT)
+ $(LINK) $(noop_LDFLAGS) $(noop_OBJECTS) $(noop_LDADD) $(LIBS)
+noop_theora-noop_theora.$(OBJEXT): noop_theora.c
+noop_theora$(EXEEXT): $(noop_theora_OBJECTS) $(noop_theora_DEPENDENCIES)
+ @rm -f noop_theora$(EXEEXT)
+ $(LINK) $(noop_theora_LDFLAGS) $(noop_theora_OBJECTS) $(noop_theora_LDADD) $(LIBS)
+noop_theoraenc-noop_theora.$(OBJEXT): noop_theora.c
+noop_theoraenc$(EXEEXT): $(noop_theoraenc_OBJECTS) $(noop_theoraenc_DEPENDENCIES)
+ @rm -f noop_theoraenc$(EXEEXT)
+ $(LINK) $(noop_theoraenc_LDFLAGS) $(noop_theoraenc_OBJECTS) $(noop_theoraenc_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comment-comment.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comment_theora-comment_theora.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comment_theoradec-comment.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/granulepos-granulepos.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/granulepos_theora-granulepos_theora.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/granulepos_theoraenc-granulepos_theora.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/noop-noop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/noop_theora-noop_theora.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/noop_theoraenc-noop_theora.Po@am__quote@
+
+distclean-depend:
+ -rm -rf ./$(DEPDIR)
+
+.c.o:
+@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
+
+.c.obj:
+@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(COMPILE) -c `cygpath -w $<`
+
+.c.lo:
+@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+comment-comment.o: comment.c
+@AMDEP_TRUE@ source='comment.c' object='comment-comment.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment-comment.Po' tmpdepfile='$(DEPDIR)/comment-comment.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_CFLAGS) $(CFLAGS) -c -o comment-comment.o `test -f 'comment.c' || echo '$(srcdir)/'`comment.c
+
+comment-comment.obj: comment.c
+@AMDEP_TRUE@ source='comment.c' object='comment-comment.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment-comment.Po' tmpdepfile='$(DEPDIR)/comment-comment.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_CFLAGS) $(CFLAGS) -c -o comment-comment.obj `cygpath -w comment.c`
+
+comment-comment.lo: comment.c
+@AMDEP_TRUE@ source='comment.c' object='comment-comment.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment-comment.Plo' tmpdepfile='$(DEPDIR)/comment-comment.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_CFLAGS) $(CFLAGS) -c -o comment-comment.lo `test -f 'comment.c' || echo '$(srcdir)/'`comment.c
+
+comment_theora-comment_theora.o: comment_theora.c
+@AMDEP_TRUE@ source='comment_theora.c' object='comment_theora-comment_theora.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment_theora-comment_theora.Po' tmpdepfile='$(DEPDIR)/comment_theora-comment_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_theora_CFLAGS) $(CFLAGS) -c -o comment_theora-comment_theora.o `test -f 'comment_theora.c' || echo '$(srcdir)/'`comment_theora.c
+
+comment_theora-comment_theora.obj: comment_theora.c
+@AMDEP_TRUE@ source='comment_theora.c' object='comment_theora-comment_theora.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment_theora-comment_theora.Po' tmpdepfile='$(DEPDIR)/comment_theora-comment_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_theora_CFLAGS) $(CFLAGS) -c -o comment_theora-comment_theora.obj `cygpath -w comment_theora.c`
+
+comment_theora-comment_theora.lo: comment_theora.c
+@AMDEP_TRUE@ source='comment_theora.c' object='comment_theora-comment_theora.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment_theora-comment_theora.Plo' tmpdepfile='$(DEPDIR)/comment_theora-comment_theora.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_theora_CFLAGS) $(CFLAGS) -c -o comment_theora-comment_theora.lo `test -f 'comment_theora.c' || echo '$(srcdir)/'`comment_theora.c
+
+comment_theoradec-comment.o: comment.c
+@AMDEP_TRUE@ source='comment.c' object='comment_theoradec-comment.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment_theoradec-comment.Po' tmpdepfile='$(DEPDIR)/comment_theoradec-comment.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_theoradec_CFLAGS) $(CFLAGS) -c -o comment_theoradec-comment.o `test -f 'comment.c' || echo '$(srcdir)/'`comment.c
+
+comment_theoradec-comment.obj: comment.c
+@AMDEP_TRUE@ source='comment.c' object='comment_theoradec-comment.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment_theoradec-comment.Po' tmpdepfile='$(DEPDIR)/comment_theoradec-comment.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_theoradec_CFLAGS) $(CFLAGS) -c -o comment_theoradec-comment.obj `cygpath -w comment.c`
+
+comment_theoradec-comment.lo: comment.c
+@AMDEP_TRUE@ source='comment.c' object='comment_theoradec-comment.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/comment_theoradec-comment.Plo' tmpdepfile='$(DEPDIR)/comment_theoradec-comment.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(comment_theoradec_CFLAGS) $(CFLAGS) -c -o comment_theoradec-comment.lo `test -f 'comment.c' || echo '$(srcdir)/'`comment.c
+
+granulepos-granulepos.o: granulepos.c
+@AMDEP_TRUE@ source='granulepos.c' object='granulepos-granulepos.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos-granulepos.Po' tmpdepfile='$(DEPDIR)/granulepos-granulepos.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_CFLAGS) $(CFLAGS) -c -o granulepos-granulepos.o `test -f 'granulepos.c' || echo '$(srcdir)/'`granulepos.c
+
+granulepos-granulepos.obj: granulepos.c
+@AMDEP_TRUE@ source='granulepos.c' object='granulepos-granulepos.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos-granulepos.Po' tmpdepfile='$(DEPDIR)/granulepos-granulepos.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_CFLAGS) $(CFLAGS) -c -o granulepos-granulepos.obj `cygpath -w granulepos.c`
+
+granulepos-granulepos.lo: granulepos.c
+@AMDEP_TRUE@ source='granulepos.c' object='granulepos-granulepos.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos-granulepos.Plo' tmpdepfile='$(DEPDIR)/granulepos-granulepos.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_CFLAGS) $(CFLAGS) -c -o granulepos-granulepos.lo `test -f 'granulepos.c' || echo '$(srcdir)/'`granulepos.c
+
+granulepos_theora-granulepos_theora.o: granulepos_theora.c
+@AMDEP_TRUE@ source='granulepos_theora.c' object='granulepos_theora-granulepos_theora.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos_theora-granulepos_theora.Po' tmpdepfile='$(DEPDIR)/granulepos_theora-granulepos_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_theora_CFLAGS) $(CFLAGS) -c -o granulepos_theora-granulepos_theora.o `test -f 'granulepos_theora.c' || echo '$(srcdir)/'`granulepos_theora.c
+
+granulepos_theora-granulepos_theora.obj: granulepos_theora.c
+@AMDEP_TRUE@ source='granulepos_theora.c' object='granulepos_theora-granulepos_theora.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos_theora-granulepos_theora.Po' tmpdepfile='$(DEPDIR)/granulepos_theora-granulepos_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_theora_CFLAGS) $(CFLAGS) -c -o granulepos_theora-granulepos_theora.obj `cygpath -w granulepos_theora.c`
+
+granulepos_theora-granulepos_theora.lo: granulepos_theora.c
+@AMDEP_TRUE@ source='granulepos_theora.c' object='granulepos_theora-granulepos_theora.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos_theora-granulepos_theora.Plo' tmpdepfile='$(DEPDIR)/granulepos_theora-granulepos_theora.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_theora_CFLAGS) $(CFLAGS) -c -o granulepos_theora-granulepos_theora.lo `test -f 'granulepos_theora.c' || echo '$(srcdir)/'`granulepos_theora.c
+
+granulepos_theoraenc-granulepos_theora.o: granulepos_theora.c
+@AMDEP_TRUE@ source='granulepos_theora.c' object='granulepos_theoraenc-granulepos_theora.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos_theoraenc-granulepos_theora.Po' tmpdepfile='$(DEPDIR)/granulepos_theoraenc-granulepos_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_theoraenc_CFLAGS) $(CFLAGS) -c -o granulepos_theoraenc-granulepos_theora.o `test -f 'granulepos_theora.c' || echo '$(srcdir)/'`granulepos_theora.c
+
+granulepos_theoraenc-granulepos_theora.obj: granulepos_theora.c
+@AMDEP_TRUE@ source='granulepos_theora.c' object='granulepos_theoraenc-granulepos_theora.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos_theoraenc-granulepos_theora.Po' tmpdepfile='$(DEPDIR)/granulepos_theoraenc-granulepos_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_theoraenc_CFLAGS) $(CFLAGS) -c -o granulepos_theoraenc-granulepos_theora.obj `cygpath -w granulepos_theora.c`
+
+granulepos_theoraenc-granulepos_theora.lo: granulepos_theora.c
+@AMDEP_TRUE@ source='granulepos_theora.c' object='granulepos_theoraenc-granulepos_theora.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/granulepos_theoraenc-granulepos_theora.Plo' tmpdepfile='$(DEPDIR)/granulepos_theoraenc-granulepos_theora.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(granulepos_theoraenc_CFLAGS) $(CFLAGS) -c -o granulepos_theoraenc-granulepos_theora.lo `test -f 'granulepos_theora.c' || echo '$(srcdir)/'`granulepos_theora.c
+
+noop-noop.o: noop.c
+@AMDEP_TRUE@ source='noop.c' object='noop-noop.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop-noop.Po' tmpdepfile='$(DEPDIR)/noop-noop.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_CFLAGS) $(CFLAGS) -c -o noop-noop.o `test -f 'noop.c' || echo '$(srcdir)/'`noop.c
+
+noop-noop.obj: noop.c
+@AMDEP_TRUE@ source='noop.c' object='noop-noop.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop-noop.Po' tmpdepfile='$(DEPDIR)/noop-noop.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_CFLAGS) $(CFLAGS) -c -o noop-noop.obj `cygpath -w noop.c`
+
+noop-noop.lo: noop.c
+@AMDEP_TRUE@ source='noop.c' object='noop-noop.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop-noop.Plo' tmpdepfile='$(DEPDIR)/noop-noop.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_CFLAGS) $(CFLAGS) -c -o noop-noop.lo `test -f 'noop.c' || echo '$(srcdir)/'`noop.c
+
+noop_theora-noop_theora.o: noop_theora.c
+@AMDEP_TRUE@ source='noop_theora.c' object='noop_theora-noop_theora.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop_theora-noop_theora.Po' tmpdepfile='$(DEPDIR)/noop_theora-noop_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_theora_CFLAGS) $(CFLAGS) -c -o noop_theora-noop_theora.o `test -f 'noop_theora.c' || echo '$(srcdir)/'`noop_theora.c
+
+noop_theora-noop_theora.obj: noop_theora.c
+@AMDEP_TRUE@ source='noop_theora.c' object='noop_theora-noop_theora.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop_theora-noop_theora.Po' tmpdepfile='$(DEPDIR)/noop_theora-noop_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_theora_CFLAGS) $(CFLAGS) -c -o noop_theora-noop_theora.obj `cygpath -w noop_theora.c`
+
+noop_theora-noop_theora.lo: noop_theora.c
+@AMDEP_TRUE@ source='noop_theora.c' object='noop_theora-noop_theora.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop_theora-noop_theora.Plo' tmpdepfile='$(DEPDIR)/noop_theora-noop_theora.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_theora_CFLAGS) $(CFLAGS) -c -o noop_theora-noop_theora.lo `test -f 'noop_theora.c' || echo '$(srcdir)/'`noop_theora.c
+
+noop_theoraenc-noop_theora.o: noop_theora.c
+@AMDEP_TRUE@ source='noop_theora.c' object='noop_theoraenc-noop_theora.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop_theoraenc-noop_theora.Po' tmpdepfile='$(DEPDIR)/noop_theoraenc-noop_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_theoraenc_CFLAGS) $(CFLAGS) -c -o noop_theoraenc-noop_theora.o `test -f 'noop_theora.c' || echo '$(srcdir)/'`noop_theora.c
+
+noop_theoraenc-noop_theora.obj: noop_theora.c
+@AMDEP_TRUE@ source='noop_theora.c' object='noop_theoraenc-noop_theora.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop_theoraenc-noop_theora.Po' tmpdepfile='$(DEPDIR)/noop_theoraenc-noop_theora.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_theoraenc_CFLAGS) $(CFLAGS) -c -o noop_theoraenc-noop_theora.obj `cygpath -w noop_theora.c`
+
+noop_theoraenc-noop_theora.lo: noop_theora.c
+@AMDEP_TRUE@ source='noop_theora.c' object='noop_theoraenc-noop_theora.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@ depfile='$(DEPDIR)/noop_theoraenc-noop_theora.Plo' tmpdepfile='$(DEPDIR)/noop_theoraenc-noop_theora.TPlo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(noop_theoraenc_CFLAGS) $(CFLAGS) -c -o noop_theoraenc-noop_theora.lo `test -f 'noop_theora.c' || echo '$(srcdir)/'`noop_theora.c
+CCDEPMODE = @CCDEPMODE@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list='$(TESTS)'; \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *" $$tst "*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ echo "XPASS: $$tst"; \
+ ;; \
+ *) \
+ echo "PASS: $$tst"; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *" $$tst "*) \
+ xfail=`expr $$xfail + 1`; \
+ echo "XFAIL: $$tst"; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ echo "FAIL: $$tst"; \
+ ;; \
+ esac; \
+ fi; \
+ done; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="All $$all tests passed"; \
+ else \
+ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all tests failed"; \
+ else \
+ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ fi; \
+ fi; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+ @list='$(DISTFILES)'; for file in $$list; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkinstalldirs) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(HEADERS)
+
+installdirs:
+
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+ distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+uninstall-am: uninstall-info-am
+
+.PHONY: GTAGS all all-am check check-TESTS check-am clean \
+ clean-checkPROGRAMS clean-generic clean-libtool distclean \
+ distclean-compile distclean-depend distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am info \
+ info-am install install-am install-data install-data-am \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool tags uninstall uninstall-am \
+ uninstall-info-am
+
+test: check
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/comment.c b/tests/comment.c
new file mode 100644
index 0000000..d972e68
--- /dev/null
+++ b/tests/comment.c
@@ -0,0 +1,91 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: routines for validating comment header code
+ last mod: $Id: comment.c 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include <theora/theoradec.h>
+
+#include <string.h>
+#include "tests.h"
+
+#define ARTIST1 "Bug-eyed Fish"
+#define ARTIST2 "VJ Fugu"
+#define COPYRIGHT "Copyright (C) 2005. Some Rights Reserved."
+#define LICENSE "Creative Commons Attribution-ShareAlike 2.5"
+
+static int
+test_comments ()
+{
+ th_comment tc;
+ int n;
+ char * value;
+
+ INFO ("+ Initializing th_comment");
+ th_comment_init (&tc);
+
+ INFO ("+ Adding ARTIST1");
+ th_comment_add (&tc, "ARTIST=" ARTIST1);
+
+ INFO ("+ Adding LICENSE by tag");
+ th_comment_add_tag (&tc, "LICENSE", LICENSE);
+
+ INFO ("+ Adding ARTIST2 by tag");
+ th_comment_add_tag (&tc, "ARTIST", ARTIST2);
+
+ INFO ("+ Querying value of LICENSE");
+ value = th_comment_query (&tc, "LICENSE", 0);
+ printf("foo %s\n", value);
+
+ if (strcmp (value, LICENSE))
+ FAIL ("Incorrect value for LICENSE");
+
+ INFO ("+ Querying count of ARTIST comments");
+ n = th_comment_query_count (&tc, "ARTIST");
+
+ if (n != 2)
+ FAIL ("Incorrect count of ARTIST comments");
+
+ INFO ("+ Querying value of ARTIST index 0");
+ value = th_comment_query (&tc, "ARTIST", 0);
+ if (strcmp (value, ARTIST1))
+ FAIL ("Incorrect value for ARTIST index 0");
+
+ INFO ("+ Querying value of ARTIST index 1");
+ value = th_comment_query (&tc, "ARTIST", 1);
+ if (strcmp (value, ARTIST2))
+ FAIL ("Incorrect value for ARTIST index 1");
+
+ INFO ("+ Querying value of ARTIST index 2 (out of bounds)");
+ value = th_comment_query (&tc, "ARTIST", 2);
+ if (value != NULL)
+ FAIL ("Non-NULL value for ARTIST index 2 (out of bounds)");
+
+ INFO ("+ Querying value of UNDEF index 7 (tag not defined)");
+ value = th_comment_query (&tc, "UNDEF", 7);
+ if (value != NULL)
+ FAIL ("Non-NULL value for UNDEF index 7 (tag not defined)");
+
+ INFO ("+ Clearing th_comment");
+ th_comment_clear (&tc);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ test_comments ();
+
+ exit (0);
+}
diff --git a/tests/comment_theora.c b/tests/comment_theora.c
new file mode 100644
index 0000000..e101cd1
--- /dev/null
+++ b/tests/comment_theora.c
@@ -0,0 +1,91 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: routines for validating comment header code
+ last mod: $Id: comment_theora.c 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include <theora/theora.h>
+
+#include <string.h>
+#include "tests.h"
+
+#define ARTIST1 "Bug-eyed Fish"
+#define ARTIST2 "VJ Fugu"
+#define COPYRIGHT "Copyright (C) 2005. Some Rights Reserved."
+#define LICENSE "Creative Commons Attribution-ShareAlike 2.5"
+
+static int
+test_comments ()
+{
+ theora_comment tc;
+ int n;
+ char * value;
+
+ INFO ("+ Initializing theora_comment");
+ theora_comment_init (&tc);
+
+ INFO ("+ Adding ARTIST1");
+ theora_comment_add (&tc, "ARTIST=" ARTIST1);
+
+ INFO ("+ Adding LICENSE by tag");
+ theora_comment_add_tag (&tc, "LICENSE", LICENSE);
+
+ INFO ("+ Adding ARTIST2 by tag");
+ theora_comment_add_tag (&tc, "ARTIST", ARTIST2);
+
+ INFO ("+ Querying value of LICENSE");
+ value = theora_comment_query (&tc, "LICENSE", 0);
+ printf("foo %s\n", value);
+
+ if (strcmp (value, LICENSE))
+ FAIL ("Incorrect value for LICENSE");
+
+ INFO ("+ Querying count of ARTIST comments");
+ n = theora_comment_query_count (&tc, "ARTIST");
+
+ if (n != 2)
+ FAIL ("Incorrect count of ARTIST comments");
+
+ INFO ("+ Querying value of ARTIST index 0");
+ value = theora_comment_query (&tc, "ARTIST", 0);
+ if (strcmp (value, ARTIST1))
+ FAIL ("Incorrect value for ARTIST index 0");
+
+ INFO ("+ Querying value of ARTIST index 1");
+ value = theora_comment_query (&tc, "ARTIST", 1);
+ if (strcmp (value, ARTIST2))
+ FAIL ("Incorrect value for ARTIST index 1");
+
+ INFO ("+ Querying value of ARTIST index 2 (out of bounds)");
+ value = theora_comment_query (&tc, "ARTIST", 2);
+ if (value != NULL)
+ FAIL ("Non-NULL value for ARTIST index 2 (out of bounds)");
+
+ INFO ("+ Querying value of UNDEF index 7 (tag not defined)");
+ value = theora_comment_query (&tc, "UNDEF", 7);
+ if (value != NULL)
+ FAIL ("Non-NULL value for UNDEF index 7 (tag not defined)");
+
+ INFO ("+ Clearing theora_comment");
+ theora_comment_clear (&tc);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ test_comments ();
+
+ exit (0);
+}
diff --git a/tests/granulepos.c b/tests/granulepos.c
new file mode 100644
index 0000000..a81dea8
--- /dev/null
+++ b/tests/granulepos.c
@@ -0,0 +1,149 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: routines for validating encoder granulepos generation
+ last mod: $Id: granulepos.c 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include <stdlib.h>
+#include <theora/theoraenc.h>
+#include <math.h>
+
+#include "tests.h"
+
+static int ilog(unsigned int v){
+ int ret=0;
+ while(v){
+ ret++;
+ v>>=1;
+ }
+ return(ret);
+}
+
+static int
+granulepos_test_encode (int frequency)
+{
+ th_info ti;
+ th_enc_ctx *te;
+ int result;
+ int frame, tframe, keyframe, keydist;
+ int shift;
+ double rate, ttime;
+ th_ycbcr_buffer yuv;
+ unsigned char *framedata;
+ ogg_packet op;
+ long long int last_granule = -1;
+
+/* INFO ("+ Initializing th_info struct"); */
+ th_info_init (&ti);
+
+ ti.frame_width = 32;
+ ti.frame_height = 32;
+ ti.pic_width = ti.frame_width;
+ ti.pic_height = ti.frame_height;
+ ti.pic_x = 0;
+ ti.pic_y = 0;
+ ti.fps_numerator = 16;
+ ti.fps_denominator = 1;
+ ti.aspect_numerator = 1;
+ ti.aspect_denominator = 1;
+ ti.colorspace = TH_CS_UNSPECIFIED;
+ ti.pixel_fmt = TH_PF_420;
+ ti.quality = 16;
+ ti.keyframe_granule_shift=ilog(frequency);
+
+/* INFO ("+ Allocating encoder context"); */
+ te = th_encode_alloc(&ti);
+ if (te == NULL) {
+ INFO ("+ Clearing th_info");
+ th_info_clear(&ti);
+ FAIL ("negative return code initializing encoder");
+ }
+
+/* INFO ("+ Setting up dummy 4:2:0 frame data"); */
+ framedata = calloc(ti.frame_height, ti.frame_width);
+ yuv[0].width = ti.frame_width;
+ yuv[0].height = ti.frame_height;
+ yuv[0].stride = ti.frame_width;
+ yuv[0].data = framedata;
+ yuv[1].width = ti.frame_width / 2;
+ yuv[1].height = ti.frame_width / 2;
+ yuv[1].stride = ti.frame_width;
+ yuv[1].data = framedata;
+ yuv[2].width = ti.frame_width / 2;
+ yuv[2].height = ti.frame_width / 2;
+ yuv[2].stride = ti.frame_width;
+ yuv[2].data = framedata;
+
+ INFO ("+ Checking granulepos generation");
+ shift = ti.keyframe_granule_shift;
+ rate = (double)ti.fps_denominator/ti.fps_numerator;
+ for (frame = 0; frame < frequency * 2 + 1; frame++) {
+ result = th_encode_ycbcr_in (te, yuv);
+ if (result < 0) {
+ printf("th_encode_ycbcr_in() returned %d\n", result);
+ FAIL ("negative error code submitting frame for compression");
+ }
+ result = th_encode_packetout (te, frame >= frequency * 2, &op);
+ if (result <= 0) {
+ printf("th_encode_packetout() returned %d\n", result);
+ FAIL("failed to retrieve compressed frame");
+ }
+ if ((long long int)op.granulepos < last_granule)
+ FAIL ("encoder returned a decreasing granulepos value");
+ last_granule = op.granulepos;
+ keyframe = op.granulepos >> shift;
+ keydist = op.granulepos - (keyframe << shift);
+ tframe = th_granule_frame (te, op.granulepos);
+ ttime = th_granule_time(te, op.granulepos);
+#if DEBUG
+ printf("++ frame %d granulepos %lld %d:%d %d %.3lfs\n",
+ frame, (long long int)op.granulepos, keyframe, keydist,
+ tframe, th_granule_time (te, op.granulepos));
+#endif
+ /* granulepos stores the frame count */
+ if ((keyframe + keydist) != frame + 1)
+ FAIL ("encoder granulepos does not map to the correct frame number");
+ /* th_granule_frame() returns the frame index */
+ if (tframe != frame)
+ FAIL ("th_granule_frame() returned incorrect results");
+ /* th_granule_time() returns the end time */
+ if (fabs(rate*(frame+1) - ttime) > 1.0e-6)
+ FAIL ("th_granule_time() returned incorrect results");
+ }
+
+ /* clean up */
+/* INFO ("+ Freeing dummy frame data"); */
+ free(framedata);
+
+/* INFO ("+ Clearing th_info struct"); */
+ th_info_clear(&ti);
+
+/* INFO ("+ Freeing encoder context"); */
+ th_encode_free(te);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+
+ granulepos_test_encode (1);
+ granulepos_test_encode (2);
+ granulepos_test_encode (3);
+ granulepos_test_encode (4);
+ granulepos_test_encode (8);
+ granulepos_test_encode (64);
+
+ exit (0);
+}
diff --git a/tests/granulepos_theora.c b/tests/granulepos_theora.c
new file mode 100644
index 0000000..9ab7f8b
--- /dev/null
+++ b/tests/granulepos_theora.c
@@ -0,0 +1,154 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: routines for validating encoder granulepos generation
+ last mod: $Id: granulepos_theora.c 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include <stdlib.h>
+#include <theora/theora.h>
+#include <math.h>
+
+#include "tests.h"
+
+static int ilog(unsigned int v){
+ int ret=0;
+ while(v){
+ ret++;
+ v>>=1;
+ }
+ return(ret);
+}
+
+static int
+granulepos_test_encode (int frequency, int auto_p)
+{
+ theora_info ti;
+ theora_state th;
+ int result;
+ int frame, tframe, keyframe, keydist;
+ int shift;
+ double rate, ttime;
+ yuv_buffer yuv;
+ unsigned char *framedata;
+ ogg_packet op;
+ long long int last_granule = -1;
+
+/* INFO ("+ Initializing theora_info struct"); */
+ theora_info_init (&ti);
+
+ ti.width = 32;
+ ti.height = 32;
+ ti.frame_width = ti.width;
+ ti.frame_height = ti.frame_height;
+ ti.offset_x = 0;
+ ti.offset_y = 0;
+ ti.fps_numerator = 16;
+ ti.fps_denominator = 1;
+ ti.aspect_numerator = 1;
+ ti.aspect_denominator = 1;
+ ti.colorspace = OC_CS_UNSPECIFIED;
+ ti.pixelformat = OC_PF_420;
+ ti.target_bitrate = 0;
+ ti.quality = 16;
+
+ ti.dropframes_p = 0;
+ ti.quick_p = 1;
+
+ /* check variations of automatic or forced keyframe choice */
+ ti.keyframe_auto_p = auto_p;
+ /* check with variations of the maximum gap */
+ ti.keyframe_frequency = frequency;
+ ti.keyframe_frequency_force = frequency;
+
+ ti.keyframe_data_target_bitrate = ti.target_bitrate * 1.5;
+ ti.keyframe_auto_threshold = 80;
+ ti.keyframe_mindistance = MIN(8, frequency);
+ ti.noise_sensitivity = 1;
+
+/* INFO ("+ Initializing theora_state for encoding"); */
+ result = theora_encode_init (&th, &ti);
+ if (result == OC_DISABLED) {
+ INFO ("+ Clearing theora_state");
+ theora_clear (&th);
+ } else if (result < 0) {
+ FAIL ("negative return code initializing encoder");
+ }
+
+/* INFO ("+ Setting up dummy 4:2:0 frame data"); */
+ framedata = calloc(ti.height, ti.width);
+ yuv.y_width = ti.width;
+ yuv.y_height = ti.height;
+ yuv.y_stride = ti.width;
+ yuv.y = framedata;
+ yuv.uv_width = ti.width / 2;
+ yuv.uv_height = ti.width / 2;
+ yuv.uv_stride = ti.width;
+ yuv.u = framedata;
+ yuv.v = framedata;
+
+ INFO ("+ Checking granulepos generation");
+ shift = theora_granule_shift(&ti);
+ rate = (double)ti.fps_denominator/ti.fps_numerator;
+ for (frame = 0; frame < frequency * 2 + 1; frame++) {
+ result = theora_encode_YUVin (&th, &yuv);
+ if (result < 0) {
+ printf("theora_encode_YUVin() returned %d\n", result);
+ FAIL ("negative error code submitting frame for compression");
+ }
+ theora_encode_packetout (&th, frame >= frequency * 2, &op);
+ if ((long long int)op.granulepos < last_granule)
+ FAIL ("encoder returned a decreasing granulepos value");
+ last_granule = op.granulepos;
+ keyframe = op.granulepos >> shift;
+ keydist = op.granulepos - (keyframe << shift);
+ tframe = theora_granule_frame (&th, op.granulepos);
+ ttime = theora_granule_time(&th, op.granulepos);
+#if DEBUG
+ printf("++ frame %d granulepos %lld %d:%d %d %.3lfs\n",
+ frame, (long long int)op.granulepos, keyframe, keydist,
+ tframe, theora_granule_time (&th, op.granulepos));
+#endif
+ if ((keyframe + keydist) != frame + 1)
+ FAIL ("encoder granulepos does not map to the correct frame number");
+ if (tframe != frame)
+ FAIL ("theora_granule_frame returned incorrect results");
+ if (fabs(rate*(frame+1) - ttime) > 1.0e-6)
+ FAIL ("theora_granule_time returned incorrect results");
+ }
+
+ /* clean up */
+/* INFO ("+ Freeing dummy frame data"); */
+ free (framedata);
+
+/* INFO ("+ Clearing theora_info struct"); */
+ theora_info_clear (&ti);
+
+/* INFO ("+ Clearing theora_state"); */
+ theora_clear (&th);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+
+ granulepos_test_encode (1, 1);
+ granulepos_test_encode (2, 1);
+ granulepos_test_encode (3, 1);
+ granulepos_test_encode (4, 1);
+ granulepos_test_encode (8, 1);
+ granulepos_test_encode (64, 1);
+
+ exit (0);
+}
diff --git a/tests/noop.c b/tests/noop.c
new file mode 100644
index 0000000..8c1ba2f
--- /dev/null
+++ b/tests/noop.c
@@ -0,0 +1,119 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: routines for validating codec initialization
+ last mod: $Id: noop.c 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include <theora/theoraenc.h>
+#include <theora/theoradec.h>
+
+#include "tests.h"
+
+static int
+noop_test_info ()
+{
+ th_info ti;
+
+ INFO ("+ Initializing th_info struct");
+ th_info_init (&ti);
+
+ INFO ("+ Clearing empty th_info struct");
+ th_info_clear (&ti);
+
+ return 0;
+}
+
+static int
+noop_test_comments ()
+{
+ th_comment tc;
+
+ INFO ("+ Initializing th_comment struct");
+ th_comment_init (&tc);
+
+ INFO ("+ Clearing empty th_comment struct")
+ th_comment_clear (&tc);
+
+ return 0;
+}
+
+static int
+noop_test_encode ()
+{
+ th_info ti;
+ th_enc_ctx *te;
+
+ INFO ("+ Initializing th_info struct");
+ th_info_init (&ti);
+
+ INFO ("+ Testing encoder context with empty th_info");
+ te = th_encode_alloc(&ti);
+ if (te != NULL)
+ FAIL("td_encode_alloc accepted an unconfigured th_info");
+
+ INFO ("+ Setting 16x16 image size");
+ ti.frame_width = 16;
+ ti.frame_height = 16;
+
+ INFO ("+ Allocating encoder context");
+ te = th_encode_alloc(&ti);
+ if (te == NULL)
+ FAIL("td_encode_alloc returned a null pointer");
+
+ INFO ("+ Clearing th_info struct");
+ th_info_clear (&ti);
+
+ INFO ("+ Freeing encoder context");
+ th_encode_free(te);
+
+ return 0;
+}
+
+static int
+noop_test_decode ()
+{
+ th_info ti;
+ th_dec_ctx *td;
+
+ INFO ("+ Testing decoder context with null info and setup");
+ td = th_decode_alloc(NULL, NULL);
+ if (td != NULL)
+ FAIL("td_decode_alloc accepted null info pointers");
+
+ INFO ("+ Initializing th_info struct");
+ th_info_init (&ti);
+
+ INFO ("+ Testing decoder context with empty info and null setup");
+ td = th_decode_alloc(&ti, NULL);
+ if (td != NULL)
+ FAIL("td_decode_alloc accepted null info pointers");
+
+ INFO ("+ Clearing th_info struct");
+ th_info_clear (&ti);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ noop_test_info ();
+
+ noop_test_comments ();
+
+ noop_test_encode ();
+
+ noop_test_decode ();
+
+ exit (0);
+}
diff --git a/tests/noop_theora.c b/tests/noop_theora.c
new file mode 100644
index 0000000..5069874
--- /dev/null
+++ b/tests/noop_theora.c
@@ -0,0 +1,88 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: routines for validating codec initialization
+ last mod: $Id: noop_theora.c 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include <theora/theora.h>
+
+#include "tests.h"
+
+static int
+noop_test_encode ()
+{
+ theora_info ti;
+ theora_state th;
+
+ INFO ("+ Initializing theora_info struct");
+ theora_info_init (&ti);
+
+ INFO ("+ Setting a 16x16 frame");
+ ti.width = 16;
+ ti.height = 16;
+
+ INFO ("+ Initializing theora_state for encoding");
+ if (theora_encode_init (&th, &ti) != OC_DISABLED) {
+ INFO ("+ Clearing theora_state");
+ theora_clear (&th);
+ }
+
+ INFO ("+ Clearing theora_info struct");
+ theora_info_clear (&ti);
+
+ return 0;
+}
+
+static int
+noop_test_decode ()
+{
+ theora_info ti;
+ theora_state th;
+
+ INFO ("+ Initializing theora_info struct");
+ theora_info_init (&ti);
+
+ INFO ("+ Initializing theora_state for decoding");
+ theora_decode_init (&th, &ti);
+
+ INFO ("+ Clearing theora_state");
+ theora_clear (&th);
+
+ INFO ("+ Clearing theora_info struct");
+ theora_info_clear (&ti);
+
+ return 0;
+}
+
+static int
+noop_test_comments ()
+{
+ theora_comment tc;
+
+ theora_comment_init (&tc);
+ theora_comment_clear (&tc);
+
+ return 0;
+}
+
+int main(int argc, char *argv[])
+{
+ /*noop_test_decode ();*/
+
+ noop_test_encode ();
+
+ noop_test_comments ();
+
+ exit (0);
+}
diff --git a/tests/tests.h b/tests/tests.h
new file mode 100644
index 0000000..3bbff24
--- /dev/null
+++ b/tests/tests.h
@@ -0,0 +1,33 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: common test utilities
+ last mod: $Id: tests.h 16503 2009-08-22 18:14:02Z giles $
+
+ ********************************************************************/
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define INFO(str) \
+ { printf ("---- %s ...\n", (str)); }
+
+#define WARN(str) \
+ { printf ("%s:%d: warning: %s\n", __FILE__, __LINE__, (str)); }
+
+#define FAIL(str) \
+ { printf ("%s:%d: %s\n", __FILE__, __LINE__, (str)); exit(1); }
+
+#undef MIN
+#define MIN(a,b) ((a)<(b)?(a):(b))