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 #include "media/base/sample_format.h"
      6 
      7 #include "base/logging.h"
      8 
      9 namespace media {
     10 
     11 int SampleFormatToBytesPerChannel(SampleFormat sample_format) {
     12   switch (sample_format) {
     13     case kUnknownSampleFormat:
     14       return 0;
     15     case kSampleFormatU8:
     16       return 1;
     17     case kSampleFormatS16:
     18     case kSampleFormatPlanarS16:
     19       return 2;
     20     case kSampleFormatS32:
     21     case kSampleFormatF32:
     22     case kSampleFormatPlanarF32:
     23       return 4;
     24     case kSampleFormatMax:
     25       break;
     26   }
     27 
     28   NOTREACHED() << "Invalid sample format provided: " << sample_format;
     29   return 0;
     30 }
     31 
     32 const char* SampleFormatToString(SampleFormat sample_format) {
     33   switch(sample_format) {
     34     case kUnknownSampleFormat:
     35       return "Unknown sample format";
     36     case kSampleFormatU8:
     37       return "Unsigned 8-bit with bias of 128";
     38     case kSampleFormatS16:
     39       return "Signed 16-bit";
     40     case kSampleFormatS32:
     41       return "Signed 32-bit";
     42     case kSampleFormatF32:
     43       return "Float 32-bit";
     44     case kSampleFormatPlanarS16:
     45       return "Signed 16-bit planar";
     46     case kSampleFormatPlanarF32:
     47       return "Float 32-bit planar";
     48     case kSampleFormatMax:
     49       break;
     50   }
     51   NOTREACHED() << "Invalid sample format provided: " << sample_format;
     52   return "";
     53 }
     54 
     55 }  // namespace media
     56