⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 img_pix_sat_d.c

📁 dm642函数库
💻 C
字号:
/* ======================================================================== */
/*  TEXAS INSTRUMENTS, INC.                                                 */
/*                                                                          */
/*  NAME                                                                    */
/*      IMG_pix_sat_d.c -- Example file for IMG_pix_sat                     */
/*                                                                          */
/*  USAGE                                                                   */
/*      This file contains code for demonstrating the C64x IMGLIB           */
/*      IMG_pix_sat function. All inputs to the function contain random     */
/*      data. The assembly version of IMG_pix_sat is called and the         */
/*      output is compared with the reference C code using mem_compare()    */
/*      in support.c.                                                       */
/* ------------------------------------------------------------------------ */
/*          Copyright (C) 2003 Texas Instruments, Incorporated.             */
/*                          All Rights Reserved.                            */
/* ======================================================================== */
    
#include <stdio.h>
#include <stdlib.h>

/* Header file for the memory compare function */
int mem_compare(const void *ptr1, const char *name1,
                const void *ptr2, const char *name2, int len);

/* Header file for the DSPLIB function */
#include "IMG_pix_sat.h"

/* Header file for the C function */
void IMG_pix_sat_c(int n, short * in_data, unsigned char * out_data);


/* ======================================================================== */
/*  Constant dataset.                                                       */
/* ======================================================================== */
#define N    (1024)


/* ======================================================================== */
/*  Initialize arrays with random test data.                                */
/* ======================================================================== */
int     test = 0;

