//! \brief call stop, free mutex, clear stack, free capture-Modul void ende() { if(mutex_lock(mutex)) printf("encoder.ende Fehler beu mutex_lock 1\n"); g_run = 0; if(mutex_unlock(mutex)) printf("encoder.ende Fehler bei mutex_unlock 1\n"); stop(); if(mutex_lock(mutex)) printf("encoder.ende Fehler bei mutex_lock 2\n"); //löschen des letzten Frames getFrame(NULL, NULL); if(mutex_unlock(mutex)) printf("encoder.ende Fehler bei mutex_unlock 2\n"); mutex_close(mutex); mutex = NULL; printf("Frames on Stack: %d\n", count_stack(g_FrameBuffer)); clear_stack(g_FrameBuffer); if(capture) { capture->ende(); interface_close(capture); } capture = NULL; printf("encoder.ende Encoder Modul ende\n"); }
int main (void) { // Sync with the monitor. start_stack_check(); paint_stack(); benchmark_cmem_pattern(); mk_mon_sync(); mask_DDR(); begin_use(); JpegToBmp(); end_use(); count_stack(); benchmark_malloc_max_usage(); benchmark_malloc_num_mallocs(); benchmark_malloc_num_malloc_free(); benchmark_cmem_usage(); readback_DDR(); // only need to be put in 1 core print_DDR_usage(); // only need to be put in 1 core mk_mon_debug_info(0x00444D41);//start of DMA_counters //print the dma_counters according to the following order here mk_mon_debug_info(to_core1); mk_mon_debug_info(to_core2); mk_mon_debug_info(to_core3); mk_mon_debug_info(to_core4); mk_mon_debug_info(to_DDR); mk_mon_debug_info(from_core1); mk_mon_debug_info(from_core2); mk_mon_debug_info(from_core3); mk_mon_debug_info(from_core4); mk_mon_debug_info(from_DDR); mk_mon_debug_info(0xFF444D41);//end of DMA_counters // Signal the monitor we are done. mk_mon_debug_tile_finished(); return 0; }
int getStackCount() { //if(!g_FrameBuffer) return 0; return count_stack(g_FrameBuffer); }