code: def proc_extra_field(label_store, filebytes, bpi, subtype, chan, num, aux_note, update):
      
  
      # aux_note and sub are reset between annotations. chan and num copy over
      # previous value if missing.
  
      # SUB
      if label_store == 61:
          # sub is interpreted as signed char.
          subtype.append(filebytes[bpi, 0].astype('i1'))
          update['subtype'] = False
          bpi = bpi + 1
      # CHAN
      elif label_store == 62:
          # chan is interpreted as un_signed char
          chan.append(filebytes[bpi, 0])
          update['chan'] = False
          bpi = bpi + 1
      # NUM
      elif label_store == 60:
          # num is interpreted as signed char
          num.append(filebytes[bpi, 0].astype('i1'))
          update['num'] = False
          bpi = bpi + 1
      # aux_note
      elif label_store == 63:
          # length of aux_note string. Max 256? No need to check other bits of
          # second byte?
          aux_notelen = filebytes[bpi, 0]
          aux_notebytes = filebytes[bpi + 1:bpi + 1 + int(np.ceil(aux_notelen / 2.)),:].flatten()
          if aux_notelen & 1:
              aux_notebytes = aux_notebytes[:-1]
          # The aux_note string
          aux_note.append("".join([chr(char) for char in aux_notebytes]))
          update['aux_note'] = False
          bpi = bpi + 1 + int(np.ceil(aux_notelen / 2.))
  
      return subtype, chan, num, aux_note, update, bpi
docs: Process extra fields belonging to the current annotation.
      Potential updated fields: subtype, chan, num, aux_note