Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: media/base/sample_format.cc

Issue 2503233003: Add enumerations for compressed (E)AC3 sample format (Closed)
Patch Set: Fix proto Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/base/sample_format.h ('k') | media/remoting/proto/remoting_rpc_message.proto » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « media/base/sample_format.h ('k') | media/remoting/proto/remoting_rpc_message.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698