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, 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