Hi Vivek,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v5.0-rc4 next-20190207]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Vivek-Kasireddy/Add-support-for-32-bit-packed-YUV-formats/20190208-173506
base:   git://linuxtv.org/media_tree.git master
config: i386-randconfig-x017-201905 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-15) 8.2.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/media/common/v4l2-tpg/v4l2-tpg-core.c: In function 'gen_twopix':
>> drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:1283:2: error: duplicate case 
>> value
     case V4L2_PIX_FMT_YUV32:
     ^~~~
   drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:1281:2: note: previously used 
here
     case V4L2_PIX_FMT_YUV32:
     ^~~~

vim +1283 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c

  1051  
  1052  /* 'odd' is true for pixels 1, 3, 5, etc. and false for pixels 0, 2, 4, 
etc. */
  1053  static void gen_twopix(struct tpg_data *tpg,
  1054                  u8 buf[TPG_MAX_PLANES][8], int color, bool odd)
  1055  {
  1056          unsigned offset = odd * tpg->twopixelsize[0] / 2;
  1057          u8 alpha = tpg->alpha_component;
  1058          u8 r_y_h, g_u_s, b_v;
  1059  
  1060          if (tpg->alpha_red_only && color != TPG_COLOR_CSC_RED &&
  1061                                     color != TPG_COLOR_100_RED &&
  1062                                     color != TPG_COLOR_75_RED)
  1063                  alpha = 0;
  1064          if (color == TPG_COLOR_RANDOM)
  1065                  precalculate_color(tpg, color);
  1066          r_y_h = tpg->colors[color][0]; /* R or precalculated Y, H */
  1067          g_u_s = tpg->colors[color][1]; /* G or precalculated U, V */
  1068          b_v = tpg->colors[color][2]; /* B or precalculated V */
  1069  
  1070          switch (tpg->fourcc) {
  1071          case V4L2_PIX_FMT_GREY:
  1072                  buf[0][offset] = r_y_h;
  1073                  break;
  1074          case V4L2_PIX_FMT_Y10:
  1075                  buf[0][offset] = (r_y_h << 2) & 0xff;
  1076                  buf[0][offset+1] = r_y_h >> 6;
  1077                  break;
  1078          case V4L2_PIX_FMT_Y12:
  1079                  buf[0][offset] = (r_y_h << 4) & 0xff;
  1080                  buf[0][offset+1] = r_y_h >> 4;
  1081                  break;
  1082          case V4L2_PIX_FMT_Y16:
  1083          case V4L2_PIX_FMT_Z16:
  1084                  /*
  1085                   * Ideally both bytes should be set to r_y_h, but then 
you won't
  1086                   * be able to detect endian problems. So keep it 0 
except for
  1087                   * the corner case where r_y_h is 0xff so white really 
will be
  1088                   * white (0xffff).
  1089                   */
  1090                  buf[0][offset] = r_y_h == 0xff ? r_y_h : 0;
  1091                  buf[0][offset+1] = r_y_h;
  1092                  break;
  1093          case V4L2_PIX_FMT_Y16_BE:
  1094                  /* See comment for V4L2_PIX_FMT_Y16 above */
  1095                  buf[0][offset] = r_y_h;
  1096                  buf[0][offset+1] = r_y_h == 0xff ? r_y_h : 0;
  1097                  break;
  1098          case V4L2_PIX_FMT_YUV422M:
  1099          case V4L2_PIX_FMT_YUV422P:
  1100          case V4L2_PIX_FMT_YUV420:
  1101          case V4L2_PIX_FMT_YUV420M:
  1102                  buf[0][offset] = r_y_h;
  1103                  if (odd) {
  1104                          buf[1][0] = (buf[1][0] + g_u_s) / 2;
  1105                          buf[2][0] = (buf[2][0] + b_v) / 2;
  1106                          buf[1][1] = buf[1][0];
  1107                          buf[2][1] = buf[2][0];
  1108                          break;
  1109                  }
  1110                  buf[1][0] = g_u_s;
  1111                  buf[2][0] = b_v;
  1112                  break;
  1113          case V4L2_PIX_FMT_YVU422M:
  1114          case V4L2_PIX_FMT_YVU420:
  1115          case V4L2_PIX_FMT_YVU420M:
  1116                  buf[0][offset] = r_y_h;
  1117                  if (odd) {
  1118                          buf[1][0] = (buf[1][0] + b_v) / 2;
  1119                          buf[2][0] = (buf[2][0] + g_u_s) / 2;
  1120                          buf[1][1] = buf[1][0];
  1121                          buf[2][1] = buf[2][0];
  1122                          break;
  1123                  }
  1124                  buf[1][0] = b_v;
  1125                  buf[2][0] = g_u_s;
  1126                  break;
  1127  
  1128          case V4L2_PIX_FMT_NV12:
  1129          case V4L2_PIX_FMT_NV12M:
  1130          case V4L2_PIX_FMT_NV16:
  1131          case V4L2_PIX_FMT_NV16M:
  1132                  buf[0][offset] = r_y_h;
  1133                  if (odd) {
  1134                          buf[1][0] = (buf[1][0] + g_u_s) / 2;
  1135                          buf[1][1] = (buf[1][1] + b_v) / 2;
  1136                          break;
  1137                  }
  1138                  buf[1][0] = g_u_s;
  1139                  buf[1][1] = b_v;
  1140                  break;
  1141          case V4L2_PIX_FMT_NV21:
  1142          case V4L2_PIX_FMT_NV21M:
  1143          case V4L2_PIX_FMT_NV61:
  1144          case V4L2_PIX_FMT_NV61M:
  1145                  buf[0][offset] = r_y_h;
  1146                  if (odd) {
  1147                          buf[1][0] = (buf[1][0] + b_v) / 2;
  1148                          buf[1][1] = (buf[1][1] + g_u_s) / 2;
  1149                          break;
  1150                  }
  1151                  buf[1][0] = b_v;
  1152                  buf[1][1] = g_u_s;
  1153                  break;
  1154  
  1155          case V4L2_PIX_FMT_YUV444M:
  1156                  buf[0][offset] = r_y_h;
  1157                  buf[1][offset] = g_u_s;
  1158                  buf[2][offset] = b_v;
  1159                  break;
  1160  
  1161          case V4L2_PIX_FMT_YVU444M:
  1162                  buf[0][offset] = r_y_h;
  1163                  buf[1][offset] = b_v;
  1164                  buf[2][offset] = g_u_s;
  1165                  break;
  1166  
  1167          case V4L2_PIX_FMT_NV24:
  1168                  buf[0][offset] = r_y_h;
  1169                  buf[1][2 * offset] = g_u_s;
  1170                  buf[1][(2 * offset + 1) % 8] = b_v;
  1171                  break;
  1172  
  1173          case V4L2_PIX_FMT_NV42:
  1174                  buf[0][offset] = r_y_h;
  1175                  buf[1][2 * offset] = b_v;
  1176                  buf[1][(2 * offset + 1) % 8] = g_u_s;
  1177                  break;
  1178  
  1179          case V4L2_PIX_FMT_YUYV:
  1180                  buf[0][offset] = r_y_h;
  1181                  if (odd) {
  1182                          buf[0][1] = (buf[0][1] + g_u_s) / 2;
  1183                          buf[0][3] = (buf[0][3] + b_v) / 2;
  1184                          break;
  1185                  }
  1186                  buf[0][1] = g_u_s;
  1187                  buf[0][3] = b_v;
  1188                  break;
  1189          case V4L2_PIX_FMT_UYVY:
  1190                  buf[0][offset + 1] = r_y_h;
  1191                  if (odd) {
  1192                          buf[0][0] = (buf[0][0] + g_u_s) / 2;
  1193                          buf[0][2] = (buf[0][2] + b_v) / 2;
  1194                          break;
  1195                  }
  1196                  buf[0][0] = g_u_s;
  1197                  buf[0][2] = b_v;
  1198                  break;
  1199          case V4L2_PIX_FMT_YVYU:
  1200                  buf[0][offset] = r_y_h;
  1201                  if (odd) {
  1202                          buf[0][1] = (buf[0][1] + b_v) / 2;
  1203                          buf[0][3] = (buf[0][3] + g_u_s) / 2;
  1204                          break;
  1205                  }
  1206                  buf[0][1] = b_v;
  1207                  buf[0][3] = g_u_s;
  1208                  break;
  1209          case V4L2_PIX_FMT_VYUY:
  1210                  buf[0][offset + 1] = r_y_h;
  1211                  if (odd) {
  1212                          buf[0][0] = (buf[0][0] + b_v) / 2;
  1213                          buf[0][2] = (buf[0][2] + g_u_s) / 2;
  1214                          break;
  1215                  }
  1216                  buf[0][0] = b_v;
  1217                  buf[0][2] = g_u_s;
  1218                  break;
  1219          case V4L2_PIX_FMT_RGB332:
  1220                  buf[0][offset] = (r_y_h << 5) | (g_u_s << 2) | b_v;
  1221                  break;
  1222          case V4L2_PIX_FMT_YUV565:
  1223          case V4L2_PIX_FMT_RGB565:
  1224                  buf[0][offset] = (g_u_s << 5) | b_v;
  1225                  buf[0][offset + 1] = (r_y_h << 3) | (g_u_s >> 3);
  1226                  break;
  1227          case V4L2_PIX_FMT_RGB565X:
  1228                  buf[0][offset] = (r_y_h << 3) | (g_u_s >> 3);
  1229                  buf[0][offset + 1] = (g_u_s << 5) | b_v;
  1230                  break;
  1231          case V4L2_PIX_FMT_RGB444:
  1232          case V4L2_PIX_FMT_XRGB444:
  1233                  alpha = 0;
  1234                  /* fall through */
  1235          case V4L2_PIX_FMT_YUV444:
  1236          case V4L2_PIX_FMT_ARGB444:
  1237                  buf[0][offset] = (g_u_s << 4) | b_v;
  1238                  buf[0][offset + 1] = (alpha & 0xf0) | r_y_h;
  1239                  break;
  1240          case V4L2_PIX_FMT_RGB555:
  1241          case V4L2_PIX_FMT_XRGB555:
  1242                  alpha = 0;
  1243                  /* fall through */
  1244          case V4L2_PIX_FMT_YUV555:
  1245          case V4L2_PIX_FMT_ARGB555:
  1246                  buf[0][offset] = (g_u_s << 5) | b_v;
  1247                  buf[0][offset + 1] = (alpha & 0x80) | (r_y_h << 2)
  1248                                                      | (g_u_s >> 3);
  1249                  break;
  1250          case V4L2_PIX_FMT_RGB555X:
  1251          case V4L2_PIX_FMT_XRGB555X:
  1252                  alpha = 0;
  1253                  /* fall through */
  1254          case V4L2_PIX_FMT_ARGB555X:
  1255                  buf[0][offset] = (alpha & 0x80) | (r_y_h << 2) | (g_u_s 
>> 3);
  1256                  buf[0][offset + 1] = (g_u_s << 5) | b_v;
  1257                  break;
  1258          case V4L2_PIX_FMT_RGB24:
  1259          case V4L2_PIX_FMT_HSV24:
  1260                  buf[0][offset] = r_y_h;
  1261                  buf[0][offset + 1] = g_u_s;
  1262                  buf[0][offset + 2] = b_v;
  1263                  break;
  1264          case V4L2_PIX_FMT_BGR24:
  1265                  buf[0][offset] = b_v;
  1266                  buf[0][offset + 1] = g_u_s;
  1267                  buf[0][offset + 2] = r_y_h;
  1268                  break;
  1269          case V4L2_PIX_FMT_BGR666:
  1270                  buf[0][offset] = (b_v << 2) | (g_u_s >> 4);
  1271                  buf[0][offset + 1] = (g_u_s << 4) | (r_y_h >> 2);
  1272                  buf[0][offset + 2] = r_y_h << 6;
  1273                  buf[0][offset + 3] = 0;
  1274                  break;
  1275          case V4L2_PIX_FMT_RGB32:
  1276          case V4L2_PIX_FMT_XRGB32:
  1277          case V4L2_PIX_FMT_HSV32:
  1278          case V4L2_PIX_FMT_XYUV32:
  1279                  alpha = 0;
  1280                  /* fall through */
  1281          case V4L2_PIX_FMT_YUV32:
  1282          case V4L2_PIX_FMT_ARGB32:
> 1283          case V4L2_PIX_FMT_YUV32:
  1284          case V4L2_PIX_FMT_AYUV32:
  1285                  buf[0][offset] = alpha;
  1286                  buf[0][offset + 1] = r_y_h;
  1287                  buf[0][offset + 2] = g_u_s;
  1288                  buf[0][offset + 3] = b_v;
  1289                  break;
  1290          case V4L2_PIX_FMT_BGR32:
  1291          case V4L2_PIX_FMT_XBGR32:
  1292          case V4L2_PIX_FMT_VUYX32:
  1293                  alpha = 0;
  1294                  /* fall through */
  1295          case V4L2_PIX_FMT_ABGR32:
  1296          case V4L2_PIX_FMT_VUYA32:
  1297                  buf[0][offset] = b_v;
  1298                  buf[0][offset + 1] = g_u_s;
  1299                  buf[0][offset + 2] = r_y_h;
  1300                  buf[0][offset + 3] = alpha;
  1301                  break;
  1302          case V4L2_PIX_FMT_SBGGR8:
  1303                  buf[0][offset] = odd ? g_u_s : b_v;
  1304                  buf[1][offset] = odd ? r_y_h : g_u_s;
  1305                  break;
  1306          case V4L2_PIX_FMT_SGBRG8:
  1307                  buf[0][offset] = odd ? b_v : g_u_s;
  1308                  buf[1][offset] = odd ? g_u_s : r_y_h;
  1309                  break;
  1310          case V4L2_PIX_FMT_SGRBG8:
  1311                  buf[0][offset] = odd ? r_y_h : g_u_s;
  1312                  buf[1][offset] = odd ? g_u_s : b_v;
  1313                  break;
  1314          case V4L2_PIX_FMT_SRGGB8:
  1315                  buf[0][offset] = odd ? g_u_s : r_y_h;
  1316                  buf[1][offset] = odd ? b_v : g_u_s;
  1317                  break;
  1318          case V4L2_PIX_FMT_SBGGR10:
  1319                  buf[0][offset] = odd ? g_u_s << 2 : b_v << 2;
  1320                  buf[0][offset + 1] = odd ? g_u_s >> 6 : b_v >> 6;
  1321                  buf[1][offset] = odd ? r_y_h << 2 : g_u_s << 2;
  1322                  buf[1][offset + 1] = odd ? r_y_h >> 6 : g_u_s >> 6;
  1323                  buf[0][offset] |= (buf[0][offset] >> 2) & 3;
  1324                  buf[1][offset] |= (buf[1][offset] >> 2) & 3;
  1325                  break;
  1326          case V4L2_PIX_FMT_SGBRG10:
  1327                  buf[0][offset] = odd ? b_v << 2 : g_u_s << 2;
  1328                  buf[0][offset + 1] = odd ? b_v >> 6 : g_u_s >> 6;
  1329                  buf[1][offset] = odd ? g_u_s << 2 : r_y_h << 2;
  1330                  buf[1][offset + 1] = odd ? g_u_s >> 6 : r_y_h >> 6;
  1331                  buf[0][offset] |= (buf[0][offset] >> 2) & 3;
  1332                  buf[1][offset] |= (buf[1][offset] >> 2) & 3;
  1333                  break;
  1334          case V4L2_PIX_FMT_SGRBG10:
  1335                  buf[0][offset] = odd ? r_y_h << 2 : g_u_s << 2;
  1336                  buf[0][offset + 1] = odd ? r_y_h >> 6 : g_u_s >> 6;
  1337                  buf[1][offset] = odd ? g_u_s << 2 : b_v << 2;
  1338                  buf[1][offset + 1] = odd ? g_u_s >> 6 : b_v >> 6;
  1339                  buf[0][offset] |= (buf[0][offset] >> 2) & 3;
  1340                  buf[1][offset] |= (buf[1][offset] >> 2) & 3;
  1341                  break;
  1342          case V4L2_PIX_FMT_SRGGB10:
  1343                  buf[0][offset] = odd ? g_u_s << 2 : r_y_h << 2;
  1344                  buf[0][offset + 1] = odd ? g_u_s >> 6 : r_y_h >> 6;
  1345                  buf[1][offset] = odd ? b_v << 2 : g_u_s << 2;
  1346                  buf[1][offset + 1] = odd ? b_v >> 6 : g_u_s >> 6;
  1347                  buf[0][offset] |= (buf[0][offset] >> 2) & 3;
  1348                  buf[1][offset] |= (buf[1][offset] >> 2) & 3;
  1349                  break;
  1350          case V4L2_PIX_FMT_SBGGR12:
  1351                  buf[0][offset] = odd ? g_u_s << 4 : b_v << 4;
  1352                  buf[0][offset + 1] = odd ? g_u_s >> 4 : b_v >> 4;
  1353                  buf[1][offset] = odd ? r_y_h << 4 : g_u_s << 4;
  1354                  buf[1][offset + 1] = odd ? r_y_h >> 4 : g_u_s >> 4;
  1355                  buf[0][offset] |= (buf[0][offset] >> 4) & 0xf;
  1356                  buf[1][offset] |= (buf[1][offset] >> 4) & 0xf;
  1357                  break;
  1358          case V4L2_PIX_FMT_SGBRG12:
  1359                  buf[0][offset] = odd ? b_v << 4 : g_u_s << 4;
  1360                  buf[0][offset + 1] = odd ? b_v >> 4 : g_u_s >> 4;
  1361                  buf[1][offset] = odd ? g_u_s << 4 : r_y_h << 4;
  1362                  buf[1][offset + 1] = odd ? g_u_s >> 4 : r_y_h >> 4;
  1363                  buf[0][offset] |= (buf[0][offset] >> 4) & 0xf;
  1364                  buf[1][offset] |= (buf[1][offset] >> 4) & 0xf;
  1365                  break;
  1366          case V4L2_PIX_FMT_SGRBG12:
  1367                  buf[0][offset] = odd ? r_y_h << 4 : g_u_s << 4;
  1368                  buf[0][offset + 1] = odd ? r_y_h >> 4 : g_u_s >> 4;
  1369                  buf[1][offset] = odd ? g_u_s << 4 : b_v << 4;
  1370                  buf[1][offset + 1] = odd ? g_u_s >> 4 : b_v >> 4;
  1371                  buf[0][offset] |= (buf[0][offset] >> 4) & 0xf;
  1372                  buf[1][offset] |= (buf[1][offset] >> 4) & 0xf;
  1373                  break;
  1374          case V4L2_PIX_FMT_SRGGB12:
  1375                  buf[0][offset] = odd ? g_u_s << 4 : r_y_h << 4;
  1376                  buf[0][offset + 1] = odd ? g_u_s >> 4 : r_y_h >> 4;
  1377                  buf[1][offset] = odd ? b_v << 4 : g_u_s << 4;
  1378                  buf[1][offset + 1] = odd ? b_v >> 4 : g_u_s >> 4;
  1379                  buf[0][offset] |= (buf[0][offset] >> 4) & 0xf;
  1380                  buf[1][offset] |= (buf[1][offset] >> 4) & 0xf;
  1381                  break;
  1382          case V4L2_PIX_FMT_SBGGR16:
  1383                  buf[0][offset] = buf[0][offset + 1] = odd ? g_u_s : b_v;
  1384                  buf[1][offset] = buf[1][offset + 1] = odd ? r_y_h : 
g_u_s;
  1385                  break;
  1386          case V4L2_PIX_FMT_SGBRG16:
  1387                  buf[0][offset] = buf[0][offset + 1] = odd ? b_v : g_u_s;
  1388                  buf[1][offset] = buf[1][offset + 1] = odd ? g_u_s : 
r_y_h;
  1389                  break;
  1390          case V4L2_PIX_FMT_SGRBG16:
  1391                  buf[0][offset] = buf[0][offset + 1] = odd ? r_y_h : 
g_u_s;
  1392                  buf[1][offset] = buf[1][offset + 1] = odd ? g_u_s : b_v;
  1393                  break;
  1394          case V4L2_PIX_FMT_SRGGB16:
  1395                  buf[0][offset] = buf[0][offset + 1] = odd ? g_u_s : 
r_y_h;
  1396                  buf[1][offset] = buf[1][offset + 1] = odd ? b_v : g_u_s;
  1397                  break;
  1398          }
  1399  }
  1400  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to