short  in_data[N] = 
{
    -0x247A, -0x7DCF, -0x431F,  0x3342,  0x0F00, -0x1ABB,  0x6872, -0x0A3B,
     0x2BA7, -0x1BD4, -0x0CF8, -0x2B19,  0x1D1A,  0x0B56,  0x4C10,  0x5BB6,
     0x4735, -0x3387, -0x5AD1, -0x7DBC,  0x5EF0,  0x347D, -0x1E34,  0x37A3,
    -0x45A3, -0x3500, -0x29A7, -0x6830, -0x2258, -0x141D, -0x2AC7, -0x0DF2,
    -0x31BC, -0x2EF0, -0x4108, -0x2C8F, -0x5F4A, -0x5A1A, -0x3018,  0x755E,
    -0x608A, -0x7F1F, -0x3140,  0x6720, -0x7354,  0x1260,  0x6321,  0x1BDE,
    -0x6042, -0x0BB3,  0x140F,  0x7209, -0x7C12, -0x505A, -0x279D,  0x0FF9,
     0x56C3,  0x1BAD, -0x58CD, -0x0CBA, -0x3304, -0x7B57,  0x7E90, -0x26F7,
     0x6214, -0x3EC2,  0x4989, -0x1266, -0x2744,  0x1F79,  0x2E59, -0x084E,
     0x2FC5, -0x3C55,  0x076C,  0x11BF, -0x752D,  0x2E60,  0x5433,  0x04B7,
     0x44E8, -0x37A4, -0x5147,  0x5B26,  0x0CD3,  0x160D,  0x4147,  0x63FD,
    -0x777C, -0x3709,  0x0B1E, -0x07D4, -0x5297,  0x19E2, -0x1537,  0x578A,
     0x4888, -0x52F0, -0x6F79,  0x293B, -0x12DD,  0x4A44,  0x237C,  0x27EE,
     0x6071, -0x1F9A, -0x3B5E,  0x1689, -0x7830, -0x570C,  0x50A0,  0x47E6,
     0x66FA,  0x6928, -0x2506,  0x308F,  0x017E,  0x2ED4,  0x1317,  0x739C,
     0x5E4A, -0x3E58,  0x6421,  0x57B7, -0x177E, -0x69C2, -0x0DA7,  0x6457,
     0x0570,  0x009E, -0x76EE, -0x14DC, -0x264A, -0x3712, -0x084E, -0x13DB,
    -0x7E0E,  0x5B95,  0x2979, -0x2304, -0x1ABC, -0x4F23,  0x7B59,  0x7A73,
    -0x339B,  0x3E4D, -0x5BAD,  0x080B,  0x2500,  0x53E0, -0x3DCD,  0x6258,
     0x15B3,  0x7E09,  0x5156,  0x7F27, -0x4EC1,  0x72A7, -0x2C9D, -0x3F29,
    -0x1A24,  0x2E7E, -0x6265, -0x40C9,  0x7B91,  0x00ED,  0x0A67, -0x5DCD,
    -0x55A0, -0x5356, -0x41C3, -0x5889,  0x227F,  0x0CE8,  0x282B, -0x47F8,
     0x2A6C,  0x5C66,  0x5722, -0x68FD,  0x0ACD,  0x66BB,  0x4D53,  0x1DB8,
     0x1449,  0x5A73, -0x087B,  0x3A82, -0x48D6,  0x7DB2,  0x20FB, -0x6496,
    -0x29EF,  0x28FC,  0x3FBE, -0x78A4, -0x4683, -0x7FEE, -0x5A8B,  0x62CF,
    -0x3303, -0x0B04, -0x3B83, -0x4158,  0x332C, -0x50F6, -0x6C5C,  0x718A,
    -0x5403, -0x5941,  0x24C9, -0x544C,  0x5DDD,  0x41DC, -0x0EAD, -0x58D5,
     0x2944,  0x4ABE, -0x7AC3, -0x0D23,  0x3725, -0x1D76,  0x7052,  0x2D69,
    -0x4728, -0x2DA2, -0x37B5, -0x19DE,  0x137F,  0x259B, -0x52F6, -0x1F97,
     0x49CF,  0x54DA,  0x01DC,  0x6BCF,  0x66D1, -0x45C6, -0x56E5,  0x6E97,
     0x1F25,  0x2C4A,  0x583B,  0x305F, -0x18B4,  0x3AB8,  0x02CF,  0x25EF,
    -0x5C6F,  0x681D,  0x6509,  0x0EB3, -0x18B8, -0x3631,  0x533A, -0x3BC5,
    -0x6F3E, -0x1B55,  0x31FF,  0x728B,  0x4126, -0x6B95, -0x3C76,  0x5436,
    -0x6049,  0x5049, -0x7DBD,  0x5D47,  0x75B2,  0x6676,  0x4A5F, -0x77A5,
     0x59BA,  0x3C51, -0x4780,  0x26D5, -0x2210,  0x282C,  0x69F4,  0x4677,
    -0x5657, -0x2523, -0x51CD, -0x043B,  0x3A62,  0x27E9,  0x0D92, -0x3FF5,
     0x33D3, -0x348D,  0x1F70,  0x1E85,  0x4008,  0x72CA,  0x3FF6, -0x08F9,
    -0x6760, -0x2A1E, -0x3428, -0x141F,  0x287D,  0x587F, -0x6186, -0x77BC,
     0x3FA6, -0x4D85,  0x5FA7,  0x27F9, -0x2597,  0x75BE,  0x461A,  0x76C2,
     0x67A9, -0x6D7D,  0x4195,  0x4E0A, -0x727F,  0x3651, -0x65EE, -0x0065,
    -0x2DEF,  0x0822, -0x3C59,  0x7092,  0x6607, -0x14BF, -0x68A9, -0x70AF,
    -0x70D7,  0x565B,  0x0A49, -0x4278,  0x1B63, -0x232E, -0x1FE0, -0x42EF,
    -0x00A1, -0x0373, -0x3F52, -0x1852,  0x2228, -0x45CC,  0x3796,  0x673C,
    -0x77C7,  0x66DA,  0x1A01, -0x79D2, -0x5DDC,  0x144F,  0x6AF3,  0x3CB1,
     0x007F,  0x7D52,  0x11F0, -0x0DE5, -0x0C44,  0x0405, -0x5462, -0x6B04,
     0x3D65, -0x7ED5, -0x5012,  0x4FB7,  0x20F9, -0x74B5,  0x383B, -0x353F,
    -0x0AF9,  0x5B6E,  0x33D4,  0x37B1, -0x620C,  0x63F6, -0x3AA8,  0x6596,
     0x78B8,  0x045E,  0x61B3, -0x06EA,  0x057B,  0x0FAA,  0x7202, -0x1D59,
    -0x69FD,  0x3CAA, -0x32AC,  0x60F2, -0x6A52,  0x2F82,  0x6F95,  0x5766,
    -0x6BEB,  0x09E3,  0x0532, -0x2BCA, -0x4589, -0x25F9,  0x1A1A,  0x14DE,
    -0x3E4F, -0x2708, -0x6321,  0x03E2,  0x1363, -0x292E,  0x74C4, -0x01E3,
    -0x07C8,  0x378B, -0x59A3,  0x56FF, -0x36BA,  0x14D2, -0x0579, -0x3B71,
     0x15B1,  0x4BBA, -0x16B4,  0x207D,  0x75B4, -0x5394, -0x7BBC, -0x34D5,
     0x29FC,  0x1399,  0x3AD4,  0x06A8,  0x3DD8,  0x0DEF, -0x5C47,  0x73A5,
     0x0156,  0x7B07, -0x582A, -0x228D,  0x1DCB, -0x4F70, -0x03B9, -0x7EF6,
     0x7CB4,  0x1098, -0x2DC8,  0x4D98,  0x1BCC, -0x2F03, -0x5468,  0x597E,
    -0x18FA, -0x1EA3, -0x44E2,  0x7614,  0x3D18,  0x37F4,  0x2D5F,  0x4E24,
    -0x5654, -0x4FF9,  0x5E7B,  0x4766,  0x0048,  0x1E87,  0x7FBA, -0x7877,
     0x46F0,  0x2F51,  0x15A9,  0x7E90,  0x5F35,  0x7CD5,  0x233C, -0x40AD,
    -0x27DB,  0x600E,  0x56B1, -0x2246,  0x4266, -0x1048,  0x6F49, -0x2B94,
     0x137F, -0x62D7, -0x7692, -0x09FA, -0x6C12,  0x7683,  0x3030,  0x1427,
    -0x2396, -0x0439, -0x28F1, -0x4DDC,  0x376E, -0x019D, -0x2695,  0x4594,
    -0x5BC3, -0x177F, -0x5BB7, -0x3317,  0x75BC, -0x7F1A, -0x4282, -0x5086,
    -0x4637,  0x0DD1,  0x0522, -0x45DE,  0x6A2C,  0x0B6B, -0x74C8, -0x3FCB,
    -0x22D8,  0x3855, -0x1B7E, -0x3E30, -0x60D8, -0x4865,  0x1885, -0x69FF,
    -0x4E73,  0x473A, -0x378C,  0x7EE9, -0x1BE9, -0x3123, -0x3880,  0x3328,
    -0x7E59, -0x7DE7,  0x07B2, -0x1D53,  0x1FF0,  0x0BB6,  0x524E,  0x52D4,
     0x6845, -0x3E03,  0x281E,  0x5BBB, -0x24D0, -0x37A9, -0x7EFA, -0x7FCB,
    -0x2875,  0x28B4,  0x63B3, -0x0A03,  0x04E0,  0x753A,  0x5A1D, -0x68D1,
    -0x1E0B, -0x1174, -0x10F9,  0x50C9,  0x65AB,  0x767A, -0x3F20, -0x2B64,
     0x05E2, -0x2E6B,  0x766A, -0x678A,  0x2EAE, -0x322F, -0x1613,  0x79D3,
     0x6306,  0x7236,  0x46C8,  0x23F7,  0x03DE, -0x7476,  0x3A23,  0x4407,
    -0x2B79, -0x35D9,  0x2693, -0x13C9, -0x26A2,  0x2565, -0x16E7,  0x3AD4,
    -0x6D02,  0x3161,  0x7A74, -0x1904,  0x210A,  0x2B83, -0x69E8, -0x38D1,
    -0x465C,  0x725B,  0x50E9,  0x0D98, -0x5513, -0x436A,  0x767E, -0x343C,
     0x376D,  0x43D8,  0x22C3,  0x32B6, -0x1D14,  0x683B, -0x1078, -0x0C2B,
     0x579A,  0x731E, -0x49C1, -0x4F00,  0x1F52, -0x2FC9, -0x6116, -0x5695,
    -0x6D7C, -0x4851,  0x4B5C, -0x5D4F, -0x2EC7,  0x5C57,  0x78F5,  0x14E2,
    -0x25F1, -0x2E1E,  0x5578, -0x5194, -0x49F5, -0x01B9,  0x70A3, -0x5668,
     0x3048,  0x3C89,  0x6C33,  0x522F,  0x5266, -0x4BD0,  0x62C5,  0x7ED1,
    -0x1DFA,  0x0E97, -0x439A,  0x3D9B,  0x32CE, -0x14ED,  0x1945, -0x304B,
    -0x6797,  0x242C,  0x384B,  0x7D39, -0x1995, -0x790F,  0x71B2,  0x2EAB,
    -0x2FBE, -0x1150, -0x0BFF,  0x44F6, -0x4AF1,  0x5D74,  0x0B63,  0x5D1D,
     0x520E,  0x5DB6, -0x57BC, -0x7C86, -0x56AC, -0x447C, -0x3402,  0x2B44,
    -0x4697, -0x5FD7,  0x0582, -0x0C5A, -0x428E,  0x0B60,  0x7691, -0x6498,
     0x1531,  0x45EF, -0x4682, -0x2A01, -0x7220,  0x751E, -0x09AD,  0x2480,
     0x5491,  0x4D8E,  0x2E4D,  0x7F88,  0x2363, -0x38CF, -0x6D36,  0x1936,
     0x2167, -0x778F, -0x3532, -0x4EEE,  0x3F76,  0x2B72,  0x1B3B,  0x4EBF,
    -0x6DC3,  0x538D,  0x5FBC, -0x2629, -0x5AA8, -0x329D,  0x715C,  0x5F16,
     0x1316,  0x5BB4, -0x6E04, -0x623A, -0x33DA,  0x6EF0, -0x0D65,  0x7FCB,
    -0x3416, -0x4E77, -0x74CD, -0x7B38, -0x4D74,  0x4FAB,  0x70CC,  0x4F9C,
    -0x4A80, -0x35CC,  0x0A89,  0x03F3,  0x4A9C, -0x6875, -0x055A, -0x0B1F,
    -0x5345,  0x7232, -0x2EF5,  0x196F,  0x6F30, -0x6A5A,  0x6B51, -0x482C,
    -0x61D0, -0x06C3, -0x1581,  0x70B8,  0x4323, -0x431E, -0x25DB,  0x5BAB,
     0x41DE,  0x0432, -0x52C2, -0x0659,  0x2756,  0x4289,  0x55EB, -0x3377,
    -0x6461,  0x740B,  0x6646,  0x49BB, -0x67E7, -0x491B,  0x0E1D, -0x02BC,
    -0x2450, -0x1CB0, -0x630B,  0x40D6, -0x51E0, -0x6B84, -0x29D8, -0x77E1,
     0x3B25,  0x025F,  0x63AF,  0x02C4,  0x068A,  0x2B2F,  0x431B,  0x27A3,
    -0x6129, -0x0552, -0x14C6,  0x14C5,  0x68F8, -0x4357,  0x071C,  0x33F1,
    -0x0073, -0x6C5F,  0x5ECA,  0x1863, -0x543A, -0x433E,  0x02B4,  0x2A00,
    -0x024E, -0x69FB, -0x666E, -0x451A, -0x1D2F, -0x6EEF, -0x7DDE, -0x7586,
    -0x1020,  0x3837, -0x66D5,  0x76C8,  0x111D, -0x1120, -0x7CEE, -0x66E9,
     0x7AF5, -0x1104, -0x75C6,  0x2EBF,  0x53BA,  0x4AB1,  0x4E6E,  0x40AD,
    -0x50C4,  0x40B4,  0x66AD, -0x0A08, -0x52D7,  0x6322, -0x2478, -0x67B2,
     0x5943,  0x70F7,  0x6D36,  0x165E,  0x5A43,  0x0098,  0x587D, -0x19B3,
     0x4ECE, -0x1607, -0x6219,  0x1303, -0x22B7,  0x6A11, -0x2F79,  0x5A31,
     0x2F17,  0x7B0D,  0x0E8C,  0x52F1, -0x307A,  0x16ED, -0x6C0F,  0x5C28,
     0x5D3E,  0x466D, -0x7630,  0x31EB, -0x3CD2,  0x1BD9,  0x097F,  0x32C5,
     0x745E,  0x2BF5,  0x0C49, -0x7AF6, -0x6E37, -0x1EFA, -0x1496,  0x667F,
     0x1A2C,  0x37ED, -0x17A7, -0x28A4, -0x6A5C,  0x68E8,  0x6977, -0x2C64,
    -0x787A,  0x4B18,  0x1221,  0x4F19, -0x6DFD,  0x1710, -0x69A2,  0x0808,
    -0x4C7B, -0x56E6, -0x3B1B, -0x2296,  0x3DFB, -0x1A78, -0x3D9B, -0x7247,
    -0x3A17, -0x4ADD,  0x17DD,  0x1E13, -0x7330, -0x1615, -0x7EF6, -0x4AB4,
    -0x102A,  0x7112,  0x3FF7,  0x71EF,  0x5EB5,  0x36C2,  0x3FA0, -0x415F,
    -0x5C2E, -0x6446,  0x45DF, -0x348B,  0x3095, -0x2DC4, -0x29FF, -0x6FAC,
    -0x441C,  0x79D6, -0x6881,  0x5F45,  0x205C,  0x551E,  0x20E7, -0x45CD,
    -0x176D, -0x7CD4, -0x759A,  0x63FB, -0x5130,  0x73D5, -0x1219,  0x2DDD,
     0x7C24,  0x0EDC,  0x0886,  0x146C,  0x48A5,  0x2E15, -0x5222, -0x24E4,
    -0x76AE,  0x0154, -0x0F96, -0x273B, -0x1E16,  0x19EB,  0x1066, -0x6469,
     0x0AE7, -0x7377,  0x4441,  0x30E4, -0x6CB4,  0x3D3D, -0x790A, -0x77FB,
    -0x5367,  0x61F3,  0x422C, -0x7F38, -0x7100, -0x492E, -0x1D93, -0x46EB,
    -0x38B1, -0x455F, -0x5F46, -0x473F,  0x513F,  0x2688, -0x59D7,  0x5AD1,
    -0x1D35, -0x1BC9, -0x6622, -0x7846, -0x7F8E,  0x6222,  0x6F3F, -0x0082,
     0x3A65, -0x7826,  0x4C94,  0x2FC7, -0x59EF, -0x7DDF, -0x39FF, -0x4A7E,
    -0x6308,  0x344B, -0x2610, -0x2822,  0x4F3B, -0x347F,  0x17E7,  0x4D22,
     0x03DC,  0x0329,  0x17A7,  0x2A90,  0x0EC8,  0x49BE, -0x0946,  0x75A1,
     0x63CC,  0x3009,  0x37F7,  0x0258,  0x5055,  0x1481, -0x21EB,  0x707A,
     0x3863, -0x3B85, -0x6193,  0x1F10, -0x0E8B, -0x658D, -0x6B65, -0x6EB8
};

