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

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

?? maxidx.asm

?? davinci技術 源碼 視頻監控匯編源碼
?? ASM
字號:
* ======================================================================== *
*  TEXAS INSTRUMENTS, INC.                                                 *
*                                                                          *
*  NAME                                                                    *
*      maxidx -- maxidx                                                    *
*                                                                          *
*                                                                          *
*  REVISION DATE                                                           *
*      22-Apr-2005                                                         *
*                                                                          *
*   USAGE                                                                   *
*                                                                           *
*       This routine is C callable, and has the following C prototype:      *
*                                                                           *
*       int maxidx                                                          *
*       (                                                                   *
*           const short *Input,      // Input array     //                  *
*           short        nInputs     // Length of input //                  *
*       )                                                                   *
*                                                                           *
*       This routine returns the index of the maximum value of Input.       *
*                                                                           *
*                                                                           *
*   DESCRIPTION                                                             *
*                                                                           *
*       The "maxidx" routine finds the largest element in an array,         *
*       returning the index to that element within the array.               *
*                                                                           *
*       The input array is treated as 8 separate "columns" that are         *
*       interleaved throughout the array.  If values in different columns   *
*       are equal to the maximum value, then the element in the leftmost    *
*       column is returned.  If two values within a column are equal to     *
*       the maximum, then the one with the lower index is returned.         *
*       Column takes precedence over index within the column.               *
*                                                                           *
*       The function returns the index of the maximum value.                *
*                                                                           *
*       int maxidx                                                          *
*       (                                                                   *
*           const short *Input,      // Input array     //                  *
*           short        nInputs     // Length of input //                  *
*       )                                                                   *
*                                                                           *
*       Input:   pointer to input values                                    *
*       nInputs: number of inputs                                           *
*                                                                           *
*       The above C code is a general implementation without                *
*       restrictions.  The assembly code may have some restrictions, as     *
*       noted below.                                                        *
*                                                                           *
*                                                                           *
*   TECHNIQUES                                                              *
*                                                                           *
*       The code is unrolled 8 times to enable full memory bandwidth to     *
*       be utilized and of the MAX2 instruction. This splits the search int *
*       8 subspaces. The global max is then found from the list of sub-maxe *
*       Then using this offset from the subranges, the global max is search *
*       for using a simple match then the global argument is found also .   *
*       For common maximums in multiple ranges, the argmax will be          *
*       different to the above c code, as described earlier.                *
*       More specific optimised c implementation would look like this:      *
*                                                                           *
*                                                                           *
*   ASSUMPTIONS                                                             *
*                                                                           *
*       The input length is a multiple of 8 and >= 40.                      *
*                                                                           *
*       The input data and coeeficients are stored on double word           *
*       aligned boundaries.                                                 *
*                                                                           *
*                                                                           *
*   MEMORY NOTE                                                             *
*                                                                           *
*       There are no bank conflicts in this code.                           *
*                                                                           *
*       The code is ENDIAN NEUTRAL.                                         *
*                                                                           *
*                                                                           *
*   CODESIZE                                                                *
*                                                                           *
*       192 bytes                                                           *
*                                                                           *
*                                                                           *
*   CYCLES                                                                  *
*                                                                           *
*       cycles = nInputs/4 + 20                                             *
*       For count = 256, cycles = 84                                        *
*                                                                           *
* ------------------------------------------------------------------------- *
*             Copyright (c) 2005 Texas Instruments, Incorporated.           *
*                            All Rights Reserved.                           *
* ========================================================================= *


