//////////////////////////////////////////////////////////////////////////////// // Action scheduler void HevcDecoder_xIT_invDST4x4_1st_scheduler(schedinfo_t *si) { int i = 0; si->ports = 0; read_IN(); write_OUT(); while (1) { if (numTokens_IN - index_IN >= 16 && isSchedulable_untagged_0()) { int stop = 0; if (16 > SIZE_OUT - index_OUT + HevcDecoder_xIT_invDST4x4_1st_OUT->read_inds[0]) { stop = 1; } if (stop != 0) { si->num_firings = i; si->reason = full; goto finished; } untagged_0_aligned(); i++; } else { si->num_firings = i; si->reason = starved; goto finished; } } finished: read_end_IN(); write_end_OUT(); }
void HevcDecoder_SelectCU_initialize(schedinfo_t *si) { int i = 0; write_Sample(); /* Set initial state to current FSM state */ _FSM_state = my_state_GetPartMode; if(isSchedulable_untagged_0()) { untagged_0(); } finished: write_end_Sample(); return; }
void Source_initialize(schedinfo_t *si) { int i = 0; write_Stream(); write_EOF(); /* Set initial state to current FSM state */ _FSM_state = my_state_ReadInit; if(isSchedulable_untagged_0()) { untagged_0(); } finished: write_end_Stream(); write_end_EOF(); return; }