TheoraTestsuite
some samples to test your theora decoder
a decoder must play all these files without problems to comply with the theora specification.
320x240.ogg [0.3 MB]
- simplest example
320x240.ogv [0.3 MB]
- simple example with Skeleton Stream
320x240.skeleton+cmml.ogv [0.3 MB]
- simple example with Skeleton and CMML Stream; decoders should read the Skeleton stream to identify the other streams in Ogg and ignore those that are not supported by the application
pixel_aspect_ratio.ogg [1.8 MB]
- Aspect Ratio defined in header to 1.82/1 , it also has a theora comment header
videotestsrc-720x576-16-15.ogg [422K]
- Aspect Ratio defined in header to 1.33/1 (PAL DVD format)
322x242_not-divisible-by-sixteen-framesize.ogg [0.3 MB]
- both dimensions not divisible by 16 but still even - if you see a black border around the testimage you should have a look at the Spec/2.2 on page 22, to see how to use: ti.width, ti.height, ti.frame_width, ti.frame_height, ti.offset_x, ti.offset_y
[...]
- one dimension divisible by 16 while the other one isn't
[...]
- odd dimensions
chained_streams.ogg [2.4 MB]
- all other samples as a chained stream. (see Spec/A.3.1 on page 157)
multi2.ogg [171 K]
- another chained file
mobile_itu601_i_422.ogg [8 MB]
- 4:2:2 pixel format, in the original spec and supported by the mainline decoder since alpha8 and the mainline encoder since 1.1.
ducks_take_off_444_720p25.ogg [7.2 MB]
- Ogg Theora video 4:4:4 pixel format, 1280x720 pixels, 25 fps, 213 frames
stockholm-vfr.ogg [1.8 MB]
- Hybrid 24fps/30fps clip encoded as 120fps with dropped frames.
offset_test.ogv [0.2 MB] (10 frames, 1 fps, no visible movement, visible frame 512 x 512)
- Ogg Theora video with large offset, output should look like offset_test.pass.png, but not like offset_test.fail.png.
sign_irene_cif-3qi-b.ogg [1.3 MB]
- Ogg Theora video using 3qi (adaptive quantization).
chroma_siting_test.ogv [25K]
- Ogg Theora video chroma siting test for 4:2:0. If the player's conversion to RGB uses correct chroma subsample positioning, then the top and bottom halves should be the same color. If the top and bottom halves are different colors, then the player's chroma siting is wrong. Note that many players delegate YUV to RGB conversion to the graphics hardware or driver, which are then responsible for the chroma siting.
Player compliance
- Firefox (3.6)
- Seems to pass all tests (not sure about the 322x242 "not divisible by 16" - there is a black line ...)
- But high requirements to play (especially large) videos, behaves badly if hardware is insufficient to play in real-time
- MPLAYER (r30886 2010-03-13)
- OGG and Theora support has been inferior for years (but mostly worked with encoders from given era), improved at beginning of 2010
- Recently fixed issues:
- 4:2:2 and 4:4:4 support (in previous versions they did "play", but looking "strangely") List discussion BUG #1487
- Some videos encoded with recent (1.1) encoders complaining about "invalid frames" or hanging BUG #1664
- Remaining issues:
- Offset test fails, shows what shouldn't be visible BUG #1492, open since 2009-06-14
- Output to YUV4MPEG always downsampled to 4:2:0 (flaw, no Bugzilla entry exists)
- VLC 1.0.5
- Theora decoder seems fully compliant, tiny problems specific to some videos or systems (fixing in progress)
- Video duration is reported badly or not at all
- DUGL Player 0.44
- Theora decoder seems fully compliant, but no sound yet