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

📄 video_copy_x64p.c

📁 符合xdm标准的算法历程
💻 C
字号:
/* *  Do not modify this file; it is automatically  *  generated and any modifications will be overwritten. */#define __nested__#define __config__#ifndef xdc_std__include#ifndef __nested__#define __nested__#include <xdc/std.h>#undef __nested__#else#include <xdc/std.h>#endif#endif#ifndef ti_sdo_ce_CERuntime__include#ifndef __nested__#define __nested__#include <ti/sdo/ce/CERuntime.h>#undef __nested__#else#include <ti/sdo/ce/CERuntime.h>#endif#endif#define ti_sdo_ce_CERuntime__used#define ti_sdo_ce_CERuntime___FXNTAB/* * ======== instance types ======== *//* * ======== declarations ======== *//* module ti.sdo.ce.CERuntime *//* * ======== module templates ======== *//* module xdc.cfg.Program *//* *  ======== __PLAT__ ======== *  Define the name of the platform that can run this executable.  This *  symbol is used by platform independent "exec" commands */char* __PLAT__ = "@(#)__PLAT__ = ti.platforms.evmDM6446";/* *  ======== __ISA__ ======== *  Define the ISA of this executable.  This symbol is used by platform *  specific "exec" commands that support more than one ISA; e.g., gdb */char* __ISA__ = "@(#)__ISA__ = 64P";/* module ti.platforms.evmDM6446.Platform *//* *  ======== Platform Configuration ======== *  Do not modify following; it is automatically generated from the template *  Server.xdt in the ti.sdo.ce package and will be overwritten next time the *  executable is configured *//* module ti.sdo.ce.osal.Global *//* *  ======== Global Configuration ======== *  Do not modify following; it is automatically generated from the template *  Server.xdt in the ti.sdo.ce package and will be overwritten next time the *  executable is configured *//* configure GT: each runtime library defines _GT_params */#include <ti/sdo/ce/trace/gt.h>GT_Config *GT = &_GT_params;Int Comm_LOCATERETRIES = 20;/* module ti.sdo.fc.dskt2.DSKT2 *//* C code contribution from ti/sdo/fc/DSKT2.xdt */#include <xdc/std.h>#define DSKT2_USEFULLPACKAGEPATH#include <ti/sdo/fc/dskt2/dskt2.h>extern Void BCACHE_wbInv();DSKT2_CacheWBInvFxn DSKT2_cacheWBInvFxn =         (DSKT2_CacheWBInvFxn)BCACHE_wbInv;Uns _DSKT2_ALLOW_EXTERNAL_SCRATCH = 1;#if 20 > DSKT2_NUM_SCRATCH_GROUPS#error too many values in DARAM_SCRATCH_SIZES array, please fix your .cfg#endif#if 20 > DSKT2_NUM_SCRATCH_GROUPS#error too many values in SARAM_SCRATCH_SIZES array, please fix your .cfg#endifUns _DSKT2_DARAM_SCRATCH_SIZES[ DSKT2_NUM_SCRATCH_GROUPS ] = {    1024,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0};Uns _DSKT2_SARAM_SCRATCH_SIZES[ DSKT2_NUM_SCRATCH_GROUPS ] = {    1024,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0};/* module ti.sdo.fc.dman3.DMAN3 *//* C code contribution from ti/sdo/fc/dman3/DMAN3.xdt */#include <xdc/std.h>#include <ti/bios/include/std.h>#define DMAN3_USEFULLPACKAGEPATH#define ACPY3_USEFULLPACKAGEPATH#define IDMA3_USEFULLPACKAGEPATH#include <ti/sdo/fc/dman3/dman3.h>#include <ti/sdo/fc/acpy3/acpy3.h>#if 20 > DMAN3_MAXGROUPS#error too many values in "numTccGroup" array, please fix your .cfg#endif#if 20 > DMAN3_MAXGROUPS#error too many values in numPaRamGroup array, please fix your .cfg#endiffar Uns DMAN3_QDMA_CHANNELS[4] = {    0,    1,    2,    3};/* *  ======== DMAN3_CE_init  ======== */Void DMAN3_CE_init(){    extern far DMAN3_Params DMAN3_PARAMS;    /* BIOS heap labels */    extern far Int L1DHEAP;    extern far Int DDR;     DMAN3_PARAMS.heapInternal = L1DHEAP;    DMAN3_PARAMS.heapExternal = DDR;    DMAN3_init();    ACPY3_init();}/* *  ======== DMAN3_CE_exit  ======== */Void DMAN3_CE_exit(){    DMAN3_exit();    ACPY3_exit();}/* *  ======== DMAN3_PARAMS ======== *  Default module configuration structure for DMAN3 implementation. *  It is set at design time by the system integrator to adjust the behaviour *  of the module to be optimal for its execution environment. */DMAN3_Params DMAN3_PARAMS = {    /* qdmaPaRamBase: Physical base address for PARAM0 */    (Uns *)29376512,    /* The maxPaRamEntries:  Total number of PARAM Table entries on the     * hardware (eg, for IVA2 this is 128, for Himalaya, this is 256).     */    128,        /*     * paRamBaseIndex: (0>value>255) represents the first PARAM TABLE ENTRY     * NUMBER that is assigned by configuration for exclusive DMAN3 allocation.     */    96,     /*     * numPaRamEntries:  number of PARAM Table entries starting at     * DMAN3_PARAM_BASE_INDEX assigned by configuration for exclusive DMAN3      * allocation.     */    32,    /* maxQdmaChannels:  contains the total number of Physical QDMA channels     * available on the hardware (eg, 8 for DaVinci, 4 for IVA2).     */    8,    /*      * numQdmaChannels: contains the number of Physical QDMA channels     * that are assigned to DMAN3 via configuration.     * qdmaChannels: array containing list of DMAN3_NUM_QDMA_CHANNELS     * many Physical QDMA channels assigned to DMAN3 via configuration.     */    4,    DMAN3_QDMA_CHANNELS,    /*      * tccAllocationMaskH and tccAllocationMaskL:  are 32-bit bitmasks      * representing configuration provided list of TCCs for exclusive DMAN3      * allocation.     *      * For example, for TCC's in the range 0-31 the Low Mask (tccAllocationMaskL)     * is configured so that a '1' in bit position 'i' indicates the TCC 'i' is      * assigned to DMAN3     */    4294967295,     0,     /*      * heapInternal: BIOS Heap ID for dynamic allocation of DMAN3 objects       * must be allocated in L1D Internal RAM.      * heapExternal: BIOS Heap ID for dyn allocation of private DMAN3      * data structures.       *      * A value of -1 indicates that the heap is NOT DEFINED.      */    -1, //L1DHEAP,    0,  //DDR,    /* numTccGroup[DMAN3_MAXGROUPS] */    {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0    },    /* numPaRamGroup[DMAN3_MAXGROUPS] */    {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0    },    /* idma3Internal */    1,};/* module ti.sdo.ce.bioslog.LogServer */    #include <ti/sdo/ce/bioslog/LogServer.h>#include <ti/sdo/ce/osal/Global.h>/* *  ======== LogServer_initGenerated() ======== */Void LogServer_initGenerated(){    LogServer_init();        /* this causes activation of TRC bits */    Global_setSpecialTrace("ti.bios");}/* module ti.sdo.ce.node.NODE *//* *  ======== NODE Configuration ======== *  Do not modify following; it is automatically generated from the template *  NODE.xdt in the ti.sdo.ce.node package and will be overwritten next time the *  executable is configured */#include <ti/sdo/ce/node/node.h>NODE_Config NODE_config = {    0,       /* allocate node instances from this MEM seg id */    0,   /* Segment to allocate message frames */    0, /* if >0, size NODE must use with MSGQ_alloc */};NODE_Config *NODE = &NODE_config;/* module ti.sdo.ce.Engine *//* *  ======== Engine Configuration ======== *  Do not modify following; it is automatically generated from the template *  Engine.xdt in the ti.sdo.ce package and will be overwritten next time the *  executable is configured */#include <ti/sdo/ce/Engine.h>#include <ti/xdais/ialg.h>#define MdUns   UInt16#define SmUns   UInt8#ifndef IDMA3_USEFULLPACKAGEPATH#define IDMA3_USEFULLPACKAGEPATH#endif#include <ti/xdais/idma3.h>#undef MdUns#undef SmUns/* type tables for algorithms */extern IALG_Fxns VIDDECCOPY_TI_VIDDECCOPY;static String typeTab_VIDDECCOPY_TI_VIDDECCOPY[] = {    "ti.sdo.ce.video.IVIDDEC",    NULL};extern IALG_Fxns VIDENCCOPY_TI_VIDENCCOPY;static String typeTab_VIDENCCOPY_TI_VIDENCCOPY[] = {    "ti.sdo.ce.video.IVIDENC",    NULL};/* tables of engine algorithms */extern IALG_Fxns VIDDECCOPY_TI_VIDDECCOPY;extern IALG_Fxns VIDDECCOPY_TI_VIDDECCOPY;extern IALG_Fxns VIDENCCOPY_TI_VIDENCCOPY;extern IDMA3_Fxns VIDENCCOPY_TI_IDMA3;extern IALG_Fxns VIDENCCOPY_TI_VIDENCCOPY;static Engine_AlgDesc engineAlgs0[] = {    {        "viddec_copy",       /* name */        {245466167U},   /* uuid */        &VIDDECCOPY_TI_VIDDECCOPY,             /* fxns */        NULL,        /* idma3Fxns */        typeTab_VIDDECCOPY_TI_VIDDECCOPY,              /* typeTab */        TRUE,          /* isLocal */        0,        /* groupId */        3       /* protocol */    },    {        "videnc_copy",       /* name */        {261910585U},   /* uuid */        &VIDENCCOPY_TI_VIDENCCOPY,             /* fxns */        &VIDENCCOPY_TI_IDMA3,        /* idma3Fxns */        typeTab_VIDENCCOPY_TI_VIDENCCOPY,              /* typeTab */        TRUE,          /* isLocal */        0,        /* groupId */        3       /* protocol */    },    {NULL},};/* table of all engines available in this application */static Engine_Desc engineTab[] = {    {"local",      /* engine name */      engineAlgs0,    /* alg table */      NULL          /* (optional) server name */    },    {NULL, NULL, NULL}  /* NULL-terminate the engine table */};Engine_Config Engine_config = {    engineTab,              /* table of all engines */    "local"   /* local RMS engine name */};/* module ti.sdo.ce.Server *//* *  ======== Server Configuration ======== *  Do not modify following; it is automatically generated from the template *  Server.xdt in the ti.sdo.ce package and will be overwritten next time the *  executable is configured */#include <ti/sdo/ce/node/node.h>#include <ti/sdo/ce/rms.h>static NODE_Attrs nodeAttrs0 = {    2, 4096, 0};extern SKEL_Fxns VIDDEC_SKEL;static NODE_Attrs nodeAttrs1 = {    2, 4096, 0};extern SKEL_Fxns VIDENC_SKEL;/*  table of all "codec server" nodes available in this server */NODE_Desc RMS_nodeTab[] = {    /*  name            uuid        skel fxns       params      protocol */    {"viddec_copy",      {245466167U},   &VIDDEC_SKEL, &nodeAttrs0, 3},    {"videnc_copy",      {261910585U},   &VIDENC_SKEL, &nodeAttrs1, 3},    {NULL}  /* NULL terminate RMS_nodeTab[] */};RMS_Config RMS_config = {    1,          /* RMS server's priority */    2048,         /* RMS server's stack size */    0,        /* RMS server's stack memory seg */};Char RMS_traceBuffer[32768];Int  RMS_traceBufferSize = 32768;/* module ti.sdo.ce.CERuntime */#include <ti/sdo/ce/osal/Global.h>#include <ti/sdo/ce/osal/Comm.h>#include <ti/sdo/ce/osal/Memory.h>#include <ti/sdo/ce/osal/Thread.h>#include <ti/sdo/ce/osal/Process.h>#include <ti/sdo/ce/osal/AlgMem.h>#include <ti/sdo/ce/trace/gt.h>#include <ti/sdo/ce/Server.h>/* *  ======== CERuntime_init ======== */Void ti_sdo_ce_CERuntime_init__F(Void){    GT_init();    /* allow user to over-ride via CE_TRACE. */    GT_set(Global_getenv("CE_TRACE"));    Global_init();    Comm_init();    Memory_init();    Thread_init();    Process_init();    AlgMem_init();    Server_init();    Engine_init();    /* init code contribution from ti.sdo.ce.bioslog */    {        extern Void LogServer_initGenerated();        LogServer_initGenerated();    }}/* * ======== module configuration ======== *//* module ti.sdo.ce.CERuntime */const ti_sdo_ce_CERuntime_Config ti_sdo_ce_CERuntime_CONFIG = {    sizeof (ti_sdo_ce_CERuntime_Config), /*  __size */};/* * ======== module postInit ======== *//* * ======== program globals ======== *//* * ======== package stubs ======== */#include "xdc/package/package.c"#include "xdc/rts/package/package.c"#include "xdc/platform/package/package.c"#include "xdc/cfg/package/package.c"#include "xdc/shelf/package/package.c"#include "xdc/spec/package/package.c"#include "xdc/spec/jserver/package/package.c"#include "xdc/utils/package/package.c"#include "ti/catalog/c6000/package/package.c"#include "ti/platforms/evmDM6446/package/package.c"#include "ti/targets/rts6000/package/package.c"#include "servers/video_copy/package/package.c"#include "ti/sdo/ce/trace/package/package.c"#include "ti/sdo/ce/osal/alg/package/package.c"#include "dsplink/dsp/package/package.c"#include "ti/bios/utils/package/package.c"#include "ti/bios/package/package.c"#include "xdc/bld/package/package.c"#include "ti/rtdx/package/package.c"#include "ti/psl/package/package.c"#include "ti/sdo/ce/osal/package/package.c"#include "ti/sdo/fc/dskt2/package/package.c"#include "ti/sdo/fc/dman3/package/package.c"#include "ti/sdo/fc/acpy3/package/package.c"#include "ti/sdo/ce/bioslog/package/package.c"#include "ti/xdais/package/package.c"#include "ti/sdo/ce/node/package/package.c"#include "ti/sdo/ce/package/package.c"#include "ti/xdais/dm/package/package.c"#include "ti/sdo/ce/video/package/package.c"#include "codecs/viddec_copy/package/package.c"#include "codecs/videnc_copy/package/package.c"

⌨️ 快捷键说明

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