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

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

?? idct2.cpp

?? 一篇有關數字水印的程序
?? CPP
字號:
//
// MATLAB Compiler: 3.0
// Date: Wed Apr 25 16:38:48 2007
// Arguments: "-B" "macro_default" "-O" "all" "-O" "fold_scalar_mxarrays:on"
// "-O" "fold_non_scalar_mxarrays:on" "-O" "optimize_integer_for_loops:on" "-O"
// "array_indexing:on" "-O" "optimize_conditionals:on" "-B" "sglcpp" "-p" "-W"
// "main" "-L" "Cpp" "-t" "-T" "link:exe" "-h" "libmmfile.mlib" "-W" "mainhg"
// "libmwsglm.mlib" "-l" "-p" "-W" "main" "-L" "Cpp" "-t" "-T" "link:exe" "-h"
// "libmmfile.mlib" "-h" "idct2.m" 
//
#include "idct2.hpp"
#include "images_private_checknargin.hpp"
#include "images_private_idct.hpp"
#include "libmatlbm.hpp"
static mwArray _mxarray0_ = mclInitializeDouble(1.0);
static mwArray _mxarray1_ = mclInitializeDouble(3.0);
static mwArray _mxarray2_ = mclInitializeDouble(0.0);
static mwArray _mxarray3_ = mclInitializeDouble(2.0);

void InitializeModule_idct2() {
}

void TerminateModule_idct2() {
}

static mwArray Midct2(int nargout_, mwArray arg1, mwArray mrows, mwArray ncols);

_mexLocalFunctionTable _local_function_table_idct2
  = { 0, (mexFunctionTableEntry *)NULL };

//
// The function "idct2" contains the normal interface for the "idct2"
// M-function from file "d:\matlab6p5\toolbox\images\images\idct2.m" (lines
// 1-62). This function processes any input arguments and passes them to the
// implementation version of the function, appearing above.
//
mwArray idct2(mwArray arg1, mwArray mrows, mwArray ncols) {
    int nargout = 1;
    mwArray a = mwArray::UNDEFINED;
    a = Midct2(nargout, arg1, mrows, ncols);
    return a;
}

//
// The function "mlxIdct2" contains the feval interface for the "idct2"
// M-function from file "d:\matlab6p5\toolbox\images\images\idct2.m" (lines
// 1-62). The feval function calls the implementation version of idct2 through
// this function. This function processes any input arguments and passes them
// to the implementation version of the function, appearing above.
//
void mlxIdct2(int nlhs, mxArray * plhs[], int nrhs, mxArray * prhs[]) {
    MW_BEGIN_MLX();
    {
        mwArray mprhs[3];
        mwArray mplhs[1];
        int i;
        mclCppUndefineArrays(1, mplhs);
        if (nlhs > 1) {
            error(
              mwVarargin(
                mwArray(
                  "Run-time Error: File: idct2 Line: 1 Column: 1"
                  " The function \"idct2\" was called with more "
                  "than the declared number of outputs (1).")));
        }
        if (nrhs > 3) {
            error(
              mwVarargin(
                mwArray(
                  "Run-time Error: File: idct2 Line: 1 Column: 1"
                  " The function \"idct2\" was called with more "
                  "than the declared number of inputs (3).")));
        }
        for (i = 0; i < 3 && i < nrhs; ++i) {
            mprhs[i] = mwArray(prhs[i], 0);
        }
        for (; i < 3; ++i) {
            mprhs[i].MakeDIN();
        }
        mplhs[0] = Midct2(nlhs, mprhs[0], mprhs[1], mprhs[2]);
        plhs[0] = mplhs[0].FreezeData();
    }
    MW_END_MLX();
}

