OggOpus/testvectors: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(More possible tests)
(More possible tests)
Line 2: Line 2:


* All test vectors should be chained files with at least two parts
* All test vectors should be chained files with at least two parts
** Chained file where the second link has no pregap and starts with inter frames (to ensure that decoder state is reset)
* Pregap (set large pre-gap with a chime "if you just heard a chime, your player is broken")
* Pregap (set large pre-gap with a chime "if you just heard a chime, your player is broken")
* Multichannel
* Multichannel
Line 17: Line 18:
* Single packet per page
* Single packet per page
* Utterly stuffed pages with constant continued pages
* Utterly stuffed pages with constant continued pages
* Pages whose contents are entirely and partially dropped frames (len=0) (maybe redundant with bitstream tests)
* Files with chimes after the end (testing end length chopping)
* Files with chimes after the end (testing end length chopping)
* File with all opus modes and frame sizes
* File with all opus modes and frame sizes

Revision as of 11:35, 9 August 2011

This page lists test vectors needed for OggOpus which are specific to the Ogg mapping (separate from the opus bitstream test vectors, though they do some bitstream testing as a side efffect)

  • All test vectors should be chained files with at least two parts
    • Chained file where the second link has no pregap and starts with inter frames (to ensure that decoder state is reset)
  • Pregap (set large pre-gap with a chime "if you just heard a chime, your player is broken")
  • Multichannel
    • Multichannel stereo (e.g. mono+mono)
    • Multichannel w/pregap and random channel maps
    • Multichannel with silent channels
      • Totally silent multichannel
    • Multichannel with 256 channels
  • Files with replaygain metadata (esp files which are obviously too quiet/loud without applying replaygain)
    • Multiple identical ReplayGain comments in OpusTags
    • matching unnormalized WAV output.
  • Files with crazy input rate.
  • Header-gain set very high with a very quiet input (silent if you don't implement header gain).
  • Header-gain set very low with an input that will clip a decoder if the header gain is not done internally.
  • Single packet per page
  • Utterly stuffed pages with constant continued pages
  • Pages whose contents are entirely and partially dropped frames (len=0) (maybe redundant with bitstream tests)
  • Files with chimes after the end (testing end length chopping)
  • File with all opus modes and frame sizes
  • Stereo files using many mono frames at the beginning/end
  • OpusTags comment values containing very large nonsense comments, duplicate comment values etc.
  • Illegal test vectors that must fail
    • Zero streams (N=0)
    • Too many two-output streams
      • M>N
      • M<=N but M+N>255
    • Channels mapped to nonexistent stream indices (255 > index >= M+N)
    • Illegal OpusTags comments
      • Total length larger or shorter than the packet
      • Illegal field names
      • Illegal field contents
      • Illegal field (no "=")
      • Multiple conflicting ReplayGain comments
      • ReplayGain comments containing illegal values
        • Weird encodings of correct-looking values?