blob: 3b6c4e6011c80931163a6f03d11cc9081011cc78 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "media/formats/common/opus_constants.h"
namespace media {
// Ensure offset values are properly ordered.
static_assert(OPUS_EXTRADATA_VERSION_OFFSET < OPUS_EXTRADATA_SIZE,
"Invalid opus version constant.");
static_assert(OPUS_EXTRADATA_CHANNELS_OFFSET < OPUS_EXTRADATA_SIZE,
"Invalid opus channels constant.");
static_assert(OPUS_EXTRADATA_SKIP_SAMPLES_OFFSET < OPUS_EXTRADATA_SIZE,
"Invalid opus skip samples constant.");
static_assert(OPUS_EXTRADATA_SAMPLE_RATE_OFFSET < OPUS_EXTRADATA_SIZE,
"Invalid opus sample rate constant.");
static_assert(OPUS_EXTRADATA_GAIN_OFFSET < OPUS_EXTRADATA_SIZE,
"Invalid opus gain constant.");
static_assert(OPUS_EXTRADATA_CHANNEL_MAPPING_OFFSET < OPUS_EXTRADATA_SIZE,
"Invalid opus channel mapping offset");
const uint8_t kOpusVorbisChannelMap[OPUS_MAX_VORBIS_CHANNELS]
[OPUS_MAX_VORBIS_CHANNELS] = {
{0},
{0, 1},
{0, 2, 1},
{0, 1, 2, 3},
{0, 4, 1, 2, 3},
{0, 4, 1, 2, 3, 5},
{0, 4, 1, 2, 3, 5, 6},
{0, 6, 1, 2, 3, 4, 5, 7},
};
} // namespace media