//
// The function "Midct2" is the implementation version of the "idct2"
// M-function from file "d:\matlab6p5\toolbox\images\images\idct2.m" (lines
// 1-62). It contains the actual compiled code for that M-function. It is a
// static function and must only be called from one of the interface functions,
// appearing below.
//
//
// function a = idct2(arg1,mrows,ncols)
//
static mwArray Midct2(int nargout_,
                      mwArray arg1,
                      mwArray mrows,
                      mwArray ncols) {
    mclMlineEnterFunction(
      "d:\\matlab6p5\\toolbox\\images\\images\\idct2.m", "idct2")
    mwLocalFunctionTable save_local_function_table_
      = &_local_function_table_idct2;
    int nargin_ = nargin(3, mwVarargin(arg1, mrows, ncols));
    mwArray a = mwArray::UNDEFINED;
    mwArray npad = mwArray::UNDEFINED;
    mwArray mpad = mwArray::UNDEFINED;
    mwArray b = mwArray::UNDEFINED;
    mwArray n = mwArray::UNDEFINED;
    mwArray m = mwArray::UNDEFINED;
    mwArray ans = mwArray::UNDEFINED;
    //
    // %IDCT2 Compute 2-D inverse discrete cosine transform.
    // %   B = IDCT2(A) returns the two-dimensional inverse discrete
    // %   cosine transform of A.
    // %
    // %   B = IDCT2(A,[M N]) or B = IDCT2(A,M,N) pads A with zeros (or
    // %   truncates A) to create a matrix of size M-by-N before
    // %   transforming. 
    // %
    // %   For any A, IDCT2(DCT2(A)) equals A to within roundoff error.
    // %
    // %   The discrete cosine transform is often used for image
    // %   compression applications.
    // %
    // %   Class Support
    // %   -------------
    // %   The input matrix A can be of class double or of any
    // %   numeric class. The output matrix B is of class double.
    // %
    // %   See also DCT2, DCTMTX, FFT2, IFFT2.
    // 
    // %   Copyright 1993-2002 The MathWorks, Inc.  
    // %   $Revision: 5.17 $  $Date: 2002/03/15 15:27:33 $
    // 
    // %   References: 
    // %   1) A. K. Jain, "Fundamentals of Digital Image
    // %      Processing", pp. 150-153.
    // %   2) Wallace, "The JPEG Still Picture Compression Standard",
    // %      Communications of the ACM, April 1991.
    // 
    // checknargin(1,3,nargin,mfilename);
    //
    mclMline(31);
    images_private_checknargin(_mxarray0_, _mxarray1_, nargin_, "idct2");
    //
    // 
    // [m, n] = size(arg1);
    //
    mclMline(33);
    size(mwVarargout(m, n), mwVa(arg1, "arg1"));
    //
    // % Basic algorithm.
    // if (nargin == 1),
    //
    mclMline(35);
    if (nargin_ == 1) {
        //
        // if (m > 1) & (n > 1),
        //
        mclMline(36);
        mwArray a_ = mwVv(m, "m") > _mxarray0_;
        if (tobool(a_) && tobool(a_ & mwVv(n, "n") > _mxarray0_)) {
            //
            // a = idct(idct(arg1).').';
            //
            mclMline(37);
            a
              = transpose(
                  images_private_idct(
                    transpose(images_private_idct(mwVa(arg1, "arg1")))));
            //
            // return;
            //
            mclMline(38);
            goto return_;
        //
        // else
        //
        } else {
            //
            // mrows = m;
            //
            mclMline(40);
            mrows = mwVv(m, "m");
            //
            // ncols = n;
            //
            mclMline(41);
            ncols = mwVv(n, "n");
        }
    //
    // end
    // end
    //
    mclMline(43);
    }
    //
    // 
    // % Padding for vector input.
    // 
    // b = arg1;
    //
    mclMline(47);
    b = mwVa(arg1, "arg1");
    //
    // if nargin==2, 
    //
    mclMline(48);
    if (nargin_ == 2) {
        //
        // ncols = mrows(2); 
        //
        mclMline(49);
        ncols = mclIntArrayRef(mwVa(mrows, "mrows"), 2);
        //
        // mrows = mrows(1); 
        //
        mclMline(50);
        mrows = mclIntArrayRef(mwVa(mrows, "mrows"), 1);
    //
    // end
    //
    mclMline(51);
    }
    //
    // 
    // mpad = mrows; npad = ncols;
    //
    mclMline(53);
    mpad = mwVa(mrows, "mrows");
    npad = mwVa(ncols, "ncols");
    //
    // if m == 1 & mpad > m, b(2, 1) = 0; m = 2; end
    //
    mclMline(54);
    {
        mwArray a_ = mwVv(m, "m") == _mxarray0_;
        if (tobool(a_) && tobool(a_ & mwVv(mpad, "mpad") > mwVv(m, "m"))) {
            mclIntArrayAssign(&b, _mxarray2_, 2, 1);
            m = _mxarray3_;
        } else {
        }
    }
    //
    // if n == 1 & npad > n, b(1, 2) = 0; n = 2; end
    //
    mclMline(55);
    {
        mwArray a_ = mwVv(n, "n") == _mxarray0_;
        if (tobool(a_) && tobool(a_ & mwVv(npad, "npad") > mwVv(n, "n"))) {
            mclIntArrayAssign(&b, _mxarray2_, 1, 2);
            n = _mxarray3_;
        } else {
        }
    }
    //
    // if m == 1, mpad = npad; npad = 1; end   % For row vector.
    //
    mclMline(56);
    if (mclEqBool(mwVv(m, "m"), _mxarray0_)) {
        mpad = mwVv(npad, "npad");
        npad = _mxarray0_;
    }
    //
    // 
    // % Transform.
    // 
    // a = idct(b, mpad);
    //
    mclMline(60);
    a = images_private_idct(mwVv(b, "b"), mwVv(mpad, "mpad"));
    //
    // if m > 1 & n > 1, a = idct(a.', npad).'; end
    //
    mclMline(61);
    {
        mwArray a_ = mwVv(m, "m") > _mxarray0_;
        if (tobool(a_) && tobool(a_ & mwVv(n, "n") > _mxarray0_)) {
            a
              = transpose(
                  images_private_idct(
                    transpose(mwVv(a, "a")), mwVv(npad, "npad")));
        } else {
        }
    }
    return_:
    mwValidateOutput(a, 1, nargout_, "a", "idct2");
    mclMlineFunctionReturn()
    return a;
    mclMlineExitFunctionReturn();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷一区二区三区| 久久夜色精品国产噜噜av| 中文字幕一区av| 成人激情av网| 亚洲精品日韩一| 91福利社在线观看| 亚洲国产美女搞黄色| 欧美精品tushy高清| 免费成人你懂的| 久久精品男人的天堂| 丰满少妇在线播放bd日韩电影| 中文字幕av一区二区三区高 | 精品国产亚洲在线| 黄页视频在线91| 国产精品天干天干在线综合| 91福利国产成人精品照片| 午夜私人影院久久久久| 日韩欧美在线一区二区三区| 国产91精品精华液一区二区三区| 亚洲天堂网中文字| 91精品国产色综合久久不卡蜜臀 | 精品国内片67194| 成人美女视频在线看| 一区二区三区精密机械公司| 欧美精品免费视频| 国产激情一区二区三区四区| 亚洲黄色免费网站| 精品第一国产综合精品aⅴ| 99精品视频中文字幕| 日日欢夜夜爽一区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美日韩一区二区三区四区五区| 国产资源在线一区| 夜夜操天天操亚洲| 久久久亚洲精品一区二区三区| 91日韩在线专区| 极品少妇一区二区三区精品视频 | 日韩欧美精品三级| 不卡的av电影在线观看| 手机精品视频在线观看| 国产精品女上位| 日韩一本二本av| 色综合激情久久| 国产丶欧美丶日本不卡视频| 五月婷婷激情综合网| 国产精品久久久久久亚洲伦| 欧美一区二区三区四区视频| 色婷婷激情一区二区三区| 国产毛片精品国产一区二区三区| 亚洲一区二区三区激情| 国产精品狼人久久影院观看方式| 欧美精品xxxxbbbb| 一本久久a久久免费精品不卡| 国产精品一区二区在线观看网站| 午夜成人免费电影| 亚洲乱码国产乱码精品精可以看| 26uuu色噜噜精品一区二区| 欧美日韩中文字幕一区二区| 99精品国产91久久久久久| 精品亚洲成av人在线观看| 日韩国产精品久久久| 亚洲激情五月婷婷| 最新国产精品久久精品| 久久精品视频免费| 亚洲精品在线电影| 欧美一级二级三级乱码| 欧美精品久久久久久久多人混战| 色妹子一区二区| 色婷婷av一区二区三区之一色屋| av在线免费不卡| 成人免费高清视频| 成人白浆超碰人人人人| 粉嫩av亚洲一区二区图片| 国产精品综合av一区二区国产馆| 麻豆精品视频在线观看免费| 欧美aaa在线| 青青国产91久久久久久| 毛片av一区二区三区| 日本成人在线电影网| 日韩综合小视频| 日韩av电影一区| 日韩av午夜在线观看| 另类小说欧美激情| 激情文学综合丁香| 国产成人av电影在线| 国产成人啪午夜精品网站男同| 国产精品一区二区久久不卡| 国产一区二区三区四区五区入口| 精品一区二区三区影院在线午夜| 久久丁香综合五月国产三级网站| 理论电影国产精品| 国产精品中文欧美| 播五月开心婷婷综合| 91亚洲精品乱码久久久久久蜜桃| 色婷婷久久99综合精品jk白丝| 精品视频一区二区不卡| 日韩亚洲欧美在线观看| 久久九九国产精品| 亚洲视频免费观看| 亚洲va在线va天堂| 老汉av免费一区二区三区| 国产麻豆视频一区| 99国产精品久久久久| 色噜噜狠狠成人网p站| 91精选在线观看| 久久网站最新地址| 国产精品美日韩| 亚洲午夜国产一区99re久久| 日本免费新一区视频| 国产精品一区二区在线看| 一本大道久久a久久精二百| 91精品国产综合久久蜜臀| www一区二区| 亚洲精品五月天| 美女mm1313爽爽久久久蜜臀| 成人免费av在线| 欧美精品久久久久久久久老牛影院| 久久人人爽人人爽| 国产精品18久久久久久久久| 成人免费三级在线| 欧美日韩综合色| 国产欧美精品一区| 一区二区成人在线| 国产一区二区三区综合| 色www精品视频在线观看| 精品国产区一区| 一区二区三国产精华液| 久久精品国产精品亚洲红杏| av福利精品导航| xnxx国产精品| 偷拍与自拍一区| 9久草视频在线视频精品| 国产精品免费视频网站| 日韩av不卡在线观看| 色综合久久久久网| 久久久久久亚洲综合| 亚洲一区电影777| 成人一道本在线| 精品久久久久久久久久久久久久久久久 | 国产欧美精品一区| 日本成人在线一区| 欧美亚洲国产一区在线观看网站| 国产亚洲综合色| 日本不卡一区二区三区高清视频| 91色.com| 亚洲欧洲精品成人久久奇米网| 看片的网站亚洲| 欧美日韩不卡在线| 亚洲日本丝袜连裤袜办公室| 国产剧情在线观看一区二区| 欧美一级理论性理论a| 亚洲永久免费av| 成人av在线一区二区| 国产亚洲欧美在线| 国产自产高清不卡| 精品卡一卡二卡三卡四在线| 日韩有码一区二区三区| 欧美午夜不卡视频| 亚洲欧美偷拍另类a∨色屁股| 国产成人精品一区二区三区四区| 日韩你懂的电影在线观看| 亚洲成人7777| 欧美日韩精品一二三区| 亚洲综合一区在线| 欧美色综合久久| 一区二区三区四区在线| 色综合久久66| 一区二区三区四区激情| 色又黄又爽网站www久久| 中文字幕一区av| 91麻豆高清视频| 亚洲日本韩国一区| 91日韩一区二区三区| 一区二区三区免费| 在线观看视频91| 香蕉成人伊视频在线观看| 欧美日韩免费在线视频| 午夜婷婷国产麻豆精品| 日韩一区二区在线看| 蜜桃视频在线观看一区二区| 日韩精品一区二区三区三区免费 | 色综合久久天天| 一区二区三区精品在线| 色噜噜狠狠成人网p站| 亚洲.国产.中文慕字在线| 91精品免费观看| 激情久久五月天| 中日韩免费视频中文字幕| 97se亚洲国产综合自在线观| 一区二区免费看| 日韩欧美国产一二三区| 国产在线不卡视频| 综合自拍亚洲综合图不卡区| 欧美日韩视频在线第一区| 老汉av免费一区二区三区| 国产精品天干天干在观线| 欧美体内she精视频| 久久99久国产精品黄毛片色诱| 久久久美女毛片| 一本到一区二区三区|