[xiph-cvs] cvs commit: theora/lib Makefile.am

Monty xiphmont at xiph.org
Sun Sep 22 20:02:08 PDT 2002



xiphmont    02/09/22 23:02:08

  Added:       .        Makefile.am configure.in
               examples Makefile.am
               include  Makefile.am
               include/theora Makefile.am theora.h
               lib      Makefile.am
  Log:
  First bits of automated build system

Revision  Changes    Path
1.1                  theora/Makefile.am

Index: Makefile.am
===================================================================
## Process this file with automake to produce Makefile.in

AUTOMAKE_OPTIONS = foreign dist-zip

SUBDIRS = lib include examples

EXTRA_DIST = COPYING autogen.sh 

dist-hook:
        rm -rf `find $(distdir)/macos -name CVS`

debug:
        $(MAKE) all CFLAGS="@DEBUG@"

profile:
        $(MAKE) all CFLAGS="@PROFILE@"

<p><p>1.1                  theora/configure.in

Index: configure.in
===================================================================
dnl Process this file with autoconf to produce a configure script

dnl ------------------------------------------------
dnl Initialization and Versioning
dnl ------------------------------------------------

AC_INIT(lib/dct.c)
AM_INIT_AUTOMAKE(libtheora,0.0)

dnl Library versioning

V_LIB_CURRENT=0
V_LIB_REVISION=0
V_LIB_AGE=0
AC_SUBST(V_LIB_CURRENT)
AC_SUBST(V_LIB_REVISION)
AC_SUBST(V_LIB_AGE)

dnl --------------------------------------------------  
dnl Check for programs
dnl --------------------------------------------------  

dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2"
dnl if $CFLAGS is blank
cflags_save="$CFLAGS"
AC_PROG_CC
AC_PROG_CPP
CFLAGS="$cflags_save"

AM_PROG_LIBTOOL

dnl --------------------------------------------------
dnl Set build flags based on environment
dnl --------------------------------------------------

AC_CANONICAL_HOST

dnl Set some target options

cflags_save="$CFLAGS"
ldflags_save="$LDFLAGS"
if test -z "$GCC"; then
        case $host in 
        *)
                DEBUG="-g"
                CFLAGS="-O"
                PROFILE="-g -p" ;;
        esac
else

        case $host in 
        *)
                DEBUG="-g -W -D__NO_MATH_INLINES"
                CFLAGS="-O2"
                PROFILE="-W -pg -g -O2 -fno-inline-functions";;
        esac
fi
CFLAGS="$CFLAGS $cflags_save -D_REENTRANT"
LDFLAGS="$LDFLAGS $ldflags_save"

dnl --------------------------------------------------
dnl Check for headers
dnl --------------------------------------------------

dnl none

dnl --------------------------------------------------
dnl Check for typedefs, structures, etc
dnl --------------------------------------------------

dnl none

dnl --------------------------------------------------
dnl Check for library functions
dnl --------------------------------------------------

dnl none

dnl --------------------------------------------------
dnl Do substitutions
dnl --------------------------------------------------

LIBS="$LIBS"

AC_SUBST(LIBS)
AC_SUBST(DEBUG)
AC_SUBST(PROFILE)

AC_OUTPUT(Makefile lib/Makefile include/Makefile include/theora/Makefile \
        examples/Makefile)

<p><p>1.1                  theora/examples/Makefile.am

Index: Makefile.am
===================================================================
## Process this file with automake to produce Makefile.in

AUTOMAKE_OPTIONS = foreign

INCLUDES = -I$(top_srcdir)/include 

noinst_PROGRAMS = player_example encoder_example

LDFLAGS = -all-static
LDADD = ../lib/libtheora.la

player_example_SOURCES = player_example.c
encoder_example_SOURCES = encoder_example.c

debug:
        $(MAKE) all CFLAGS="@DEBUG@"

profile:
        $(MAKE) all CFLAGS="@PROFILE@"

<p><p>1.1                  theora/include/Makefile.am

Index: Makefile.am
===================================================================
## Process this file with automake to produce Makefile.in

AUTOMAKE_OPTIONS = foreign

SUBDIRS = theora

