Free video codec. https://xiph.org/theora/

piga 1399c17876 This is the fatest version using openMP 17 роки тому
debian b72becb5ad new trunk 18 роки тому
doc 547ad259c4 Clarify language about truncation in the DCT to indicate that the truncated 17 роки тому
examples 8b48877453 Set eos properly in png2theora. 17 роки тому
include 09a1a4db14 Include <stddef.h> in theora[enc|dec].h directly in order to get size_t. 17 роки тому
lib 1399c17876 This is the fatest version using openMP 17 роки тому
m4 980d1b6660 Fix a spacing problem in the help text. 17 роки тому
macosx db7b02fc40 Update Xcode build files. 17 роки тому
symbian b72becb5ad new trunk 18 роки тому
tests 72725b3344 Make granulepos, granulepos_theoraenc and granulepos_theora build in Solaris. Patch from Sun's Brian Cameron. Closes #1356. 17 роки тому
win32 ad92df6c1b Build fixes for the MinGW cross-compiler needed for the beta3 release. 17 роки тому
AUTHORS e390a19feb Remove the optional libogg2 support. 17 роки тому
CHANGES 92c81ca923 Bump package version post-release. 17 роки тому
COPYING 5bbfd1f8df Update the copyright statement with the current year. This covers 18 роки тому
LICENSE b72becb5ad new trunk 18 роки тому
Makefile.am 00ef8e61c9 add pkg-config files for theoraenc and theoradec 17 роки тому
README b49d815d25 Update the README some before release. 18 роки тому
SConstruct bd08565686 Update the scons build for recent source changes. 17 роки тому
autogen.sh 7ed5598096 Fix automake version detection to work with the 1.xx releases. 18 роки тому
configure.ac c7c08b7f17 add export symbols flag for mingw build fixes #1383 17 роки тому
libtheora.spec.in 6b69991455 Patch by Lino Mastrodomenico <l.mastrodomenico (at) gmail.com> 18 роки тому
theora-uninstalled.pc.in b72becb5ad new trunk 18 роки тому
theora.pc.in b72becb5ad new trunk 18 роки тому
theoradec-uninstalled.pc.in 00ef8e61c9 add pkg-config files for theoraenc and theoradec 17 роки тому
theoradec.pc.in 00ef8e61c9 add pkg-config files for theoraenc and theoradec 17 роки тому
theoraenc-uninstalled.pc.in 00ef8e61c9 add pkg-config files for theoraenc and theoradec 17 роки тому
theoraenc.pc.in 00ef8e61c9 add pkg-config files for theoraenc and theoradec 17 роки тому

README

-------------------------------------------------------------------------
The Xiph.org Foundation's libtheora 1.0beta1 release
-------------------------------------------------------------------------

*** What is Theora?

Theora is Xiph.Org's first publicly released video codec, intended
for use within the Foundation's Ogg multimedia streaming system.
Theora is derived directly from On2's VP3 codec; Currently the
encoders are nearly identical, but Theora will make use of new
features supported by the decoder to improve over what is
is possible with VP3.

*** Where is Theora?

Theora's main site is www.theora.org. Theora and related libraries
can be gotten from www.theora.org or the main Xiph.Org site at
www.xiph.org. Development source is kept in an open subversion
repository, see http://theora.org/svn/ for instructions.

*** What is the goal of this release?

This is the first beta release of the 1.0 reference implementation.
It is intended to completely support the decoder specification, and
gather feedback on the implementation before declaring it stable.

-------------------------------------------------------------------------
Getting started with the code
-------------------------------------------------------------------------

*** What do I need to build the source?

Requirements summary:

For libtheora:

libogg 1.1 or newer.

For example encoder:

as above

libvorbis and libvorbisenc 1.0.1 or newer.

For the player only:

as above,

SDL (Simple Direct media Layer) libraries and headers

OSS audio driver and development headers

The provided build system is the GNU automake/autoconf system, and
the main library, libtheora, should already build smoothly on any
system. Failure of libtheora to build on a GNU-enabled system is
considered a bug; please report problems to theora-dev@xiph.org.

Some windows build support is included in the win32 directory.

There is also an experimental scons build.

*** How do I use the sample encoder?

The sample encoder takes raw video in YUV4MPEG2 format, as used by
lavtools, mjpeg-tools and other packages. The encoder expects audio,
if any, in a separate wave WAV file. Try 'encoder_example -h' for a
complete list of options.

An easy way to get raw video and audio files is to use MPlayer as an
export utility. The options " -ao pcm -vo yuv4mpeg " will export a
wav file named audiodump.wav and a YUV video file in the correct
format for encoder_example as stream.yuv. Be careful when exporting
video alone; MPlayer may drop frames to 'keep up' with the audio
timer. The example encoder can't properly synchronize input audio and
video file that aren't in sync to begin with.

The encoder will also take video or audio on stdin if '-' is specified
as the input file name.

There is also a 'png2theora' example which accepts a set of image
files in that format.

*** How do I use the sample player?

The sample player takes an Ogg file on standard in; the file may be
audio alone, video alone or video with audio.

*** What other tools are available?

The programs in the examples directory are intended as tutorial source
for developers using the library. As such they sacrifice features and
robustness in the interests of comprehension and should not be
considered serious applications.

If you're wanting to just use theora, consider the programs linked
from http://www.theora.org/. There is playback support in a number
of common free players, and plugins for major media frameworks.
Jan Gerber's ffmpeg2theora is an excellent encoding front end.

-------------------------------------------------------------------------
Troubleshooting the build process
-------------------------------------------------------------------------

*** Compile error, such as:

encoder_internal.h:664: parse error before `ogg_uint16_t'

This means you have version of libogg prior to 1.1. A *complete* new Ogg
install, libs and headers is needed.

Also be sure that there aren't multiple copies of Ogg installed in
/usr and /usr/local; an older one might be first on the search path
for libs and headers.

*** Link error, such as:

undefined reference to `oggpackB_stream'

See above; you need libogg 1.1 or later.

*** Link error, such as:

undefined reference to `vorbis_granule_time'

You need libvorbis and libvorbisenc from the 1.0.1 release or later.

*** Link error, such as:

/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `ESD_OpenAudio':
SDL_esdaudio.lo(.text+0x25d): undefined reference to `esd_play_stream'

Be sure to use an SDL that's built to work with OSS. If you use an
SDL that is also built with ESD and/or ALSA support, it will try to
suck in all those extra libraries at link time too. That will only
work if the extra libraries are also installed.

*** Link warning, such as:

libtool: link: warning: library `/usr/lib/libogg.la' was moved.
libtool: link: warning: library `/usr/lib/libogg.la' was moved.

Re-run theora/autogen.sh after an Ogg or Vorbis rebuild/reinstall