TheoraTestsuite: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(+see also.) |
||
(21 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
== | == Some samples to test your Theora decoder == | ||
a decoder must play all these files without problems to comply with the theora specification. | a decoder must play all these files without problems to comply with the theora specification. | ||
Line 5: | Line 5: | ||
[http://v2v.cc/~j/theora_testsuite/320x240.ogg 320x240.ogg] [0.3 MB] | [http://v2v.cc/~j/theora_testsuite/320x240.ogg 320x240.ogg] [0.3 MB] | ||
* | * simplest example | ||
[http://v2v.cc/~j/theora_testsuite/320x240.ogv 320x240.ogv] [0.3 MB] | [http://v2v.cc/~j/theora_testsuite/320x240.ogv 320x240.ogv] [0.3 MB] | ||
* simple example with Skeleton Stream | * simple example with '''Skeleton Stream''' | ||
[http://v2v.cc/~j/theora_testsuite/320x240.skeleton+cmml.ogv 320x240.skeleton+cmml.ogv] [0.3 MB] | [http://v2v.cc/~j/theora_testsuite/320x240.skeleton+cmml.ogv 320x240.skeleton+cmml.ogv] [0.3 MB] | ||
* simple example with Skeleton and CMML Stream | * 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 | ||
[http://v2v.cc/~j/theora_testsuite/pixel_aspect_ratio.ogg pixel_aspect_ratio.ogg] | [http://v2v.cc/~j/theora_testsuite/pixel_aspect_ratio.ogg pixel_aspect_ratio.ogg] [1.8 MB] | ||
* defined | * '''Aspect Ratio defined in header''' to 1.82/1 , it also has a theora '''comment header''' | ||
* defined | [http://v2v.cc/~j/theora_testsuite/videotestsrc-720x576-16-15.ogg videotestsrc-720x576-16-15.ogg] [422K] | ||
* '''Aspect Ratio defined in header''' to 1.33/1 (PAL DVD format) | |||
[http://v2v.cc/~j/theora_testsuite/322x242_not-divisible-by-sixteen-framesize.ogg 322x242_not-divisible-by-sixteen-framesize.ogg] [0.3 MB] | [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 | * '''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''' | |||
[http://v2v.cc/~j/theora_testsuite/chained_streams.ogg chained_streams.ogg] [2.4 MB] | [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) | * 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] | [http://v2v.cc/~j/theora_testsuite/multi2.ogg multi2.ogg] [171 K] | ||
* another chained file | * another '''chained''' file | ||
[http://v2v.cc/~j/theora_testsuite/mobile_itu601_i_422.ogg mobile_itu601_i_422.ogg] [8 MB] | [http://v2v.cc/~j/theora_testsuite/mobile_itu601_i_422.ogg mobile_itu601_i_422.ogg] [8 MB] | ||
* 4:2:2 pixel format, | * '''4:2:2''' pixel format, in the original spec and supported by the mainline decoder since alpha8 and the mainline encoder since 1.1. | ||
[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, 1280x720 pixels, 25 fps, 213 frames | |||
[http://v2v.cc/~j/theora_testsuite/stockholm-vfr.ogg stockholm-vfr.ogg] [1.8 MB] | [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. | * '''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] (10 frames, 1 fps, no visible movement, visible frame 512 x 512) | |||
[http://v2v.cc/~j/theora_testsuite/ | * Ogg Theora video with '''large offset''', output should look like [http://v2v.cc/~j/theora_testsuite/offset_test.pass.png offset_test.pass.png], but not like [http://v2v.cc/~j/theora_testsuite/offset_test.fail.png offset_test.fail.png]. | ||
[http://v2v.cc/~j/theora_testsuite/sign_irene_cif-3qi-b.ogg sign_irene_cif-3qi-b.ogg] [1.3 MB] | [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 ( | * Ogg Theora video using '''3qi (adaptive quantization)'''. | ||
[http://v2v.cc/~j/theora_testsuite/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. [http://img260.imageshack.us/img260/1198/cromatest.png This image] shows a correct decode. | |||
[http://v2v.cc/~j/theora_testsuite/0byteframes.ogv 0byteframes.ogv] [31k] | |||
* Ogg Theora video 25fps, 10 seconds long, frame only changes every second. | |||
== See also == | |||
[[Playback_Troubleshooting]] | |||
[[Category:Theora]] |
Latest revision as of 22:06, 16 November 2010
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. This image shows a correct decode.
0byteframes.ogv [31k]
- Ogg Theora video 25fps, 10 seconds long, frame only changes every second.