dsputil_bfin.h.svn-base

来自「mediastreamer2是开源的网络传输媒体流的库」· SVN-BASE 代码 · 共 69 行

SVN-BASE
69
字号
/* * BlackFin DSPUTILS COMMON OPTIMIZATIONS HEADER * * Copyright (C) 2007 Marc Hoffman <mmh@pleasantst.com> * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */#ifndef FFMPEG_DSPUTIL_BFIN_H#define FFMPEG_DSPUTIL_BFIN_H#define attribute_l1_text  __attribute__ ((l1_text))#ifdef BFIN_PROFILEstatic double Telem[16];static char  *TelemNames[16];static int    TelemCnt;#define PROF(lab,e) { int xx_e = e; char*xx_lab = lab; uint64_t xx_t0 = read_time();#define EPROF()       xx_t0 = read_time()-xx_t0; Telem[xx_e] = Telem[xx_e] + xx_t0; TelemNames[xx_e] = xx_lab; }static void prof_report (void){    int i;    double s = 0;    for (i=0;i<16;i++) {        double v;        if (TelemNames[i]) {            v = Telem[i]/TelemCnt;            av_log (NULL,AV_LOG_DEBUG,"%-20s: %12.4f\t%12.4f\n", TelemNames[i],v,v/64);            s = s + Telem[i];        }    }    av_log (NULL,AV_LOG_DEBUG,"%-20s: %12.4f\t%12.4f\n%20.4f\t%d\n",            "total",s/TelemCnt,s/TelemCnt/64,s,TelemCnt);}static void bfprof (void){    static int init;    if (!init) atexit (prof_report);    init=1;    TelemCnt++;}#else#define PROF(a,b)#define EPROF()#define bfprof()#endif#endif /* FFMPEG_DSPUTIL_BFIN_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?