// copy ART_ACTION(action4__copy, ActorInstance_RVC_decoder__texture_V__IAP) { int32_t ac; int32_t h; bool_t top_edge; int32_t pred; int32_t v; int32_t index; bool_t left_edge; ART_ACTION_ENTER(action4__copy, 4); ac = pinRead_int32_t(IN0_PQF_AC); h = bitand(rshift(thisActor->count, 3), 7); top_edge = (h == 0); pred = ac; v = bitand(thisActor->count, 7); index = ((top_edge) ? (v):(bitor(h, 8))); left_edge = (v == 0); if ((thisActor->acpred_flag && ((thisActor->top && top_edge) || ((!(thisActor->top)) && left_edge)))) { if ((thisActor->s_prev_quant == thisActor->s_quant)) { pred = (pred + thisActor->buf[bitor(lshift(thisActor->pred_ptr, 4), index)]); } else { pred = (pred + RVC_decoder__texture_V__IAPdivroundnearest(thisActor, (thisActor->buf[bitor(lshift(thisActor->pred_ptr, 4), index)] * thisActor->s_prev_quant), thisActor->s_quant)); } } if ((left_edge || top_edge)) { thisActor->buf[bitor(lshift(thisActor->ptr, 4), index)] = pred; } thisActor->count = (thisActor->count + 1); pinWrite_int32_t(OUT0_QF_AC, pred); ART_ACTION_EXIT(action4__copy, 4); }
// read_only ART_ACTION(action3__read_only, ActorInstance_RVC_decoder__texture_Y__IS) { int32_t ac; ART_ACTION_ENTER(action3__read_only, 3); ac = pinRead_int32_t(IN1_QFS_AC); thisActor->buf[bitor(bitand(thisActor->count, 63), ((thisActor->half) ? (64):(0)))] = ac; thisActor->count = (thisActor->count + 1); ART_ACTION_EXIT(action3__read_only, 3); }
// read_write ART_ACTION(action5__read_write, ActorInstance_RVC_decoder__texture_Y__IS) { int32_t ac; ART_ACTION_ENTER(action5__read_write, 5); ac = pinRead_int32_t(IN1_QFS_AC); thisActor->buf[bitor(bitand(thisActor->count, 63), ((thisActor->half) ? (64):(0)))] = ac; thisActor->count = (thisActor->count + 1); thisActor->addr = (thisActor->addr + 1); pinWrite_int32_t(OUT0_PQF_AC, thisActor->buf[RVC_decoder__texture_Y__ISra(thisActor, Scanmode[thisActor->addr])]); ART_ACTION_EXIT(action5__read_write, 5); }
inline spure T uniform_crossover_bits(const T & b, const T & c, const T & d) { return ((b ^ c) bitand d) bitor (b bitand c); }
static inline int32_t RVC_decoder__texture_Y__DCRecontruction__addressingaccess(ActorInstance_RVC_decoder__texture_Y__DCRecontruction__addressing* thisActor, int32_t p, int32_t c){ return bitor(lshift(p, 2), c); }
static inline int32_t RVC_decoder__texture_Y__ISra(ActorInstance_RVC_decoder__texture_Y__IS* thisActor, int32_t address){ return bitor(bitand(address, 63), ((thisActor->half) ? (0):(64))); }
//Actor functions static inline int32_t RVC_decoder__texture_Y__ISwa(ActorInstance_RVC_decoder__texture_Y__IS* thisActor){ return bitor(bitand(thisActor->count, 63), ((thisActor->half) ? (64):(0))); }