* ======================================================================== *
* ======================================================================== *
************************ SYMBOLIC REGISTER ASSIGNMENTS ***********************
        .asg            A4,         A_Input
        .asg            B2,         B_Input
        .asg            B4,         B_nInputs
        .asg            A6,         A_MaxBuf
        .asg            A4,         A_MaxIdx
        .asg            B8,         B_MaxIdx
        .asg            B5,         B_Input_

        .asg            A2,         A_m1m0
        .asg            A3,         A_m3m2

        .asg            B1,         B_m7m6
        .asg            B0,         B_m5m4

        .asg            A1,         A_d3d2
        .asg            A0,         A_d1d0
        .asg            B7,         B_d7d6
        .asg            B6,         B_d5d4

        .asg            A2,         A_d0d1
        .asg            B4,         B_d4d5

        .asg            A5,         A_p0p0
        .asg            B6,         B_p0p0
        .asg            B2,         B_b5b4
        .asg            A1,         A_b3b2
        .asg            B1,         B_b7b6

        .asg            A5,         A_max
        .asg            B2,         B_argmax
        .asg            B4,         B_arg
        .asg            A6,         A_d0
        .asg            A0,         A_c0
* ========================================================================= *
        .text        .global _maxidx_maxidx:
* ======================================================================== *
* ======================================================================== *
* ========================================================================= *
          SHR    .S2   B_nInputs, 3,       B_nInputs     ;N/8

          LDDW   .D1T1 *A_Input[0],        A_m3m2:A_m1m0 ;
||        SUB    .L2   B_nInputs, 5,       B_nInputs     ;N/8-5

          SPLOOPD      1                                 ;
||        ADD    .L2X  A_Input,   8,       B_Input       ;
||        MV     .D2X  A_Input,   B_Input_               ;
||        MVC    .S2   B_nInputs, ILC                    ;
||        LDDW   .D1T2 *A_Input[1],        B_m7m6:B_m5m4 ;
* =========================== PIPE LOOP KERNEL ============================ *
          LDDW   .D2T2 *++B_Input[2],      B_d7d6:B_d5d4 ;
||        LDDW   .D1T1 *++A_Input[2],      A_d3d2:A_d1d0 ;

          NOP          4                                 ;

          SPKERNEL 5,0
||        MAX2   .L2   B_d7d6,    B_m7m6,  B_m7m6        ;
||        MAX2   .S2   B_d5d4,    B_m5m4,  B_m5m4        ;
||        MAX2   .L1   A_d3d2,    A_m3m2,  A_m3m2
||        MAX2   .S1   A_d1d0,    A_m1m0,  A_m1m0        ;
* =========================== PIPE LOOP EPILOG ============================ *

          MAX2   .L1   A_m1m0,    A_m3m2,  A_d1d0        ;
||        MAX2   .L2   B_m7m6,    B_m5m4,  B_d5d4        ;
||        ADD    .D2   B_nInputs, 1,       B_nInputs     ;

          MAX2   .L1X  A_d1d0,    B_d5d4,  A_d1d0        ;
||        MAX2   .L2X  B_d5d4,    A_d1d0,  B_d5d4        ;

          PACKLH2.L1   A_d1d0,    A_d1d0,  A_d0d1        ;
||        PACKLH2.L2   B_d5d4,    B_d5d4,  B_d4d5        ;
||        MVC    .S2   B_nInputs, ILC                    ;

          MAX2   .L1   A_d1d0,    A_d0d1,  A_p0p0        ;
||        MAX2   .L2   B_d5d4,    B_d4d5,  B_p0p0        ;
||        CMPGT2 .S2   B_d4d5,    B_d5d4,  B_arg         ;default 0/1

          CMPEQ2 .S1   A_p0p0,    A_m3m2,  A_b3b2        ;
||        CMPEQ2 .S2   B_p0p0,    B_m5m4,  B_b5b4        ;
||        AND    .L2   B_arg,     1,       B_arg         ;choose odd/even

          CMPEQ2 .S2   B_p0p0,    B_m7m6,  B_b7b6        ;
||        SHRU   .S1   A_p0p0,    16,      A_max         ;extract max
||[A_b3b2]ADD    .L2   B_arg,     2,       B_arg         ;select 2/3
||[B_b5b4]ADD    .D2   B_arg,     4,       B_arg         ;select 4/5

  [B_b7b6]ADD    .L2   B_arg,     6,       B_arg         ;select 6/7

          SPLOOPD      1                                 ;define 1 cycle loop
