- if (dinfo.comp_info[0].h_samp_factor != 2 ||
- dinfo.comp_info[1].h_samp_factor != 1 ||
- dinfo.comp_info[1].v_samp_factor != dinfo.comp_info[0].v_samp_factor ||
- dinfo.comp_info[2].h_samp_factor != 1 ||
- dinfo.comp_info[2].v_samp_factor != dinfo.comp_info[0].v_samp_factor) {
- fprintf(stderr, "Not 4:2:2. (Y=%dx%d, Cb=%dx%d, Cr=%dx%d)\n",
+
+ const bool is_422 =
+ dinfo.comp_info[0].h_samp_factor == 2 &&
+ dinfo.comp_info[1].h_samp_factor == 1 &&
+ dinfo.comp_info[1].v_samp_factor == dinfo.comp_info[0].v_samp_factor &&
+ dinfo.comp_info[2].h_samp_factor == 1 &&
+ dinfo.comp_info[2].v_samp_factor == dinfo.comp_info[0].v_samp_factor;
+ const bool is_420 =
+ dinfo.comp_info[0].h_samp_factor == 2 &&
+ dinfo.comp_info[0].v_samp_factor == 2 &&
+ dinfo.comp_info[1].h_samp_factor == 1 &&
+ dinfo.comp_info[1].v_samp_factor == 1 &&
+ dinfo.comp_info[2].h_samp_factor == 1 &&
+ dinfo.comp_info[2].v_samp_factor == 1;
+ if (!is_422 && !is_420) {
+ fprintf(stderr, "Not 4:2:2 or 4:2:0. (Y=%dx%d, Cb=%dx%d, Cr=%dx%d)\n",