@@ -469,20 +469,20 @@ class PolyBus {
469469 }
470470
471471 static void * create (uint8_t busType, uint8_t * pins, uint16_t len, uint8_t channel) {
472+ #if defined(ARDUINO_ARCH_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32C3)
472473 // NOTE: "channel" is only used on ESP32 (and its variants) for RMT channel allocation
473-
474- #if defined(ARDUINO_ARCH_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32C3)
475- if (_useParallelI2S && (channel >= 8 )) {
476- // Parallel I2S channels are to be used first, so subtract 8 to get the RMT channel number
477- channel -= 8 ;
478- }
479- #endif
480-
481- #if defined(ARDUINO_ARCH_ESP32) && !(defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32S3) || defined(CONFIG_IDF_TARGET_ESP32C3))
482474 // since 0.15.0-b3 I2S1 is favoured for classic ESP32 and moved to position 0 (channel 0) so we need to subtract 1 for correct RMT allocation
483- if (!_useParallelI2S && channel > 0 ) channel--; // accommodate I2S1 which is used as 1st bus on classic ESP32
475+ #if defined(CONFIG_IDF_TARGET_ESP32)
476+ if (channel > 0 ) {
477+ channel--;
478+ if (_useParallelI2S && channel > 6 ) channel -= 7 ; // accommodate I2S1 which is used as 1st bus
479+ }
480+ #elif defined(CONFIG_IDF_TARGET_ESP32S2)
481+ if (_useParallelI2S && channel > 7 ) channel -= 8 ; // accommodate I2S1 which is used as 1st bus
482+ #elif defined(CONFIG_IDF_TARGET_ESP32S3)
483+ if (_useParallelI2S && channel > 7 ) channel -= 8 ; // accommodate I2S1 which is used as 1st bus
484484 #endif
485-
485+ # endif
486486 void * busPtr = nullptr ;
487487 switch (busType) {
488488 case I_NONE: break ;
@@ -1209,54 +1209,54 @@ class PolyBus {
12091209 switch (busType) {
12101210 case I_NONE: break ;
12111211 #ifdef ESP8266
1212- case I_8266_U0_NEO_3: size = (static_cast <B_8266_U0_NEO_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1213- case I_8266_U1_NEO_3: size = (static_cast <B_8266_U1_NEO_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1212+ case I_8266_U0_NEO_3: size = (static_cast <B_8266_U0_NEO_3*>(busPtr))->PixelsSize (); break ;
1213+ case I_8266_U1_NEO_3: size = (static_cast <B_8266_U1_NEO_3*>(busPtr))->PixelsSize (); break ;
12141214 case I_8266_DM_NEO_3: size = (static_cast <B_8266_DM_NEO_3*>(busPtr))->PixelsSize ()*5 ; break ;
1215- case I_8266_BB_NEO_3: size = (static_cast <B_8266_BB_NEO_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1216- case I_8266_U0_NEO_4: size = (static_cast <B_8266_U0_NEO_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1217- case I_8266_U1_NEO_4: size = (static_cast <B_8266_U1_NEO_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1215+ case I_8266_BB_NEO_3: size = (static_cast <B_8266_BB_NEO_3*>(busPtr))->PixelsSize (); break ;
1216+ case I_8266_U0_NEO_4: size = (static_cast <B_8266_U0_NEO_4*>(busPtr))->PixelsSize (); break ;
1217+ case I_8266_U1_NEO_4: size = (static_cast <B_8266_U1_NEO_4*>(busPtr))->PixelsSize (); break ;
12181218 case I_8266_DM_NEO_4: size = (static_cast <B_8266_DM_NEO_4*>(busPtr))->PixelsSize ()*5 ; break ;
1219- case I_8266_BB_NEO_4: size = (static_cast <B_8266_BB_NEO_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1220- case I_8266_U0_400_3: size = (static_cast <B_8266_U0_400_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1221- case I_8266_U1_400_3: size = (static_cast <B_8266_U1_400_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1219+ case I_8266_BB_NEO_4: size = (static_cast <B_8266_BB_NEO_4*>(busPtr))->PixelsSize (); break ;
1220+ case I_8266_U0_400_3: size = (static_cast <B_8266_U0_400_3*>(busPtr))->PixelsSize (); break ;
1221+ case I_8266_U1_400_3: size = (static_cast <B_8266_U1_400_3*>(busPtr))->PixelsSize (); break ;
12221222 case I_8266_DM_400_3: size = (static_cast <B_8266_DM_400_3*>(busPtr))->PixelsSize ()*5 ; break ;
1223- case I_8266_BB_400_3: size = (static_cast <B_8266_BB_400_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1224- case I_8266_U0_TM1_4: size = (static_cast <B_8266_U0_TM1_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1225- case I_8266_U1_TM1_4: size = (static_cast <B_8266_U1_TM1_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1223+ case I_8266_BB_400_3: size = (static_cast <B_8266_BB_400_3*>(busPtr))->PixelsSize (); break ;
1224+ case I_8266_U0_TM1_4: size = (static_cast <B_8266_U0_TM1_4*>(busPtr))->PixelsSize (); break ;
1225+ case I_8266_U1_TM1_4: size = (static_cast <B_8266_U1_TM1_4*>(busPtr))->PixelsSize (); break ;
12261226 case I_8266_DM_TM1_4: size = (static_cast <B_8266_DM_TM1_4*>(busPtr))->PixelsSize ()*5 ; break ;
1227- case I_8266_BB_TM1_4: size = (static_cast <B_8266_BB_TM1_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1228- case I_8266_U0_TM2_3: size = (static_cast <B_8266_U0_TM2_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1229- case I_8266_U1_TM2_3: size = (static_cast <B_8266_U1_TM2_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1227+ case I_8266_BB_TM1_4: size = (static_cast <B_8266_BB_TM1_4*>(busPtr))->PixelsSize (); break ;
1228+ case I_8266_U0_TM2_3: size = (static_cast <B_8266_U0_TM2_3*>(busPtr))->PixelsSize (); break ;
1229+ case I_8266_U1_TM2_3: size = (static_cast <B_8266_U1_TM2_3*>(busPtr))->PixelsSize (); break ;
12301230 case I_8266_DM_TM2_3: size = (static_cast <B_8266_DM_TM2_3*>(busPtr))->PixelsSize ()*5 ; break ;
1231- case I_8266_BB_TM2_3: size = (static_cast <B_8266_BB_TM2_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1232- case I_8266_U0_UCS_3: size = (static_cast <B_8266_U0_UCS_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1233- case I_8266_U1_UCS_3: size = (static_cast <B_8266_U1_UCS_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1231+ case I_8266_BB_TM2_3: size = (static_cast <B_8266_BB_TM2_3*>(busPtr))->PixelsSize (); break ;
1232+ case I_8266_U0_UCS_3: size = (static_cast <B_8266_U0_UCS_3*>(busPtr))->PixelsSize (); break ;
1233+ case I_8266_U1_UCS_3: size = (static_cast <B_8266_U1_UCS_3*>(busPtr))->PixelsSize (); break ;
12341234 case I_8266_DM_UCS_3: size = (static_cast <B_8266_DM_UCS_3*>(busPtr))->PixelsSize ()*5 ; break ;
1235- case I_8266_BB_UCS_3: size = (static_cast <B_8266_BB_UCS_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1236- case I_8266_U0_UCS_4: size = (static_cast <B_8266_U0_UCS_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1237- case I_8266_U1_UCS_4: size = (static_cast <B_8266_U1_UCS_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1235+ case I_8266_BB_UCS_3: size = (static_cast <B_8266_BB_UCS_3*>(busPtr))->PixelsSize (); break ;
1236+ case I_8266_U0_UCS_4: size = (static_cast <B_8266_U0_UCS_4*>(busPtr))->PixelsSize (); break ;
1237+ case I_8266_U1_UCS_4: size = (static_cast <B_8266_U1_UCS_4*>(busPtr))->PixelsSize (); break ;
12381238 case I_8266_DM_UCS_4: size = (static_cast <B_8266_DM_UCS_4*>(busPtr))->PixelsSize ()*5 ; break ;
1239- case I_8266_BB_UCS_4: size = (static_cast <B_8266_BB_UCS_4*>(busPtr))->PixelsSize ()* 2 ; break ;
1240- case I_8266_U0_APA106_3: size = (static_cast <B_8266_U0_APA106_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1241- case I_8266_U1_APA106_3: size = (static_cast <B_8266_U1_APA106_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1239+ case I_8266_BB_UCS_4: size = (static_cast <B_8266_BB_UCS_4*>(busPtr))->PixelsSize (); break ;
1240+ case I_8266_U0_APA106_3: size = (static_cast <B_8266_U0_APA106_3*>(busPtr))->PixelsSize (); break ;
1241+ case I_8266_U1_APA106_3: size = (static_cast <B_8266_U1_APA106_3*>(busPtr))->PixelsSize (); break ;
12421242 case I_8266_DM_APA106_3: size = (static_cast <B_8266_DM_APA106_3*>(busPtr))->PixelsSize ()*5 ; break ;
1243- case I_8266_BB_APA106_3: size = (static_cast <B_8266_BB_APA106_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1244- case I_8266_U0_FW6_5: size = (static_cast <B_8266_U0_FW6_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1245- case I_8266_U1_FW6_5: size = (static_cast <B_8266_U1_FW6_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1243+ case I_8266_BB_APA106_3: size = (static_cast <B_8266_BB_APA106_3*>(busPtr))->PixelsSize (); break ;
1244+ case I_8266_U0_FW6_5: size = (static_cast <B_8266_U0_FW6_5*>(busPtr))->PixelsSize (); break ;
1245+ case I_8266_U1_FW6_5: size = (static_cast <B_8266_U1_FW6_5*>(busPtr))->PixelsSize (); break ;
12461246 case I_8266_DM_FW6_5: size = (static_cast <B_8266_DM_FW6_5*>(busPtr))->PixelsSize ()*5 ; break ;
1247- case I_8266_BB_FW6_5: size = (static_cast <B_8266_BB_FW6_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1248- case I_8266_U0_2805_5: size = (static_cast <B_8266_U0_2805_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1249- case I_8266_U1_2805_5: size = (static_cast <B_8266_U1_2805_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1247+ case I_8266_BB_FW6_5: size = (static_cast <B_8266_BB_FW6_5*>(busPtr))->PixelsSize (); break ;
1248+ case I_8266_U0_2805_5: size = (static_cast <B_8266_U0_2805_5*>(busPtr))->PixelsSize (); break ;
1249+ case I_8266_U1_2805_5: size = (static_cast <B_8266_U1_2805_5*>(busPtr))->PixelsSize (); break ;
12501250 case I_8266_DM_2805_5: size = (static_cast <B_8266_DM_2805_5*>(busPtr))->PixelsSize ()*5 ; break ;
1251- case I_8266_BB_2805_5: size = (static_cast <B_8266_BB_2805_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1252- case I_8266_U0_TM1914_3: size = (static_cast <B_8266_U0_TM1914_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1253- case I_8266_U1_TM1914_3: size = (static_cast <B_8266_U1_TM1914_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1251+ case I_8266_BB_2805_5: size = (static_cast <B_8266_BB_2805_5*>(busPtr))->PixelsSize (); break ;
1252+ case I_8266_U0_TM1914_3: size = (static_cast <B_8266_U0_TM1914_3*>(busPtr))->PixelsSize (); break ;
1253+ case I_8266_U1_TM1914_3: size = (static_cast <B_8266_U1_TM1914_3*>(busPtr))->PixelsSize (); break ;
12541254 case I_8266_DM_TM1914_3: size = (static_cast <B_8266_DM_TM1914_3*>(busPtr))->PixelsSize ()*5 ; break ;
1255- case I_8266_BB_TM1914_3: size = (static_cast <B_8266_BB_TM1914_3*>(busPtr))->PixelsSize ()* 2 ; break ;
1256- case I_8266_U0_SM16825_5: size = (static_cast <B_8266_U0_SM16825_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1257- case I_8266_U1_SM16825_5: size = (static_cast <B_8266_U1_SM16825_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1255+ case I_8266_BB_TM1914_3: size = (static_cast <B_8266_BB_TM1914_3*>(busPtr))->PixelsSize (); break ;
1256+ case I_8266_U0_SM16825_5: size = (static_cast <B_8266_U0_SM16825_5*>(busPtr))->PixelsSize (); break ;
1257+ case I_8266_U1_SM16825_5: size = (static_cast <B_8266_U1_SM16825_5*>(busPtr))->PixelsSize (); break ;
12581258 case I_8266_DM_SM16825_5: size = (static_cast <B_8266_DM_SM16825_5*>(busPtr))->PixelsSize ()*5 ; break ;
1259- case I_8266_BB_SM16825_5: size = (static_cast <B_8266_BB_SM16825_5*>(busPtr))->PixelsSize ()* 2 ; break ;
1259+ case I_8266_BB_SM16825_5: size = (static_cast <B_8266_BB_SM16825_5*>(busPtr))->PixelsSize (); break ;
12601260 #endif
12611261 #ifdef ARDUINO_ARCH_ESP32
12621262 // RMT buses (front + back + small system managed RMT)
@@ -1308,68 +1308,65 @@ class PolyBus {
13081308 case I_NONE: size = 0 ; break ;
13091309 #ifdef ESP8266
13101310 // UART methods have front + back buffers + small UART
1311- case I_8266_U0_NEO_4: size = (size + count)* 2 ; break ; // 4 channels
1312- case I_8266_U1_NEO_4: size = (size + count)* 2 ; break ; // 4 channels
1313- case I_8266_BB_NEO_4: size = (size + count)* 2 ; break ; // 4 channels
1314- case I_8266_U0_TM1_4: size = (size + count)* 2 ; break ; // 4 channels
1315- case I_8266_U1_TM1_4: size = (size + count)* 2 ; break ; // 4 channels
1316- case I_8266_BB_TM1_4: size = (size + count)* 2 ; break ; // 4 channels
1317- case I_8266_U0_UCS_3: size *= 4 ; break ; // 16 bit
1318- case I_8266_U1_UCS_3: size *= 4 ; break ; // 16 bit
1319- case I_8266_BB_UCS_3: size *= 4 ; break ; // 16 bit
1320- case I_8266_U0_UCS_4: size = (size + count)* 2 * 2 ; break ; // 16 bit 4 channels
1321- case I_8266_U1_UCS_4: size = (size + count)* 2 * 2 ; break ; // 16 bit 4 channels
1322- case I_8266_BB_UCS_4: size = (size + count)*2 * 2 ; break ; // 16 bit 4 channels
1323- case I_8266_U0_FW6_5: size = (size + 2 *count)* 2 ; break ; // 5 channels
1324- case I_8266_U1_FW6_5: size = (size + 2 *count)* 2 ; break ; // 5channels
1325- case I_8266_BB_FW6_5: size = (size + 2 *count)* 2 ; break ; // 5 channels
1326- case I_8266_U0_2805_5: size = (size + 2 *count)* 2 ; break ; // 5 channels
1327- case I_8266_U1_2805_5: size = (size + 2 *count)* 2 ; break ; // 5 channels
1328- case I_8266_BB_2805_5: size = (size + 2 *count)* 2 ; break ; // 5 channels
1329- case I_8266_U0_SM16825_5: size = (size + 2 *count)* 2 * 2 ; break ; // 16 bit 5 channels
1330- case I_8266_U1_SM16825_5: size = (size + 2 *count)* 2 * 2 ; break ; // 16 bit 5 channels
1331- case I_8266_BB_SM16825_5: size = (size + 2 *count)*2 * 2 ; break ; // 16 bit 5 channels
1332- // DMA methods have front + DMA buffer = ((1+(3+1)) * channels)
1333- case I_8266_DM_NEO_3: size *= 5 ; break ;
1334- case I_8266_DM_NEO_4: size = (size + count)* 5 ; break ;
1335- case I_8266_DM_400_3: size *= 5 ; break ;
1336- case I_8266_DM_TM1_4: size = (size + count)* 5 ; break ;
1337- case I_8266_DM_TM2_3 : size *= 5 ; break ;
1338- case I_8266_DM_UCS_3: size *= 2 * 5 ; break ;
1339- case I_8266_DM_UCS_4 : size = (size + count)*2 * 5 ; break ;
1340- case I_8266_DM_APA106_3 : size *= 5 ; break ;
1341- case I_8266_DM_FW6_5 : size = (size + 2 * count)*5 ; break ;
1342- case I_8266_DM_2805_5: size = (size + 2 *count)* 5 ; break ;
1343- case I_8266_DM_TM1914_3 : size *= 5 ; break ;
1311+ case I_8266_U0_NEO_4 : // fallthrough
1312+ case I_8266_U1_NEO_4 : // fallthrough
1313+ case I_8266_BB_NEO_4 : // fallthrough
1314+ case I_8266_U0_TM1_4 : // fallthrough
1315+ case I_8266_U1_TM1_4 : // fallthrough
1316+ case I_8266_BB_TM1_4 : size = (size + count); break ; // 4 channels
1317+ case I_8266_U0_UCS_3 : // fallthrough
1318+ case I_8266_U1_UCS_3 : // fallthrough
1319+ case I_8266_BB_UCS_3 : size *= 2 ; break ; // 16 bit
1320+ case I_8266_U0_UCS_4 : // fallthrough
1321+ case I_8266_U1_UCS_4 : // fallthrough
1322+ case I_8266_BB_UCS_4 : size = (size + count)*2 ; break ; // 16 bit 4 channels
1323+ case I_8266_U0_FW6_5 : // fallthrough
1324+ case I_8266_U1_FW6_5 : // fallthrough
1325+ case I_8266_BB_FW6_5 : // fallthrough
1326+ case I_8266_U0_2805_5 : // fallthrough
1327+ case I_8266_U1_2805_5 : // fallthrough
1328+ case I_8266_BB_2805_5 : size = (size + 2 *count); break ; // 5 channels
1329+ case I_8266_U0_SM16825_5: // fallthrough
1330+ case I_8266_U1_SM16825_5: // fallthrough
1331+ case I_8266_BB_SM16825_5: size = (size + 2 *count)*2 ; break ; // 16 bit 5 channels
1332+ // DMA methods have front + DMA buffer = ((1+(3+1)) * channels; exact value is a bit of mistery - needs a dig into NPB )
1333+ case I_8266_DM_NEO_3 : // fallthrough
1334+ case I_8266_DM_400_3 : // fallthrough
1335+ case I_8266_DM_TM2_3 : // fallthrough
1336+ case I_8266_DM_APA106_3 : // fallthrough
1337+ case I_8266_DM_TM1914_3 : size *= 5 ; break ;
1338+ case I_8266_DM_NEO_4 : // fallthrough
1339+ case I_8266_DM_TM1_4 : size = (size + count)*5 ; break ;
1340+ case I_8266_DM_UCS_3 : size *= 2 * 5 ; break ;
1341+ case I_8266_DM_UCS_4 : size = (size + count)*2 * 5 ; break ;
1342+ case I_8266_DM_FW6_5 : // fallthrough
1343+ case I_8266_DM_2805_5 : size = (size + 2 *count)* 5 ; break ;
13441344 case I_8266_DM_SM16825_5: size = (size + 2 *count)*2 *5 ; break ;
1345- #endif
1346- #ifdef ARDUINO_ARCH_ESP32
1347- // RMT buses (1x front and 1x back buffer)
1348- case I_32_RN_NEO_4: size = (size + count)*2 ; break ;
1349- case I_32_RN_TM1_4: size = (size + count)*2 ; break ;
1350- case I_32_RN_UCS_3: size *= 2 *2 ; break ;
1351- case I_32_RN_UCS_4: size = (size + count)*2 *2 ; break ;
1352- case I_32_RN_FW6_5: size = (size + 2 *count)*2 ; break ;
1353- case I_32_RN_2805_5: size = (size + 2 *count)*2 ; break ;
1354- case I_32_RN_SM16825_5: size = (size + 2 *count)*2 *2 ; break ;
1355- // I2S1 bus or paralell buses (individual 1x front and 1 DMA (3x or 4x pixel count) or common back DMA buffers)
1345+ #else
1346+ // RMT buses (1x front and 1x back buffer, does not include small RMT buffer)
1347+ case I_32_RN_NEO_4 : // fallthrough
1348+ case I_32_RN_TM1_4 : size = (size + count)*2 ; break ; // 4 channels
1349+ case I_32_RN_UCS_3 : size *= 2 *2 ; break ; // 16bit
1350+ case I_32_RN_UCS_4 : size = (size + count)*2 *2 ; break ; // 16bit, 4 channels
1351+ case I_32_RN_FW6_5 : // fallthrough
1352+ case I_32_RN_2805_5 : size = (size + 2 *count)*2 ; break ; // 5 channels
1353+ case I_32_RN_SM16825_5: size = (size + 2 *count)*2 *2 ; break ; // 16bit, 5 channels
1354+ // I2S1 bus or paralell I2S1 buses (1x front, does not include DMA buffer which is front*cadence, a bit(?) more for LCD)
13561355 #ifndef CONFIG_IDF_TARGET_ESP32C3
1357- case I_32_I2_NEO_3: size *= 4 ; break ;
1358- case I_32_I2_NEO_4: size = (size + count)*4 ; break ;
1359- case I_32_I2_400_3: size *= 4 ; break ;
1360- case I_32_I2_TM1_4: size = (size + count)*4 ; break ;
1361- case I_32_I2_TM2_3: size *= 4 ; break ;
1362- case I_32_I2_UCS_3: size *= 2 *4 ; break ;
1363- case I_32_I2_UCS_4: size = (size + count)*2 *4 ; break ;
1364- case I_32_I2_APA106_3: size *= 4 ; break ;
1365- case I_32_I2_FW6_5: size = (size + 2 *count)*4 ; break ;
1366- case I_32_I2_2805_5: size = (size + 2 *count)*4 ; break ;
1367- case I_32_I2_TM1914_3: size *= 4 ; break ;
1368- case I_32_I2_SM16825_5: size = (size + 2 *count)*2 *4 ; break ;
1356+ case I_32_I2_NEO_3 : // fallthrough
1357+ case I_32_I2_400_3 : // fallthrough
1358+ case I_32_I2_TM2_3 : // fallthrough
1359+ case I_32_I2_APA106_3 : break ; // do nothing, I2S uses single buffer + DMA buffer
1360+ case I_32_I2_NEO_4 : // fallthrough
1361+ case I_32_I2_TM1_4 : size = (size + count); break ; // 4 channels
1362+ case I_32_I2_UCS_3 : size *= 2 ; break ; // 16 bit
1363+ case I_32_I2_UCS_4 : size = (size + count)*2 ; break ; // 16 bit, 4 channels
1364+ case I_32_I2_FW6_5 : // fallthrough
1365+ case I_32_I2_2805_5 : size = (size + 2 *count); break ; // 5 channels
1366+ case I_32_I2_SM16825_5: size = (size + 2 *count)*2 ; break ; // 16 bit, 5 channels
13691367 #endif
1368+ default : size *= 2 ; break ; // everything else uses 2 buffers
13701369 #endif
1371- // everything else uses 2 buffers
1372- default : size *= 2 ; break ;
13731370 }
13741371 return size;
13751372 }
0 commit comments