Home | History | Annotate | Download | only in base
      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.
     16   kUnknownSampleFormat = 0,
     17   kSampleFormatU8,         // Unsigned 8-bit w/ bias of 128.
     18   kSampleFormatS16,        // Signed 16-bit.
     19   kSampleFormatS32,        // Signed 32-bit.
     20   kSampleFormatF32,        // Float 32-bit.
     21   kSampleFormatPlanarS16,  // Signed 16-bit planar.
     22   kSampleFormatPlanarF32,  // Float 32-bit planar.
     23 
     24   // Must always be last!
     25   kSampleFormatMax
     26 };
     27 
     28 // Returns the number of bytes used per channel for the specified
     29 // |sample_format|.
     30 MEDIA_EXPORT int SampleFormatToBytesPerChannel(SampleFormat sample_format);
     31 
     32 // Returns the name of the sample format as a string
     33 MEDIA_EXPORT const char* SampleFormatToString(SampleFormat sample_format);
     34 
     35 }  // namespace media
     36 
     37 #endif  // MEDIA_BASE_SAMPLE_FORMAT_H
     38