コード例 #1
0
// 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);
}
コード例 #2
0
// 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);
}
コード例 #3
0
// 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);
}
コード例 #4
0
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);
}
コード例 #6
0
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)));
}
コード例 #7
0
//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)));
}