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   }
     25 
     26   NOTREACHED() << "Invalid sample format provided: " << sample_format;
     27   return 0;
     28 }
     29 
     30 const char* SampleFormatToString(SampleFormat sample_format) {
     31   switch(sample_format) {
     32     case kUnknownSampleFormat:
     33       return "Unknown sample format";
     34     case kSampleFormatU8:
     35       return "Unsigned 8-bit with bias of 128";
     36     case kSampleFormatS16:
     37       return "Signed 16-bit";
     38     case kSampleFormatS32:
     39       return "Signed 32-bit";
     40     case kSampleFormatF32:
     41       return "Float 32-bit";
     42     case kSampleFormatPlanarS16:
     43       return "Signed 16-bit planar";
     44     case kSampleFormatPlanarF32:
     45       return "Float 32-bit planar";
     46   }
     47   NOTREACHED() << "Invalid sample format provided: " << sample_format;
     48   return "";
     49 }
     50 
     51 }  // namespace media
     52