Changeset 1433ecda in mainline for uspace/lib/pcm/src
- Timestamp:
- 2018-04-04T15:42:37Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2c4e1cc
- Parents:
- 47b2d7e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/pcm/src/format.c
r47b2d7e3 r1433ecda 57 57 .sampling_rate = 44100, 58 58 .sample_format = PCM_SAMPLE_SINT16_LE, 59 59 }; 60 60 61 61 /** Special ANY PCM format. … … 66 66 .sampling_rate = 0, 67 67 .sample_format = 0, 68 68 }; 69 69 70 70 static float get_normalized_sample(const void *buffer, size_t size, … … 77 77 * @return True if a and b describe the same format, false otherwise. 78 78 */ 79 bool pcm_format_same(const pcm_format_t *a, const pcm_format_t *b)79 bool pcm_format_same(const pcm_format_t *a, const pcm_format_t *b) 80 80 { 81 81 assert(a); … … 106 106 switch (f->sample_format) { 107 107 case PCM_SAMPLE_UINT8: 108 SET_NULL(uint8_t, le, INT8_MIN); break; 108 SET_NULL(uint8_t, le, INT8_MIN); 109 break; 109 110 case PCM_SAMPLE_SINT8: 110 SET_NULL(int8_t, le, 0); break; 111 SET_NULL(int8_t, le, 0); 112 break; 111 113 case PCM_SAMPLE_UINT16_LE: 112 SET_NULL(uint16_t, le, INT16_MIN); break; 114 SET_NULL(uint16_t, le, INT16_MIN); 115 break; 113 116 case PCM_SAMPLE_SINT16_LE: 114 SET_NULL(int16_t, le, 0); break; 117 SET_NULL(int16_t, le, 0); 118 break; 115 119 case PCM_SAMPLE_UINT16_BE: 116 SET_NULL(uint16_t, be, INT16_MIN); break; 120 SET_NULL(uint16_t, be, INT16_MIN); 121 break; 117 122 case PCM_SAMPLE_SINT16_BE: 118 SET_NULL(int16_t, be, 0); break; 123 SET_NULL(int16_t, be, 0); 124 break; 119 125 case PCM_SAMPLE_UINT32_LE: 120 SET_NULL(uint32_t, le, INT32_MIN); break; 126 SET_NULL(uint32_t, le, INT32_MIN); 127 break; 121 128 case PCM_SAMPLE_SINT32_LE: 122 SET_NULL(int32_t, le, 0); break; 129 SET_NULL(int32_t, le, 0); 130 break; 123 131 case PCM_SAMPLE_UINT32_BE: 124 SET_NULL(uint32_t, be, INT32_MIN); break; 132 SET_NULL(uint32_t, be, INT32_MIN); 133 break; 125 134 case PCM_SAMPLE_SINT32_BE: 126 SET_NULL(int32_t, le, 0); break; 135 SET_NULL(int32_t, le, 0); 136 break; 127 137 case PCM_SAMPLE_UINT24_32_LE: 128 138 case PCM_SAMPLE_SINT24_32_LE: … … 207 217 switch (df->sample_format) { 208 218 case PCM_SAMPLE_UINT8: 209 LOOP_ADD(uint8_t, le, UINT8_MIN, UINT8_MAX); break; 219 LOOP_ADD(uint8_t, le, UINT8_MIN, UINT8_MAX); 220 break; 210 221 case PCM_SAMPLE_SINT8: 211 LOOP_ADD(uint8_t, le, INT8_MIN, INT8_MAX); break; 222 LOOP_ADD(uint8_t, le, INT8_MIN, INT8_MAX); 223 break; 212 224 case PCM_SAMPLE_UINT16_LE: 213 LOOP_ADD(uint16_t, le, UINT16_MIN, UINT16_MAX); break; 225 LOOP_ADD(uint16_t, le, UINT16_MIN, UINT16_MAX); 226 break; 214 227 case PCM_SAMPLE_SINT16_LE: 215 LOOP_ADD(int16_t, le, INT16_MIN, INT16_MAX); break; 228 LOOP_ADD(int16_t, le, INT16_MIN, INT16_MAX); 229 break; 216 230 case PCM_SAMPLE_UINT16_BE: 217 LOOP_ADD(uint16_t, be, UINT16_MIN, UINT16_MAX); break; 231 LOOP_ADD(uint16_t, be, UINT16_MIN, UINT16_MAX); 232 break; 218 233 case PCM_SAMPLE_SINT16_BE: 219 LOOP_ADD(int16_t, be, INT16_MIN, INT16_MAX); break; 234 LOOP_ADD(int16_t, be, INT16_MIN, INT16_MAX); 235 break; 220 236 case PCM_SAMPLE_UINT24_32_LE: 221 237 case PCM_SAMPLE_UINT32_LE: // TODO this are not right for 24bit 222 LOOP_ADD(uint32_t, le, UINT32_MIN, UINT32_MAX); break; 238 LOOP_ADD(uint32_t, le, UINT32_MIN, UINT32_MAX); 239 break; 223 240 case PCM_SAMPLE_SINT24_32_LE: 224 241 case PCM_SAMPLE_SINT32_LE: 225 LOOP_ADD(int32_t, le, INT32_MIN, INT32_MAX); break; 242 LOOP_ADD(int32_t, le, INT32_MIN, INT32_MAX); 243 break; 226 244 case PCM_SAMPLE_UINT24_32_BE: 227 245 case PCM_SAMPLE_UINT32_BE: 228 LOOP_ADD(uint32_t, be, UINT32_MIN, UINT32_MAX); break; 246 LOOP_ADD(uint32_t, be, UINT32_MIN, UINT32_MAX); 247 break; 229 248 case PCM_SAMPLE_SINT24_32_BE: 230 249 case PCM_SAMPLE_SINT32_BE: 231 LOOP_ADD(int32_t, be, INT32_MIN, INT32_MAX); break; 250 LOOP_ADD(int32_t, be, INT32_MIN, INT32_MAX); 251 break; 232 252 case PCM_SAMPLE_UINT24_LE: 233 253 case PCM_SAMPLE_SINT24_LE:
Note:
See TracChangeset
for help on using the changeset viewer.