unsigned char  out_data_asm[N];
unsigned char  out_data_c[N];

int main()
{   

/* ======================================================================== */
/*  Call hand-coded assembly version (located in IMG64x.lib library         */ 
/*  archive - see Project -> Build Options -> Linker -> Include Libraries)  */
/* ======================================================================== */   
    IMG_pix_sat(N, in_data, out_data_asm);
    
/* ======================================================================== */
/*  Call natural-C version                                                  */
/* ======================================================================== */
    IMG_pix_sat_c(N, in_data, out_data_c);

/* ======================================================================== */
/*  Compare outputs using mem_compare() in support.c.  If different,        */
/*  mem_compare() displays location of failures.                            */
/* ======================================================================== */
    test = mem_compare(out_data_asm, "out_data_asm", out_data_c, "out_data_c", sizeof(out_data_c));
    if (test == 0) 
    {
      printf("out_data_asm vs. out_data_c");
      printf("\nVerification successful.\n");
    }

}

/* ======================================================================== */
/*  End of file:  img_pix_sat_d.c                                           */
/* ------------------------------------------------------------------------ */
/*          Copyright (C) 2003 Texas Instruments, Incorporated.             */
/*                          All Rights Reserved.                            */
/* ======================================================================== */

⌨️ 快捷键说明

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