code: def _validate_codeblock_size(self, cparams):
          
          if cparams.cblockw_init != 0 and cparams.cblockh_init != 0:
              # These fields ARE zero if uninitialized.
              width = cparams.cblockw_init
              height = cparams.cblockh_init
              if height * width > 4096 or height < 4 or width < 4:
                  msg = ("The code block area is specified as "
                         "{height} x {width} = {area} square pixels.  "
                         "Code block area cannot exceed 4096 square pixels.  "
                         "Code block height and width dimensions must be larger "
                         "than 4 pixels.")
                  msg = msg.format(height=height, width=width,
                                   area=height * width)
                  raise IOError(msg)
              if ((math.log(height, 2) != math.floor(math.log(height, 2)) or
                   math.log(width, 2) != math.floor(math.log(width, 2)))):
                  msg = ("Bad code block size ({height} x {width}).  "
                         "The dimensions must be powers of 2.")
                  msg = msg.format(height=height, width=width)
                  raise IOError(msg)
docs: Code block dimensions must satisfy certain restrictions.
  
          They must both be a power of 2 and the total area defined by the width
          and height cannot be either too great or too small for the codec.