PageRenderTime 41ms CodeModel.GetById 15ms app.highlight 22ms RepoModel.GetById 1ms app.codeStats 0ms

/media/libtheora/README

http://github.com/zpao/v8monkey
#! | 156 lines | 103 code | 53 blank | 0 comment | 0 complexity | e9d43cd17fc5ee36281512885e392b2b MD5 | raw file
  1-------------------------------------------------------------------------
  2             The Xiph.org Foundation's libtheora 1.2
  3-------------------------------------------------------------------------
  4
  5*** What is Theora?
  6
  7Theora is Xiph.Org's first publicly released video codec, intended
  8for use within the Foundation's Ogg multimedia streaming system.
  9Theora is derived directly from On2's VP3 codec, adds new features
 10while allow it a longer useful lifetime as an competitive codec.
 11
 12The 1.0 release decoder supported all the new features, but the
 13encoder is nearly identical to the VP3 code.
 14
 15The 1.1 release featured a completely rewritten encoder, offering
 16better performance and compression, and making more complete use
 17of the format's feature set.
 18
 19The 1.2 release features significant additional improvements in
 20compression and performance. Files produced by newer encoders can
 21be decoded by earlier releases.
 22
 23*** Where is Theora?
 24
 25Theora's main site is www.theora.org.  Theora and related libraries
 26can be gotten from www.theora.org or the main Xiph.Org site at
 27www.xiph.org.  Development source is kept in an open subversion 
 28repository, see http://theora.org/svn/ for instructions.
 29
 30-------------------------------------------------------------------------
 31Getting started with the code
 32-------------------------------------------------------------------------
 33
 34*** What do I need to build the source?
 35
 36Requirements summary:
 37
 38  For libtheora:
 39
 40      libogg 1.1 or newer.
 41
 42  For example encoder:
 43
 44      as above,
 45
 46      libvorbis and libvorbisenc 1.0.1 or newer.
 47      (libvorbis 1.3.1 or newer for 5.1 audio)
 48
 49  For creating a source distribution package:
 50
 51      as above,
 52
 53      Doxygen to build the API documentation,
 54      pdflatex and fig2dev to build the format specification
 55        (transfig package in Ubuntu).
 56
 57  For the player only:
 58
 59      as above,
 60
 61      SDL (Simple Direct media Layer) libraries and headers,
 62      OSS audio driver and development headers.
 63
 64The provided build system is the GNU automake/autoconf system, and
 65the main library, libtheora, should already build smoothly on any
 66system.  Failure of libtheora to build on a GNU-enabled system is
 67considered a bug; please report problems to theora-dev@xiph.org.
 68
 69Windows build support is included in the win32 directory.
 70
 71Project files for Apple XCode are included in the macosx directory.
 72
 73There is also a more limited scons build.
 74
 75*** How do I use the sample encoder?
 76
 77The sample encoder takes raw video in YUV4MPEG2 format, as used by
 78lavtools, mjpeg-tools and other packages. The encoder expects audio,
 79if any, in a separate wave WAV file. Try 'encoder_example -h' for a 
 80complete list of options.
 81
 82An easy way to get raw video and audio files is to use MPlayer as an
 83export utility.  The options " -ao pcm -vo yuv4mpeg " will export a
 84wav file named audiodump.wav and a YUV video file in the correct
 85format for encoder_example as stream.yuv.  Be careful when exporting
 86video alone; MPlayer may drop frames to 'keep up' with the audio
 87timer.  The example encoder can't properly synchronize input audio and
 88video file that aren't in sync to begin with.  
 89
 90The encoder will also take video or audio on stdin if '-' is specified
 91as the input file name.
 92
 93There is also a 'png2theora' example which accepts a set of image
 94files in that format.
 95
 96*** How do I use the sample player?
 97
 98The sample player takes an Ogg file on standard in; the file may be
 99audio alone, video alone or video with audio.
100
101*** What other tools are available?
102
103The programs in the examples directory are intended as tutorial source 
104for developers using the library. As such they sacrifice features and 
105robustness in the interests of comprehension and should not be 
106considered serious applications.
107
108If you're wanting to just use theora, consider the programs linked
109from http://www.theora.org/. There is playback support in a number
110of common free players, and plugins for major media frameworks.
111Jan Gerber's ffmpeg2theora is an excellent encoding front end.
112
113-------------------------------------------------------------------------
114Troubleshooting the build process
115-------------------------------------------------------------------------
116
117*** Compile error, such as:
118
119encoder_internal.h:664: parse error before `ogg_uint16_t'
120
121This means you have version of libogg prior to 1.1. A *complete* new Ogg 
122install, libs and headers is needed.
123
124Also be sure that there aren't multiple copies of Ogg installed in
125/usr and /usr/local; an older one might be first on the search path
126for libs and headers.
127
128*** Link error, such as:
129
130undefined reference to `oggpackB_stream'
131
132See above; you need libogg 1.1 or later.
133
134*** Link error, such as:
135
136undefined reference to `vorbis_granule_time'
137
138You need libvorbis and libvorbisenc from the 1.0.1 release or later.
139
140*** Link error, such as:
141
142/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `ESD_OpenAudio':
143SDL_esdaudio.lo(.text+0x25d): undefined reference to `esd_play_stream'
144
145Be sure to use an SDL that's built to work with OSS.  If you use an
146SDL that is also built with ESD and/or ALSA support, it will try to
147suck in all those extra libraries at link time too.  That will only
148work if the extra libraries are also installed.
149
150*** Link warning, such as:
151
152libtool: link: warning: library `/usr/lib/libogg.la' was moved.
153libtool: link: warning: library `/usr/lib/libogg.la' was moved.
154
155Re-run theora/autogen.sh after an Ogg or Vorbis rebuild/reinstall
156