| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/base/sample_format.h" | 5 #include "media/base/sample_format.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 | 8 |
| 9 namespace media { | 9 namespace media { |
| 10 | 10 |
| 11 int SampleFormatToBytesPerChannel(SampleFormat sample_format) { | 11 int SampleFormatToBytesPerChannel(SampleFormat sample_format) { |
| 12 switch (sample_format) { | 12 switch (sample_format) { |
| 13 case kUnknownSampleFormat: | 13 case kUnknownSampleFormat: |
| 14 return 0; | 14 return 0; |
| 15 case kSampleFormatU8: | 15 case kSampleFormatU8: |
| 16 case kSampleFormatAc3: |
| 17 case kSampleFormatEac3: |
| 16 return 1; | 18 return 1; |
| 17 case kSampleFormatS16: | 19 case kSampleFormatS16: |
| 18 case kSampleFormatPlanarS16: | 20 case kSampleFormatPlanarS16: |
| 19 return 2; | 21 return 2; |
| 20 case kSampleFormatS24: | 22 case kSampleFormatS24: |
| 21 case kSampleFormatS32: | 23 case kSampleFormatS32: |
| 22 case kSampleFormatF32: | 24 case kSampleFormatF32: |
| 23 case kSampleFormatPlanarF32: | 25 case kSampleFormatPlanarF32: |
| 24 case kSampleFormatPlanarS32: | 26 case kSampleFormatPlanarS32: |
| 25 return 4; | 27 return 4; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 42 case kSampleFormatS32: | 44 case kSampleFormatS32: |
| 43 return "Signed 32-bit"; | 45 return "Signed 32-bit"; |
| 44 case kSampleFormatF32: | 46 case kSampleFormatF32: |
| 45 return "Float 32-bit"; | 47 return "Float 32-bit"; |
| 46 case kSampleFormatPlanarS16: | 48 case kSampleFormatPlanarS16: |
| 47 return "Signed 16-bit planar"; | 49 return "Signed 16-bit planar"; |
| 48 case kSampleFormatPlanarF32: | 50 case kSampleFormatPlanarF32: |
| 49 return "Float 32-bit planar"; | 51 return "Float 32-bit planar"; |
| 50 case kSampleFormatPlanarS32: | 52 case kSampleFormatPlanarS32: |
| 51 return "Signed 32-bit planar"; | 53 return "Signed 32-bit planar"; |
| 54 case kSampleFormatAc3: |
| 55 return "Compressed AC3 bitstream"; |
| 56 case kSampleFormatEac3: |
| 57 return "Compressed E-AC3 bitstream"; |
| 52 } | 58 } |
| 53 NOTREACHED() << "Invalid sample format provided: " << sample_format; | 59 NOTREACHED() << "Invalid sample format provided: " << sample_format; |
| 54 return ""; | 60 return ""; |
| 55 } | 61 } |
| 56 | 62 |
| 57 bool IsPlanar(SampleFormat sample_format) { | 63 bool IsPlanar(SampleFormat sample_format) { |
| 58 switch (sample_format) { | 64 switch (sample_format) { |
| 59 case kSampleFormatPlanarS16: | 65 case kSampleFormatPlanarS16: |
| 60 case kSampleFormatPlanarF32: | 66 case kSampleFormatPlanarF32: |
| 61 case kSampleFormatPlanarS32: | 67 case kSampleFormatPlanarS32: |
| 62 return true; | 68 return true; |
| 63 case kUnknownSampleFormat: | 69 case kUnknownSampleFormat: |
| 64 case kSampleFormatU8: | 70 case kSampleFormatU8: |
| 65 case kSampleFormatS16: | 71 case kSampleFormatS16: |
| 66 case kSampleFormatS24: | 72 case kSampleFormatS24: |
| 67 case kSampleFormatS32: | 73 case kSampleFormatS32: |
| 68 case kSampleFormatF32: | 74 case kSampleFormatF32: |
| 75 case kSampleFormatAc3: |
| 76 case kSampleFormatEac3: |
| 69 return false; | 77 return false; |
| 70 } | 78 } |
| 71 | 79 |
| 72 NOTREACHED() << "Invalid sample format provided: " << sample_format; | 80 NOTREACHED() << "Invalid sample format provided: " << sample_format; |
| 73 return false; | 81 return false; |
| 74 } | 82 } |
| 75 | 83 |
| 76 bool IsInterleaved(SampleFormat sample_format) { | 84 bool IsInterleaved(SampleFormat sample_format) { |
| 77 switch (sample_format) { | 85 switch (sample_format) { |
| 78 case kSampleFormatU8: | 86 case kSampleFormatU8: |
| 79 case kSampleFormatS16: | 87 case kSampleFormatS16: |
| 80 case kSampleFormatS24: | 88 case kSampleFormatS24: |
| 81 case kSampleFormatS32: | 89 case kSampleFormatS32: |
| 82 case kSampleFormatF32: | 90 case kSampleFormatF32: |
| 91 case kSampleFormatAc3: |
| 92 case kSampleFormatEac3: |
| 83 return true; | 93 return true; |
| 84 case kUnknownSampleFormat: | 94 case kUnknownSampleFormat: |
| 85 case kSampleFormatPlanarS16: | 95 case kSampleFormatPlanarS16: |
| 86 case kSampleFormatPlanarF32: | 96 case kSampleFormatPlanarF32: |
| 87 case kSampleFormatPlanarS32: | 97 case kSampleFormatPlanarS32: |
| 88 return false; | 98 return false; |
| 89 } | 99 } |
| 90 | 100 |
| 91 NOTREACHED() << "Invalid sample format provided: " << sample_format; | 101 NOTREACHED() << "Invalid sample format provided: " << sample_format; |
| 92 return false; | 102 return false; |
| 93 } | 103 } |
| 94 | 104 |
| 105 bool IsBitstream(SampleFormat sample_format) { |
| 106 switch (sample_format) { |
| 107 case kSampleFormatAc3: |
| 108 case kSampleFormatEac3: |
| 109 return true; |
| 110 case kUnknownSampleFormat: |
| 111 case kSampleFormatU8: |
| 112 case kSampleFormatS16: |
| 113 case kSampleFormatS24: |
| 114 case kSampleFormatS32: |
| 115 case kSampleFormatF32: |
| 116 case kSampleFormatPlanarS16: |
| 117 case kSampleFormatPlanarF32: |
| 118 case kSampleFormatPlanarS32: |
| 119 return false; |
| 120 } |
| 121 |
| 122 NOTREACHED() << "Invalid sample format provided: " << sample_format; |
| 123 return false; |
| 124 } |
| 125 |
| 95 } // namespace media | 126 } // namespace media |
| OLD | NEW |