TheoraTestsuite: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
(add link to testsuite directory)
 
(25 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== some samples to test your theora decoder ==
== Some samples to test your Theora decoder ==
A decoder must play all these files without problems to comply with the theora specification:
* [https://media.xiph.org/video/tests/theora/320x240.ogg 320x240.ogg] [0.3 MB]: simplest example
* [https://media.xiph.org/video/tests/theora/320x240.ogv 320x240.ogv] [0.3 MB]: simple example with '''Skeleton Stream'''
* [https://media.xiph.org/video/tests/theora/320x240.skeleton+cmml.ogv 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
* [https://media.xiph.org/video/tests/theora/pixel_aspect_ratio.ogg pixel_aspect_ratio.ogg] [1.8 MB] : '''Aspect Ratio defined in header''' to 1.82/1 , it also has a theora '''comment header'''
* [https://media.xiph.org/video/tests/theora/videotestsrc-720x576-16-15.ogg videotestsrc-720x576-16-15.ogg] [422K]: '''Aspect Ratio defined in header''' to 1.33/1 (PAL DVD format)
* [https://media.xiph.org/video/tests/theora/322x242_not-divisible-by-sixteen-framesize.ogg 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'''
* [https://media.xiph.org/video/tests/theora/chained_streams.ogg chained_streams.ogg] [2.4 MB]: all other samples as a '''chained stream'''. (see Spec/A.3.1 on page 157)
* [https://media.xiph.org/video/tests/theora/multi2.ogg multi2.ogg] [171 K]: another '''chained''' file
* [https://media.xiph.org/video/tests/theora/mobile_itu601_i_422.ogg 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.
* [https://media.xiph.org/video/tests/theora/ducks_take_off_444_720p25.ogg ducks_take_off_444_720p25.ogg] [7.2 MB]: Ogg Theora video '''4:4:4''' pixel format, 1280x720 pixels, 25 fps, 213 frames
* [https://media.xiph.org/video/tests/theora/stockholm-vfr.ogg stockholm-vfr.ogg] [1.8 MB]: '''Hybrid 24fps/30fps''' clip encoded as 120fps with dropped frames.
* [https://media.xiph.org/video/tests/theora/offset_test.ogv 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 [https://media.xiph.org/video/tests/theora/offset_test.pass.png offset_test.pass.png], but not like [https://media.xiph.org/video/tests/theora/offset_test.fail.png offset_test.fail.png].
* [https://media.xiph.org/video/tests/theora/sign_irene_cif-3qi-b.ogg sign_irene_cif-3qi-b.ogg] [1.3 MB]: Ogg Theora video using '''3qi (adaptive quantization)'''.
* [https://media.xiph.org/video/tests/theora/chroma_siting_test.ogv chroma_siting_test.ogv] [25K]: Ogg Theora video chroma siting test for 4:2:0. No motion, 1 fps, 20 seconds, 1 frame + 19 repetitions. 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. Correct decode should look like [https://media.xiph.org/video/tests/theora/cromatest.png cromatest.png].
* [https://media.xiph.org/video/tests/theora/0byteframes.ogv 0byteframes.ogv] [31k]: Ogg Theora video 25fps, 10 seconds long, frame only changes every second.


a decoder must play all these files without problems to comply with the theora specification.
All the testsuite files are available at https://media.xiph.org/video/tests/theora/.


[http://v2v.cc/~j/theora_testsuite/320x240.ogg 320x240.ogg] [0.3 MB]
== See also ==
 
[[Playback_Troubleshooting]]
* simple example
[[Category:Theora]]
 
[http://v2v.cc/~j/theora_testsuite/320x240.ogv 320x240.ogv] [0.3 MB]
 
* simple example with Skeleton Stream
 
[http://v2v.cc/~j/theora_testsuite/320x240.skeleton+cmml.ogv 320x240.skeleton+cmml.ogv] [0.3 MB]
 
* simple example with Skeleton and CMML Stream
 
[http://v2v.cc/~j/theora_testsuite/pixel_aspect_ratio.ogg pixel_aspect_ratio.ogg] - Frame Aspect Ratio: 1.82/1 [1.8 MB]
 
* defined pixel aspect ratio in header, it also has a theora comment header
 
[http://v2v.cc/~j/theora_testsuite/videotestsrc-720x576-16-15.ogg videotestsrc-720x576-16-15.ogg] - PAL DVD format / Frame Aspect Ratio: 1.33/1 [422K]
 
* defined pixel aspect ratio in header
 
[http://v2v.cc/~j/theora_testsuite/322x242_not-divisible-by-sixteen-framesize.ogg 322x242_not-divisible-by-sixteen-framesize.ogg] [0.3 MB]
 
* 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
 
[http://v2v.cc/~j/theora_testsuite/chained_streams.ogg chained_streams.ogg] [2.4 MB]
 
* all other samples as a chained stream. (see Spec/A.3.1 on page 157)
 
[http://v2v.cc/~j/theora_testsuite/multi2.ogg multi2.ogg] [171 K]
 
* another chained file
 
[http://v2v.cc/~j/theora_testsuite/mobile_itu601_i_422.ogg mobile_itu601_i_422.ogg] [8 MB]
 
* 4:2:2 pixel format, mainline encoder does not support this right now, but its allowed in the spec and libtheora's decoder can decode it(since alpha8).
 
[http://v2v.cc/~j/theora_testsuite/stockholm-vfr.ogg stockholm-vfr.ogg] [1.8 MB]
 
* Hybrid 24fps/30fps clip encoded as 120fps with dropped frames.
 
[http://v2v.cc/~j/theora_testsuite/offset_test.ogv offset_test.ogv] [0.2 MB]
 
* Ogg Theora video with large offset, output should look like offset_test.pass.png, but not like offset_test.fail.png.
 
[http://v2v.cc/~j/theora_testsuite/ducks_take_off_444_720p25.ogg ducks_take_off_444_720p25.ogg] [7.2 MB]
 
* Ogg Theora video 4:4:4 pixel format.
 
[http://v2v.cc/~j/theora_testsuite/sign_irene_cif-3qi-b.ogg sign_irene_cif-3qi-b.ogg] [1.3 MB]
 
* Ogg Theora video using 3qi (adapative quantization).

Latest revision as of 06:41, 20 March 2025

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. No motion, 1 fps, 20 seconds, 1 frame + 19 repetitions. 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. Correct decode should look like cromatest.png.
  • 0byteframes.ogv [31k]: Ogg Theora video 25fps, 10 seconds long, frame only changes every second.

All the testsuite files are available at https://media.xiph.org/video/tests/theora/.

See also

Playback_Troubleshooting