2 * BlackFin DSPUTILS COMMON OPTIMIZATIONS HEADER
4 * Copyright (C) 2007 Marc Hoffman <mmh@pleasantst.com>
6 * This file is part of FFmpeg.
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 #ifndef FFMPEG_DSPUTIL_BFIN_H
25 #define FFMPEG_DSPUTIL_BFIN_H
28 #define attribute_l1_text __attribute__ ((l1_text))
29 #define attribute_l1_data_b __attribute__((l1_data_B))
31 #define attribute_l1_text
32 #define attribute_l1_data_b
37 static double Telem
[16];
38 static char *TelemNames
[16];
41 #define PROF(lab,e) { int xx_e = e; char*xx_lab = lab; uint64_t xx_t0 = read_time();
42 #define EPROF() xx_t0 = read_time()-xx_t0; Telem[xx_e] = Telem[xx_e] + xx_t0; TelemNames[xx_e] = xx_lab; }
44 static void prof_report (void)
51 v
= Telem
[i
]/TelemCnt
;
52 av_log (NULL
,AV_LOG_DEBUG
,"%-20s: %12.4f\t%12.4f\n", TelemNames
[i
],v
,v
/64);
56 av_log (NULL
,AV_LOG_DEBUG
,"%-20s: %12.4f\t%12.4f\n%20.4f\t%d\n",
57 "total",s
/TelemCnt
,s
/TelemCnt
/64,s
,TelemCnt
);
60 static void bfprof (void)
63 if (!init
) atexit (prof_report
);
74 #endif /* FFMPEG_DSPUTIL_BFIN_H */