||        LDHU   .D2T1 *++B_Input_[B_arg], A_d0          ;load 1st max value
* ========================================================================== *
          LDHU   .D2T1 *++B_Input_[8],     A_d0          ;

          NOP          3                                 ;

          SUB    .L1   A_max,     A_d0,    A_c0          ;

          SPKERNEL     0,0                               ;
||        ADD    .S2   B_arg,     8,       B_arg         ;
|| [!A_c0]MV     .L2   B_arg,     B_MaxIdx
* ========================================================================== *

**** E0, C0 **** .L1, .S2, .L2 ***********************************************
          SPMASK
||^       BNOP   .S2   B3, 4                             ; Substitute S2
||        ADD    .D2   B_arg,     8,       B_arg         ; Move ADD to D2

**** E1, C0 **** .L1, .S2, .L2 ***********************************************

**** E2, C0 **** .L1, .S2, .L2 ***********************************************

**** E3, C0 **** .L1, .S2, .L2 ***********************************************

**** E4, C0 **** .S2, .L2 ****************************************************

**** Epilogue Complete    ****************************************************
          MV     .L1X   B_MaxIdx,   A_MaxIdx            ;return val

                .end

* ======================================================================== *
*  End of file: maxidx.asm                                                 *
* ------------------------------------------------------------------------ *
*          Copyright (C) 2005 Texas Instruments, Incorporated.             *
*                          All Rights Reserved.                            *
* ======================================================================== *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国产丝袜在线播放| 亚洲人成网站在线| 国产精品久久久久永久免费观看| 亚洲最快最全在线视频| 国产高清久久久久| 日韩一区二区在线观看视频播放| 亚洲欧洲成人精品av97| 麻豆免费看一区二区三区| 色999日韩国产欧美一区二区| 日韩欧美二区三区| 日韩中文字幕区一区有砖一区| 99vv1com这只有精品| 国产日韩综合av| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩第一区日日骚| 亚洲乱码国产乱码精品精可以看 | av一二三不卡影片| 欧美精品一区二区三区蜜臀| 日本亚洲一区二区| 欧美三级三级三级| 亚洲一区二区三区小说| 91小视频免费看| 亚洲欧洲精品一区二区三区| proumb性欧美在线观看| 国产女人18水真多18精品一级做| 精品一区二区三区欧美| 日韩精品一区二区三区四区视频| 美女视频黄久久| 欧美一二三区在线观看| 美女视频一区二区| 日韩欧美国产一区在线观看| 美女视频网站久久| 久久亚洲综合色| 国产一区在线精品| 欧美国产精品v| 成人黄色软件下载| 亚洲精品视频自拍| 欧美天堂亚洲电影院在线播放| 一区二区免费视频| 欧美喷潮久久久xxxxx| 视频一区二区三区中文字幕| 欧美猛男男办公室激情| 日本在线不卡视频一二三区| 精品久久一二三区| 国产69精品久久99不卡| 国产精品久久久久四虎| 色吧成人激情小说| 天天色天天操综合| 精品av综合导航| 99r精品视频| 香蕉久久夜色精品国产使用方法| 日韩三级免费观看| 国产福利视频一区二区三区| 亚洲猫色日本管| 日韩欧美国产麻豆| 成人免费高清视频| 午夜欧美电影在线观看| 精品美女一区二区| 99久久er热在这里只有精品15 | 国产精品每日更新在线播放网址| 日本韩国一区二区三区| 美脚の诱脚舐め脚责91| 国产精品毛片a∨一区二区三区| 欧美午夜精品久久久久久超碰| 午夜天堂影视香蕉久久| 久久亚洲综合色| 欧美日韩视频专区在线播放| 国产成人午夜电影网| 亚洲一级二级在线| 国产欧美日韩视频在线观看| 欧美亚洲国产一区二区三区| 国产精品一区在线| 亚洲国产精品影院| 国产亚洲福利社区一区| 欧美日高清视频| av高清不卡在线| 久久se精品一区精品二区| 一区二区三区精品在线观看| 久久综合九色综合欧美亚洲| 欧美影片第一页| 播五月开心婷婷综合| 久久不见久久见免费视频7| 夜夜夜精品看看| 国产精品麻豆一区二区 | 欧美日韩精品二区第二页| 国产a久久麻豆| 久久疯狂做爰流白浆xx| 午夜精品一区二区三区三上悠亚| 国产嫩草影院久久久久| 日韩精品中文字幕在线一区| 欧美日韩一区 二区 三区 久久精品| 国产91精品一区二区麻豆网站 | 国产亚洲欧美激情| 69堂精品视频| 欧美视频一区在线观看| aaa欧美日韩| 国产成人亚洲综合a∨猫咪| 日本欧美韩国一区三区| 午夜精品久久久久久久99水蜜桃 | 国产精品女主播av| 欧美精品一区二区三区一线天视频| 欧美视频三区在线播放| 色网站国产精品| 色88888久久久久久影院野外| 99精品国产热久久91蜜凸| 成人开心网精品视频| 国产成人免费在线| 国产成人自拍网| 成人激情综合网站| 成人av电影在线播放| www.日韩av| 91美女视频网站| 在线观看国产一区二区| 在线观看国产日韩| 欧美日韩精品电影| 日韩一区二区不卡| 精品免费国产二区三区| 26uuu亚洲综合色| 久久亚区不卡日本| 亚洲国产成人自拍| 亚洲日本青草视频在线怡红院| 亚洲日本乱码在线观看| 亚洲在线视频网站| 视频一区二区中文字幕| 久久99久久99小草精品免视看| 久久草av在线| 成人免费视频国产在线观看| 一本一道久久a久久精品| 欧洲生活片亚洲生活在线观看| 欧美人妖巨大在线| 精品sm捆绑视频| 亚洲欧美一区二区三区极速播放| 一区二区三区四区在线播放| 天天av天天翘天天综合网| 青青青爽久久午夜综合久久午夜| 免费的成人av| 国产精品综合二区| 日本乱人伦一区| 欧美成人vps| 日韩美女视频一区二区| 亚洲不卡在线观看| 国内精品国产三级国产a久久| 成人丝袜视频网| 欧美色精品在线视频| 精品久久久久香蕉网| 亚洲免费观看在线视频| 麻豆精品在线播放| 91伊人久久大香线蕉| 欧美成人一区二区三区在线观看 | 亚洲一区二区三区中文字幕| 久久99在线观看| 91免费看片在线观看| 欧美一区二区免费| 国产精品午夜在线观看| 日韩va欧美va亚洲va久久| 波波电影院一区二区三区| 91精品国产综合久久精品图片| 精品99一区二区三区| 亚洲夂夂婷婷色拍ww47| 国产精品资源在线| 欧美一区二区视频在线观看2022 | 99riav久久精品riav| 日韩三级在线观看| 亚洲国产日韩a在线播放性色| 精品一区二区三区不卡| 一本久久a久久精品亚洲| 久久久久久久久久久99999| 亚洲成精国产精品女| 99麻豆久久久国产精品免费优播| 日韩欧美一级精品久久| 亚洲一级二级三级| 成人高清在线视频| 久久亚洲二区三区| 久久国内精品视频| 欧美图区在线视频| 亚洲视频一二区| 成人激情动漫在线观看| 亚洲精品一区二区在线观看| 日韩一区精品字幕| 欧美日韩免费一区二区三区视频| 国产精品色在线观看| 国产另类ts人妖一区二区| 欧美tk丨vk视频| 免费成人av资源网| 日韩一区二区在线观看视频| 亚洲444eee在线观看| 欧美性大战xxxxx久久久| 亚洲欧美经典视频| 91在线视频18| 亚洲人成在线播放网站岛国 | 1024成人网| 99精品视频一区二区三区| 国产日韩成人精品| 国产精品1024| 国产欧美一区二区三区网站| 成人激情综合网站| 日韩毛片在线免费观看| 91视频你懂的| 一区二区三区av电影| 欧美日韩免费电影|