From XiphWiki
Revision as of 10:48, 9 August 2011 by Bemasc (talk | contribs) (surround speaker mapping test)
Jump to navigation Jump to search

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
    • Mapping tests for the Vorbis mappings (e.g. name of the speaker spoken by each speaker)
  • 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?