Example #1
0
File: image.hpp Project: kif/FLIF
    // access pixel by coordinate
    ColorVal operator()(const int p, const uint32_t r, const uint32_t c) const {
      assert(p>=0);
      assert(depth == 8 || depth == 16);
      if (p<4 && constant[p]) return constant_val[p];
#ifdef SUPPORT_HDR
      if (depth <= 8) {
#endif
        switch(p) {
          case 0: return plane_8_1->get(r,c);
          case 1: return plane_16_1->get(r,c);
          case 2: return plane_16_2->get(r,c);
          case 3: return plane_8_2->get(r,c);
          default: return plane_frame_lookbacks->get(r,c);
        }
#ifdef SUPPORT_HDR
      } else {
        switch(p) {
          case 0: return plane_16_1->get(r,c);
          case 1: return plane_32_1->get(r,c);
          case 2: return plane_32_2->get(r,c);
          case 3: return plane_16_2->get(r,c);
          default: return plane_frame_lookbacks->get(r,c);
        }
      }
#endif
    }