Пример #1
0
Файл: svm32.c Проект: drudru/cel
inline void DoPushSelf(VM32Cpu * cpu) {
    uint32 i;
    
    cpu->pc++;

    // Retrieve the self (the code-proto pointer)
    i = getFrameAt(cpu, 2);

    push(cpu, i);
}
Пример #2
0
bool ReplayBuffers::saveReplayHumanReadable( FILE *fd ) const
{
    if( !isHealthy() ) return false;

    if( fprintf( fd, "frames: %u\n", getNumberFrames() ) < 1 ) return false;
    
#ifdef REPLAY_SAVE_STATISTIC
    float time_step_min = 9999999.0f, time_step_max = 0.0f, time_last;
#endif

    unsigned int frame_idx, kart_idx;
    ReplayFrame const *frame;
    ReplayKartState const *kart;
    for( frame_idx = 0; frame_idx < getNumberFrames(); ++frame_idx )
    {
        frame = getFrameAt( frame_idx );
        if( fprintf( fd, "frame %u  time %f\n", frame_idx, frame->time ) < 1 ) return false;

        for( kart_idx = 0; kart_idx < m_number_karts; ++kart_idx )
        {
            kart = frame->p_kart_states + kart_idx;

            if( fprintf( fd, "\tkart %u: %f,%f,%f,%f,%f,%f\n", kart_idx, 
                     kart->position.xyz[0], kart->position.xyz[1], kart->position.xyz[2],
                     kart->position.hpr[0], kart->position.hpr[1], kart->position.hpr[2] ) < 1 ) return false;   
        }

#ifdef REPLAY_SAVE_STATISTIC
        if( frame_idx )
        {
            float diff = frame->time - time_last;
            if( diff < time_step_min ) time_step_min = diff;
            if( diff > time_step_max ) time_step_max = diff;
        }
        time_last = frame->time;
#endif
    }

#ifdef REPLAY_SAVE_STATISTIC
    float time_step_avg;
    if( getNumberFrames() > 1 )
    {
        time_step_avg = time_last / ( getNumberFrames() - 1 );
    }
    else
    {
        time_step_avg = -1.0f;
    }
    fprintf( fd, "\n# statistic time-steps:\n# \tmin: %f\n# \tmax: %f\n# \tavg: %f\n", time_step_min, time_step_max, time_step_avg );
#endif

    return true;
}
Пример #3
0
int _tmain(int argc, _TCHAR* argv[])
{
    int ret = -1;
    initFFmpegContext();

    int file_count = sizeof(strInputFileName) / sizeof(strInputFileName[0]);
    for (int i = 0; i < file_count; i++)
    {
        const char* pFileName = strInputFileName[i];
        ret = setDataSource(pFileName);

        getFrameAt(-1, THUMB_WIDTH, THUMB_HEIGHT);
    }

    //pause
    printf("finished, pause ....\n");
    getchar();

    return 0;
}