read_enc
do { write_enc(val, addr); read_enc(addr); } while (0)
u32 wr_idx = (read_enc(itv->pgm_info_offset) - itv->pgm_info_offset - 4) / 24;
e->offset = read_enc(addr + 4) + ((u64)read_enc(addr + 8) << 32);
e->length = read_enc(addr);
e->pts = read_enc(addr + 16) + ((u64)(read_enc(addr + 20) & 1) << 32);
e->flags = mapping[read_enc(addr + 12) & 7];
offset = read_enc(itv->vbi.enc_start - 4) + 12;
s->pending_pts = read_enc(offset - 4) | ((u64)read_enc(offset - 8) << 32);
s->pending_backup = read_enc(offset);