media/libtheora/README

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

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

mercurial