亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? psdpng.c

?? AD系列fft變換
?? C
字號:
/*Copyright (c) 2003-2004, Mark BorgerdingAll rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.    * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/#include <stdlib.h>#include <math.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include <png.h>#include "kiss_fft.h"#include "kiss_fftr.h"size_t nfft=1024;size_t nfreqs=0;int repeat=0;int window=0;int colors=256;FILE * fin=NULL;FILE * fout=NULL;int navg=20;float * valbuf=NULL;int remove_dc=1;size_t nrows=0;float * vals=NULL;staticvoid config(int argc,char** argv){    while (1) {        int c = getopt (argc, argv, "n:rs");        if (c == -1)            break;        switch (c) {        case 'n':            nfft=(size_t)atoi(optarg);        case '?':            fprintf (stderr, "usage options:\n"                     "\t-n d: fft dimension(s) default = 1024\n"                     "stereo 16 bit machine format real input is assumed\n"                     );        default:            fprintf (stderr, "bad %c\n", c);            exit (1);            break;        }    }    if ( optind < argc ) {        if (strcmp("-",argv[optind]) !=0)            fin = fopen(argv[optind],"rb");        ++optind;    }    if ( optind < argc ) {        if ( strcmp("-",argv[optind]) !=0 )             fout = fopen(argv[optind],"wb");        ++optind;    }    if (fin==NULL)        fin=stdin;    if (fout==NULL)        fout=stdout;}#define CHECKNULL(p) if ( (p)==NULL ) do { fprintf(stderr,"CHECKNULL failed @ %s(%d): %s\n",__FILE__,__LINE__,#p );exit(1);} while(0)typedef struct{    png_byte r;    png_byte g;    png_byte b;} rgb_t;static void val2rgb(float x,rgb_t *p){    const double pi = 3.14159265358979;    p->g = (int)(255*sin(x*pi));    p->r = (int)(255*abs(sin(x*pi*3/2)));    p->b = (int)(255*abs(sin(x*pi*5/2)));}staticvoid cpx2pixels(rgb_t * res,const float * fbuf,size_t n){    size_t i;    float minval,maxval,valrange;    minval=maxval=fbuf[0];    for (i = 0; i < n; ++i) {        if (fbuf[i] > maxval) maxval = fbuf[i];        if (fbuf[i] < minval) minval = fbuf[i];    }    valrange = maxval-minval;    for (i = 0; i < n; ++i)        val2rgb( (fbuf[i] - minval)/valrange , res+i );}staticvoid transform_signal(void){    short *inbuf;    kiss_fftr_cfg cfg=NULL;    kiss_fft_scalar *tbuf;    kiss_fft_cpx *fbuf;    kiss_fft_cpx *avgbuf;    size_t i;    size_t n;    int avgctr=0;    nfreqs=nfft/2+1;    CHECKNULL( cfg=kiss_fftr_alloc(nfft,0,0,0) );    CHECKNULL( inbuf=(short*)malloc(sizeof(short)*2*nfft ) );    CHECKNULL( tbuf=(kiss_fft_scalar*)malloc(sizeof(kiss_fft_scalar)*nfft ) );    CHECKNULL( fbuf=(kiss_fft_cpx*)malloc(sizeof(kiss_fft_cpx)*nfreqs ) );    CHECKNULL( avgbuf=(kiss_fft_cpx*)malloc(sizeof(kiss_fft_cpx)*nfreqs ) );    while (1){        n = fread(inbuf,sizeof(short)*2,nfft,fin);        if (n != nfft )             break;        /* pack the shorts */        for (i=0;i<nfft;++i){            tbuf[i] = inbuf[2*i] + inbuf[2*i+1];        }        /* do FFT */        kiss_fftr(cfg,tbuf,fbuf);        if (remove_dc) {            fbuf[0].r = 0;            fbuf[0].i = 0;        }        for (i=0;i<nfreqs;++i){            avgbuf[i].r += fbuf[i].r;            avgbuf[i].i += fbuf[i].i;        }        if (++avgctr == navg) {            avgctr=0;            ++nrows;            vals = (float*)realloc(vals,sizeof(float)*nrows*nfreqs);                        for (i=0;i<nfreqs;++i) {                float binpower = fbuf[i].r * fbuf[i].r + fbuf[i].i * fbuf[i].i;                vals[(nrows - 1) * nfreqs + i] = 10 * log10 (binpower);            }            memset(avgbuf,0,sizeof(avgbuf[0])*nfreqs);        }    }    free(cfg);    free(inbuf);    free(tbuf);    free(fbuf);    free(avgbuf);}staticvoid make_png(void){    png_bytepp row_pointers=NULL;    rgb_t * row_data=NULL;    size_t i;    png_structp png_ptr=NULL;    png_infop info_ptr=NULL;        CHECKNULL( png_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING,0,0,0) );    CHECKNULL( info_ptr = png_create_info_struct(png_ptr) );    png_init_io(png_ptr, fout );    png_set_IHDR(png_ptr, info_ptr ,nfreqs,nrows,8,PNG_COLOR_TYPE_RGB,PNG_INTERLACE_NONE,PNG_COMPRESSION_TYPE_DEFAULT,PNG_FILTER_TYPE_DEFAULT );        row_data = (rgb_t*)malloc(sizeof(rgb_t) * nrows * nfreqs) ;    cpx2pixels(row_data, vals, nfreqs*nrows );    row_pointers = realloc(row_pointers, nrows*sizeof(png_bytep));    for (i=0;i<nrows;++i) {        row_pointers[i] = (png_bytep)(row_data + i*nfreqs);    }    png_set_rows(png_ptr, info_ptr, row_pointers);    fprintf(stderr,"creating %dx%d png\n",nfreqs,nrows);    fprintf(stderr,"bitdepth %d \n",png_get_bit_depth(png_ptr,info_ptr ) );    png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY , NULL);}int main(int argc,char ** argv){    config(argc,argv);    transform_signal();    make_png();    if (fout!=stdout) fclose(fout);    if (fin!=stdin) fclose(fin);    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人福利视频| 欧美不卡激情三级在线观看| 青青草视频一区| 亚洲va韩国va欧美va| 一个色在线综合| 亚洲gay无套男同| 亚洲大尺度视频在线观看| 玉足女爽爽91| 亚洲国产精品麻豆| 午夜影视日本亚洲欧洲精品| 天堂在线亚洲视频| 免费成人在线网站| 国产成人av一区二区三区在线观看| 狠狠色综合日日| 国产成a人亚洲精| 成人av在线电影| 色国产精品一区在线观看| 91久久线看在观草草青青| 欧美视频一区二| 欧美大黄免费观看| 久久精品日韩一区二区三区| 国产精品国产自产拍在线| 最新日韩av在线| 五月天一区二区| 久久97超碰国产精品超碰| 成人高清av在线| 欧美三级蜜桃2在线观看| 日韩一级高清毛片| 国产精品美女久久久久久| 最新日韩av在线| 久久精品国产精品青草| 福利一区二区在线| 欧美日韩电影在线| 国产免费久久精品| 亚洲综合无码一区二区| 精品一区二区三区免费视频| 成人av在线看| 欧美大片日本大片免费观看| 国产精品婷婷午夜在线观看| 午夜欧美电影在线观看| 国产a区久久久| 欧美日韩国产系列| 欧美高清在线一区| 午夜激情一区二区| 成人高清视频免费观看| 91精品国产福利| 亚洲色图欧美在线| 国模一区二区三区白浆| 欧美在线观看一区| 中文字幕第一区二区| 久久精品国产秦先生| 色久优优欧美色久优优| 国产亚洲1区2区3区| 污片在线观看一区二区| 99久久国产综合色|国产精品| 欧美一区二区三区小说| 亚洲与欧洲av电影| 91色乱码一区二区三区| 久久影院午夜片一区| 青青草91视频| 678五月天丁香亚洲综合网| 一区在线播放视频| 国产精品亚洲第一| 欧美一区二区三区不卡| 亚洲成人在线免费| 91电影在线观看| 成人免费小视频| 国产不卡一区视频| 久久亚洲一区二区三区明星换脸| 亚洲国产一二三| 欧洲精品视频在线观看| 亚洲人成在线播放网站岛国| 岛国精品在线播放| 亚洲国产精品精华液2区45| 精品一区二区三区免费视频| 日韩视频一区二区在线观看| 日本大胆欧美人术艺术动态| 欧美丰满一区二区免费视频| 亚洲成人福利片| 91麻豆精品国产91久久久使用方法| 亚欧色一区w666天堂| 欧美三区在线观看| 亚洲va国产天堂va久久en| 国产一区二区三区免费观看| 精品99一区二区| 国产精品一线二线三线| 国产日韩欧美麻豆| 粉嫩aⅴ一区二区三区四区| 国产精品视频观看| 北条麻妃国产九九精品视频| 日韩理论片网站| 欧美在线观看一区| 免费在线观看视频一区| 久久亚洲捆绑美女| 成人午夜免费视频| 亚洲视频香蕉人妖| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲精品成a人| 欧美裸体bbwbbwbbw| 免费的成人av| 亚洲欧洲精品一区二区精品久久久| 不卡电影免费在线播放一区| 亚洲黄色尤物视频| 日韩欧美国产一区二区在线播放| 国产成人精品亚洲日本在线桃色| 国产精品久久久久久福利一牛影视 | 蜜臀久久久99精品久久久久久| 制服丝袜av成人在线看| 国产美女精品一区二区三区| 亚洲日本护士毛茸茸| 欧美一卡二卡在线| 成人免费视频app| 亚洲h动漫在线| 国产精品热久久久久夜色精品三区| 91久久线看在观草草青青| 久久se这里有精品| 亚洲人精品午夜| 久久免费看少妇高潮| 在线精品国精品国产尤物884a | 精品国产三级a在线观看| 国产成+人+日韩+欧美+亚洲| 午夜久久久久久久久| 国产日韩欧美激情| 91精品欧美福利在线观看| 风间由美性色一区二区三区| 日韩在线观看一区二区| 亚洲欧洲av在线| 欧美电影免费观看高清完整版| 在线观看欧美黄色| 国产白丝精品91爽爽久久| 视频一区二区三区在线| 日韩美女啊v在线免费观看| 欧美电影免费观看高清完整版在线| 在线精品视频免费播放| 成人黄色小视频| 国产成人午夜99999| 美腿丝袜一区二区三区| 一区二区三区免费在线观看| 国产清纯白嫩初高生在线观看91| 欧美一级一级性生活免费录像| 欧美综合视频在线观看| 91网站在线播放| 成人视屏免费看| 国产精品自产自拍| 久久精品国产第一区二区三区| 日韩黄色免费电影| 天天影视色香欲综合网老头| 亚洲综合小说图片| 一区二区三区精品久久久| 亚洲私人影院在线观看| 国产精品久久久久久久久久久免费看 | 久久精品亚洲精品国产欧美kt∨| 91精品欧美福利在线观看| 欧美三级在线播放| 欧美日韩国产首页| 欧美日韩一区二区三区高清 | 91精品午夜视频| 欧美一激情一区二区三区| 欧美人伦禁忌dvd放荡欲情| 欧美日韩在线免费视频| 欧美色图免费看| 欧美日韩美少妇| 日韩女优毛片在线| 精品电影一区二区| 国产午夜精品久久久久久免费视| 久久亚洲精精品中文字幕早川悠里 | 久久久久久99久久久精品网站| 久久亚区不卡日本| 久久久高清一区二区三区| 国产拍揄自揄精品视频麻豆| 国产日韩精品一区| 欧美国产97人人爽人人喊| 亚洲人成网站影音先锋播放| 亚洲精品国产a| 日韩av在线播放中文字幕| 精品一区二区三区在线播放视频| 国产精品一区二区不卡| 成人av在线一区二区| 欧美私人免费视频| 欧美第一区第二区| 国产精品成人免费| 亚洲五码中文字幕| 久久国产精品色| 成人动漫中文字幕| 精品视频一区二区三区免费| 精品奇米国产一区二区三区| 欧美高清在线视频| 亚洲成av人片一区二区三区| 精品在线一区二区| 色悠久久久久综合欧美99| 91.成人天堂一区| 国产欧美日韩精品在线| 一区二区三区四区不卡在线| 捆绑调教一区二区三区| 99久久夜色精品国产网站| 欧美群妇大交群的观看方式| 欧美极品aⅴ影院| 日韩国产欧美在线播放| 99精品久久久久久| 日韩免费在线观看|