<p><p>1.1                  theora/include/theora/Makefile.am

Index: Makefile.am
===================================================================
## Process this file with automake to produce Makefile.in

AUTOMAKE_OPTIONS = foreign

includedir = $(prefix)/include/theora

include_HEADERS = theora.h

<p><p><p>1.1                  theora/include/theora/theora.h

Index: theora.h
===================================================================
/********************************************************************
 *                                                                  *
 * 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 OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002             *
 * by the Xiph.Org Foundation http://www.xiph.org/                  *
 *                                                                  *
 ********************************************************************

  function: 
  last mod: $Id: theora.h,v 1.1 2002/09/23 03:02:07 xiphmont Exp $

 ********************************************************************/

#ifndef _O_THEORA_H_
#define _O_THEORA_H_

#include <ogg/ogg.h>

typedef struct{
  void *internal;
} theora_state;

typedef struct {
    int   y_width;
    int   y_height;
    int   y_stride;

    int   uv_width;
    int   uv_height;
    int   uv_stride;

    char *y;
    char *u;
    char *v;

} yuv_buffer;

typedef struct{
  ogg_uint32_t  width;
  ogg_uint32_t  height;
  ogg_uint32_t  fps_numerator;
  ogg_uint32_t  fps_denominator;
  int           target_bitrate;
  int           quality;

  /* decode only */
  unsigned char version_major;
  unsigned char version_minor;
  unsigned char version_subminor;

  /* encode only */
  int           droppedframes_p;
  int           quickcompress_p;
  int           keyframe_auto_p;
  ogg_uint32_t  keyframe_frequency;
  ogg_uint32_t  keyframe_frequency_force;  /* also used for decode init to
                                              get granpos shift correct */
  ogg_uint32_t  keyframe_data_target_bitrate;
  ogg_int32_t   keyframe_auto_threshold;
  ogg_uint32_t  keyframe_mindistance;
  ogg_int32_t   noise_sensitivity;
  ogg_int32_t   sharpness;

} theora_info;

#define OC_FAULT       -1
#define OC_EINVAL      -10
#define OC_BADHEADER   -20
#define OC_NOTFORMAT   -21
#define OC_VERSION     -22
#define OC_IMPL        -23
#define OC_BADPACKET   -24

extern const char *theora_version_string(void);
extern ogg_uint32_t theora_version_number(void);
extern int theora_encode_init(theora_state *th, theora_info *c);
extern int theora_encode_YUVin(theora_state *t, yuv_buffer *yuv);
extern int theora_encode_packetout( theora_state *t, int last_p, 
                                    ogg_packet *op);
extern int theora_encode_header(theora_state *t, ogg_packet *op);
extern void theora_encode_clear(theora_state *t);
extern int theora_decode_header(theora_info *c, ogg_packet *op);
extern int theora_decode_init(theora_state *th, theora_info *c);
extern void theora_decode_clear(theora_state *th);
extern int theora_decode_packetin(theora_state *th,ogg_packet *op);
extern int theora_decode_YUVout(theora_state *th,yuv_buffer *yuv);

<p><p>#endif

<p><p><p>1.1                  theora/lib/Makefile.am

Index: Makefile.am
===================================================================
AUTOMAKE_OPTIONS = foreign

INCLUDES = -I./ -I../include

lib_LTLIBRARIES = libtheora.la

libtheora_la_SOURCES = encode.c hufftables.h quant_lookup.h \
        encoder_internal.h idct.c reconstruct.c block_inline.h \
        encoder_lookup.h mcomp.c scan.c blockmap.c misc_common.c \
        dct.c frarray.c pb.c dct_decode.c frinit.c pp.c dct_encode.c \
        huffman.c pp.h toplevel.c decode.c huffman.h quant.c toplevel_lookup.h

libtheora_la_LDFLAGS = -version-info @V_LIB_CURRENT@:@V_LIB_REVISION@:@V_LIB_AGE@

CLEANFILES = $(lib_LTLIBRARIES)

debug:
        $(MAKE) all CFLAGS="@DEBUG@" LDFLAGS="-lefence"	

profile:
        $(MAKE) all CFLAGS="@PROFILE@"

<p><p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list