- add sources.
[platform/framework/web/crosswalk.git] / src / media / base / sample_format.cc
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