mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 12:36:41 +08:00 
			
		
		
		
	lavu/timer.h: factor out timer report
This commit is meant to reduce the diff in the following one.
This commit is contained in:
		 Clément Bœsch
					Clément Bœsch
				
			
				
					committed by
					
						 Clément Bœsch
						Clément Bœsch
					
				
			
			
				
	
			
			
			 Clément Bœsch
						Clément Bœsch
					
				
			
						parent
						
							e0d56f097f
						
					
				
				
					commit
					9c0d823a7c
				
			| @@ -60,23 +60,17 @@ | ||||
| #   define FF_TIMER_UNITS "UNITS" | ||||
| #endif | ||||
|  | ||||
| #ifdef AV_READ_TIME | ||||
| #define START_TIMER                             \ | ||||
|     uint64_t tend;                              \ | ||||
|     uint64_t tstart = AV_READ_TIME();           \ | ||||
|  | ||||
| #define STOP_TIMER(id)                                                    \ | ||||
|     tend = AV_READ_TIME();                                                \ | ||||
| #define TIMER_REPORT(id, tdiff)                                           \ | ||||
|     {                                                                     \ | ||||
|         static uint64_t tsum   = 0;                                       \ | ||||
|         static int tcount      = 0;                                       \ | ||||
|         static int tskip_count = 0;                                       \ | ||||
|         static int thistogram[32] = {0};                                  \ | ||||
|         thistogram[av_log2(tend - tstart)]++;                             \ | ||||
|         if (tcount < 2                        ||                          \ | ||||
|             tend - tstart < 8 * tsum / tcount ||                          \ | ||||
|             tend - tstart < 2000) {                                       \ | ||||
|             tsum+= tend - tstart;                                         \ | ||||
|         thistogram[av_log2(tdiff)]++;                                     \ | ||||
|         if (tcount < 2                ||                                  \ | ||||
|             (tdiff) < 8 * tsum / tcount ||                                \ | ||||
|             (tdiff) < 2000) {                                             \ | ||||
|             tsum += (tdiff);                                              \ | ||||
|             tcount++;                                                     \ | ||||
|         } else                                                            \ | ||||
|             tskip_count++;                                                \ | ||||
| @@ -90,6 +84,15 @@ | ||||
|             av_log(NULL, AV_LOG_ERROR, "\n");                             \ | ||||
|         }                                                                 \ | ||||
|     } | ||||
|  | ||||
| #ifdef AV_READ_TIME | ||||
| #define START_TIMER                             \ | ||||
|     uint64_t tend;                              \ | ||||
|     uint64_t tstart = AV_READ_TIME();           \ | ||||
|  | ||||
| #define STOP_TIMER(id)                                                    \ | ||||
|     tend = AV_READ_TIME();                                                \ | ||||
|     TIMER_REPORT(id, tend - tstart) | ||||
| #else | ||||
| #define START_TIMER | ||||
| #define STOP_TIMER(id) { } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user