• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef MEDIA_BASE_SAMPLE_FORMAT_H
6 #define MEDIA_BASE_SAMPLE_FORMAT_H
7 
8 #include "media/base/media_export.h"
9 
10 namespace media {
11 
12 enum SampleFormat {
13   // These values are histogrammed over time; do not change their ordinal
14   // values.  When deleting a sample format replace it with a dummy value; when
15   // adding a sample format, do so at the bottom before kSampleFormatMax, and
16   // update the value of kSampleFormatMax.
17   kUnknownSampleFormat = 0,
18   kSampleFormatU8,         // Unsigned 8-bit w/ bias of 128.
19   kSampleFormatS16,        // Signed 16-bit.
20   kSampleFormatS32,        // Signed 32-bit.
21   kSampleFormatF32,        // Float 32-bit.
22   kSampleFormatPlanarS16,  // Signed 16-bit planar.
23   kSampleFormatPlanarF32,  // Float 32-bit planar.
24 
25   // Must always be equal to largest value ever logged.
26   kSampleFormatMax = kSampleFormatPlanarF32,
27 };
28 
29 // Returns the number of bytes used per channel for the specified
30 // |sample_format|.
31 MEDIA_EXPORT int SampleFormatToBytesPerChannel(SampleFormat sample_format);
32 
33 // Returns the name of the sample format as a string
34 MEDIA_EXPORT const char* SampleFormatToString(SampleFormat sample_format);
35 
36 }  // namespace media
37 
38 #endif  // MEDIA_BASE_SAMPLE_FORMAT_H
39