media/libtheora/README

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/libtheora/README	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,156 @@
     1.4 +-------------------------------------------------------------------------
     1.5 +             The Xiph.org Foundation's libtheora 1.2
     1.6 +-------------------------------------------------------------------------
     1.7 +
     1.8 +*** What is Theora?
     1.9 +
    1.10 +Theora is Xiph.Org's first publicly released video codec, intended
    1.11 +for use within the Foundation's Ogg multimedia streaming system.
    1.12 +Theora is derived directly from On2's VP3 codec, adds new features
    1.13 +while allow it a longer useful lifetime as an competitive codec.
    1.14 +
    1.15 +The 1.0 release decoder supported all the new features, but the
    1.16 +encoder is nearly identical to the VP3 code.
    1.17 +
    1.18 +The 1.1 release featured a completely rewritten encoder, offering
    1.19 +better performance and compression, and making more complete use
    1.20 +of the format's feature set.
    1.21 +
    1.22 +The 1.2 release features significant additional improvements in
    1.23 +compression and performance. Files produced by newer encoders can
    1.24 +be decoded by earlier releases.
    1.25 +
    1.26 +*** Where is Theora?
    1.27 +
    1.28 +Theora's main site is www.theora.org.  Theora and related libraries
    1.29 +can be gotten from www.theora.org or the main Xiph.Org site at
    1.30 +www.xiph.org.  Development source is kept in an open subversion 
    1.31 +repository, see http://theora.org/svn/ for instructions.
    1.32 +
    1.33 +-------------------------------------------------------------------------
    1.34 +Getting started with the code
    1.35 +-------------------------------------------------------------------------
    1.36 +
    1.37 +*** What do I need to build the source?
    1.38 +
    1.39 +Requirements summary:
    1.40 +
    1.41 +  For libtheora:
    1.42 +
    1.43 +      libogg 1.1 or newer.
    1.44 +
    1.45 +  For example encoder:
    1.46 +
    1.47 +      as above,
    1.48 +
    1.49 +      libvorbis and libvorbisenc 1.0.1 or newer.
    1.50 +      (libvorbis 1.3.1 or newer for 5.1 audio)
    1.51 +
    1.52 +  For creating a source distribution package:
    1.53 +
    1.54 +      as above,
    1.55 +
    1.56 +      Doxygen to build the API documentation,
    1.57 +      pdflatex and fig2dev to build the format specification
    1.58 +        (transfig package in Ubuntu).
    1.59 +
    1.60 +  For the player only:
    1.61 +
    1.62 +      as above,
    1.63 +
    1.64 +      SDL (Simple Direct media Layer) libraries and headers,
    1.65 +      OSS audio driver and development headers.
    1.66 +
    1.67 +The provided build system is the GNU automake/autoconf system, and
    1.68 +the main library, libtheora, should already build smoothly on any
    1.69 +system.  Failure of libtheora to build on a GNU-enabled system is
    1.70 +considered a bug; please report problems to theora-dev@xiph.org.
    1.71 +
    1.72 +Windows build support is included in the win32 directory.
    1.73 +
    1.74 +Project files for Apple XCode are included in the macosx directory.
    1.75 +
    1.76 +There is also a more limited scons build.
    1.77 +
    1.78 +*** How do I use the sample encoder?
    1.79 +
    1.80 +The sample encoder takes raw video in YUV4MPEG2 format, as used by
    1.81 +lavtools, mjpeg-tools and other packages. The encoder expects audio,
    1.82 +if any, in a separate wave WAV file. Try 'encoder_example -h' for a 
    1.83 +complete list of options.
    1.84 +
    1.85 +An easy way to get raw video and audio files is to use MPlayer as an
    1.86 +export utility.  The options " -ao pcm -vo yuv4mpeg " will export a
    1.87 +wav file named audiodump.wav and a YUV video file in the correct
    1.88 +format for encoder_example as stream.yuv.  Be careful when exporting
    1.89 +video alone; MPlayer may drop frames to 'keep up' with the audio
    1.90 +timer.  The example encoder can't properly synchronize input audio and
    1.91 +video file that aren't in sync to begin with.  
    1.92 +
    1.93 +The encoder will also take video or audio on stdin if '-' is specified
    1.94 +as the input file name.
    1.95 +
    1.96 +There is also a 'png2theora' example which accepts a set of image
    1.97 +files in that format.
    1.98 +
    1.99 +*** How do I use the sample player?
   1.100 +
   1.101 +The sample player takes an Ogg file on standard in; the file may be
   1.102 +audio alone, video alone or video with audio.
   1.103 +
   1.104 +*** What other tools are available?
   1.105 +
   1.106 +The programs in the examples directory are intended as tutorial source 
   1.107 +for developers using the library. As such they sacrifice features and 
   1.108 +robustness in the interests of comprehension and should not be 
   1.109 +considered serious applications.
   1.110 +
   1.111 +If you're wanting to just use theora, consider the programs linked
   1.112 +from http://www.theora.org/. There is playback support in a number
   1.113 +of common free players, and plugins for major media frameworks.
   1.114 +Jan Gerber's ffmpeg2theora is an excellent encoding front end.
   1.115 +
   1.116 +-------------------------------------------------------------------------
   1.117 +Troubleshooting the build process
   1.118 +-------------------------------------------------------------------------
   1.119 +
   1.120 +*** Compile error, such as:
   1.121 +
   1.122 +encoder_internal.h:664: parse error before `ogg_uint16_t'
   1.123 +
   1.124 +This means you have version of libogg prior to 1.1. A *complete* new Ogg 
   1.125 +install, libs and headers is needed.
   1.126 +
   1.127 +Also be sure that there aren't multiple copies of Ogg installed in
   1.128 +/usr and /usr/local; an older one might be first on the search path
   1.129 +for libs and headers.
   1.130 +
   1.131 +*** Link error, such as:
   1.132 +
   1.133 +undefined reference to `oggpackB_stream'
   1.134 +
   1.135 +See above; you need libogg 1.1 or later.
   1.136 +
   1.137 +*** Link error, such as:
   1.138 +
   1.139 +undefined reference to `vorbis_granule_time'
   1.140 +
   1.141 +You need libvorbis and libvorbisenc from the 1.0.1 release or later.
   1.142 +
   1.143 +*** Link error, such as:
   1.144 +
   1.145 +/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `ESD_OpenAudio':
   1.146 +SDL_esdaudio.lo(.text+0x25d): undefined reference to `esd_play_stream'
   1.147 +
   1.148 +Be sure to use an SDL that's built to work with OSS.  If you use an
   1.149 +SDL that is also built with ESD and/or ALSA support, it will try to
   1.150 +suck in all those extra libraries at link time too.  That will only
   1.151 +work if the extra libraries are also installed.
   1.152 +
   1.153 +*** Link warning, such as:
   1.154 +
   1.155 +libtool: link: warning: library `/usr/lib/libogg.la' was moved.
   1.156 +libtool: link: warning: library `/usr/lib/libogg.la' was moved.
   1.157 +
   1.158 +Re-run theora/autogen.sh after an Ogg or Vorbis rebuild/reinstall
   1.159 +

mercurial