#line 1 "vcast_preprocess.24120.0.cpp" #line 1 "C:\\VCAST\\DATA\\code_composer\\c6000_intrinsics.h" unsigned short & _amem2 (void *ptr); unsigned & _amem4 (void *ptr); long long & _amem8 (void *ptr); unsigned short & _mem2 (void * ptr); unsigned & _mem4 (void * ptr); long long & _mem8 (void * ptr); #line 16 "C:\\VCAST\\DATA\\code_composer\\c6000_intrinsics.h" unsigned _pack2 (unsigned src1, unsigned src2); unsigned _packl4 (unsigned src1, unsigned src2); long long _itoll(int high32bits, int low32bits); #line 2 "vcast_preprocess.24120.0.cpp" #line 1 "D:/pkg/proj1747_ford_p702_soc_mib/P2_algs/od3d_alg/od3d_wrapper/source/ROI_Extract/source\\dummy_OdExtractChannel.cpp" #line 1 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\sys\\systypes.h" /*! ** $URL: http://svn.cel/svn/VVS_Software/release_candidate/BMW/iCAM_SVS/VVS_B6/RC13/source/BMW_iCAM_SVS_VVS_B6_RC13_V05.00.0A.00/P2/components/sys/source/arch/visionmid814x_dsp/systypes.h $ ** ** @(#) $Id: systypes.h 16898 2012-03-13 16:18:31Z kellawaytrevor $ ** ** \file systypes.h ** ** \brief Generic defines and types. */ /***************************************************************************** ** ** ** This program is the confidential and proprietary product of Application ** ** Solutions Limited and Valeo Vision Systems. Any unauthorised use, ** ** reproduction or transfer of this program is strictly prohibited. ** ** Copyright 2007 Application Solutions Limited and Valeo Vision Systems. ** ** (Subject to limited distribution and restricted disclosure only.) ** ** All rights reserved. ** ** ** *****************************************************************************/ /* * Prevent multiple definitions for SYS/BIOS 6 from TI header file */ /*lint -save -e1960 C++ pattern */ //Vioations : MISRA 2004 Required Rule 20.2, Note 960: Re-use of C90 identifier pattern: _STDINT_H //Justification for suppression : TI pre processor directive used, prevents adding from similar standard header file. should be suppressed. /*lint -e960 */ /*lint -restore */ /*--------------------------------------------------------------------------- ** Includes */ /*lint -save -e322 -e829 (include file defined in compiler) this module is used for C and C++ files */ #line 1 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\stddef.h" /*****************************************************************************/ /* stddef.h v7.4.2 */ /* */ /* Copyright (c) 1993-2012 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* 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 name of Texas Instruments Incorporated nor the names */ /* of its 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. */ /* */ /*****************************************************************************/ extern "C" namespace std { typedef int ptrdiff_t; typedef unsigned size_t; #line 64 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\stddef.h" } /* extern "C" namespace std */ using std::ptrdiff_t; using std::size_t; /*using std::wchar_t;*/ /*-----------------------------------------------------------------------*/ /* Define _win_t, for compiling GCC libraries with the TI compiler. */ /* GCC's library (newlib) expects wint_t to be defined here, in stddef.h,*/ /* which is arguably incorrect, but we go along for compatibility. */ /* This is outside the _STDDEF guard in case this file has already */ /* been included without __need_wint_t. */ /*-----------------------------------------------------------------------*/ #line 39 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\sys\\systypes.h" /*lint -restore */ /*--------------------------------------------------------------------------- ** Defines and Macros */ /** @name Boolean constants */ /*@{*/ /*lint -save -e1960 -e960 suppression unavoidable for True and False undef */ #line 56 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\sys\\systypes.h" /*@}*/ /*lint -restore */ #line 65 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\sys\\systypes.h" /** @name Macros corresponding to C++ implementation (From c6000/include/stdint.h) */ /* * According to footnotes in the 1999 C standard, "C++ implementations * should define these macros only when __STDC_LIMIT_MACROS is defined * before is included." */ #line 187 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\sys\\systypes.h" /*--------------------------------------------------------------------------- ** Typedefs */ /*lint -e1960 suppression required; PC-Lint assumes extern C is a global variable*/ extern "C" { /*lint -restore */ /** @name Base types */ /*@{*/ typedef signed char int8; typedef unsigned char uint8; typedef signed short int16; typedef signed short sint16; typedef unsigned short uint16; /* ** TI STL means we can't redefine bool, as some STL function overloading ** then fails due to duplicates, so leave as a different type. This means ** we can't easily do Lint across entire project (rather than unit checkout). */ typedef uint8 bool_t; typedef signed int int32; typedef signed int sint32; typedef unsigned int uint32; typedef signed long int40; typedef unsigned long uint40; typedef signed long long int64; typedef unsigned long long uint64; /*@}*/ /** @name Shorthand version of fast types ** ** Modify these for the best implementation for a specific CPU architecture. */ /*@{*/ typedef int32 intf8; typedef uint32 uintf8; typedef int32 intf16; typedef uint32 uintf16; typedef int32 intf32; typedef uint32 uintf32; typedef int64 intf64; typedef uint64 uintf64; /*@}*/ /** @name Draft ISO fast names (for compatibility) */ /*@{*/ typedef int8 int8_t; typedef int16 int16_t; typedef int32 int32_t; typedef int40 int40_t; typedef int64 int64_t; typedef uint8 uint8_t; typedef uint16 uint16_t; typedef uint32 uint32_t; typedef uint40 uint40_t; typedef uint64 uint64_t; typedef intf8 int_fast8_t; typedef intf16 int_fast16_t; typedef intf32 int_fast32_t; typedef intf64 int_fast64_t; typedef uintf8 uint_fast8_t; typedef uintf16 uint_fast16_t; typedef uintf32 uint_fast32_t; typedef uintf64 uint_fast64_t; /*@}*/ /** @name Minimum-width integer types (From c6000/include/stdint.h) */ /*@{*/ typedef int8_t int_least8_t; typedef uint8_t uint_least8_t; typedef int16_t int_least16_t; typedef uint16_t uint_least16_t; typedef int32_t int_least32_t; typedef uint32_t uint_least32_t; //#ifndef __TI_32BIT_LONG__ typedef int40_t int_least40_t; typedef uint40_t uint_least40_t; //#endif typedef int64_t int_least64_t; typedef uint64_t uint_least64_t; /*@}*/ /** @name Integer types capable of holding object pointers (From c6000/include/stdint.h) */ /*@{*/ typedef int intptr_t; typedef unsigned int uintptr_t; /*@}*/ /** @name Greatest-width integer types (From c6000/include/stdint.h) */ /*@{*/ typedef long long intmax_t; typedef unsigned long long uintmax_t; /*@}*/ /*! ** \brief Our own character type (to avoid MISRA warnings of direct 'char' use). */ typedef char CHAR; /*! ** \brief Our own float type (to avoid MISRA warnings of direct 'float' use). */ typedef float FLOAT; /*! ** \brief Our own double type (to avoid MISRA warnings of direct 'double' use). */ typedef double DOUBLE; /*--------------------------------------------------------------------------- ** Data */ /*--------------------------------------------------------------------------- ** Functions */ } /*--------------------------------------------------------------------------- ** End of File */ #line 2 "D:/pkg/proj1747_ford_p702_soc_mib/P2_algs/od3d_alg/od3d_wrapper/source/ROI_Extract/source\\dummy_OdExtractChannel.cpp" //#include"dmachannel.h" #line 1 "D:\\pkg\\proj1747_ford_p702_soc_mib\\P2_algs\\od3d_alg\\od3d_wrapper\\source\\ROI_Extract\\source\\OdExtractChannel.h" //! //! $URL$ //! //! @(#)$Id$ //! //! \file OdDmaChannel.h //! //! \brief Class declaration for OdDmaChannel. //! //////////////////////////////////////////////////////////////////////////// // // This program is the confidential and proprietary product of Valeo // Vision Systems. Any unauthorised use, reproduction or transfer of // this program is strictly prohibited. // Copyright 2015 Valeo Vision Systems. (Subject to limited // distribution and restricted disclosure only.) All rights reserved. // //////////////////////////////////////////////////////////////////////////// //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- /*lint -esym(970, unsigned, char, short, int) : Use of modifier or type outside of a typedef [MISRA 2004 Rule 6.3] : Interface class */ //--------------------------------------------------------------------------- // Includes //--------------------------------------------------------------------------- #line 1 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\dma\\dmachannel.h" //! //! $URL: $ //! //! @(#)$Id: $ //! //! \file dmachannel.h //! //! \brief Definition of DmaChannel implementation. //! ////////////////////////////////////////////////////////////////////////////// // // // This program is the confidential and proprietary product of Application // // Solutions Limited and Valeo Vision Systems. Any unauthorised use, // // reproduction or transfer of this program is strictly prohibited. // // Copyright 2008 Application Solutions Limited and Valeo Vision Systems. // // (Subject to limited distribution and restricted disclosure only.) // // All rights reserved. // // // ////////////////////////////////////////////////////////////////////////////// //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // Includes //--------------------------------------------------------------------------- #line 1 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\dma\\dmaichannel.h" //! //! $URL: $ //! //! @(#)$Id: $ //! //! \file dmaichannel.h //! //! \brief Class declaration for IChannel. //! ////////////////////////////////////////////////////////////////////////////// // // // This program is the confidential and proprietary product of Application // // Solutions (Electronics & Vision) Limited and Valeo Vision Systems. // // Any unauthorised use, reproduction or transfer of this program is // // strictly prohibited. // // Copyright 2011 Application Solutions (Electronics & Vision) Limited and // // Valeo Vision Systems. (Subject to limited distribution and restricted // // disclosure only.) All rights reserved. // // // ////////////////////////////////////////////////////////////////////////////// //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // Includes //--------------------------------------------------------------------------- //Investigated and found no reason for this warning Looks like Lint has some issue with this,so finally agreed suppress it. /*lint -save -esym(1960,7-3-1) agreed suppression Required Rule 7-3-1, Violates MISRA C++ 2008 Required Rule 7-3-1, Global declaration*/ namespace dma { //--------------------------------------------------------------------------- // Forward Declarations //--------------------------------------------------------------------------- typedef uint8_t DMA_PRIORITY; const DMA_PRIORITY DMA_PRIORITY_0 = 0; const DMA_PRIORITY DMA_PRIORITY_1 = 1; const DMA_PRIORITY DMA_PRIORITY_2 = 2; const DMA_PRIORITY DMA_PRIORITY_3 = 3; //--------------------------------------------------------------------------- //! \class DmaIListener //! //! \brief Interface to be implemented by dma listeners. //! class DmaIListener { public: virtual ~DmaIListener( void ) { } virtual void dmaCallback( bool result ) = 0; }; //--------------------------------------------------------------------------- //! \class DmaListener //! //! \brief Template to create dma listeners. //! template class DmaListener : public DmaIListener { protected: typedef void (T::*TClbk)(bool result); public: DmaListener( T *object, TClbk runFnc ) : m_object(object), m_dmaCallback(runFnc) { } virtual ~DmaListener( void ) { m_object = 0; } virtual void dmaCallback( bool result ) { (m_object->*m_dmaCallback)(result); } private: T *m_object; TClbk m_dmaCallback; }; //--------------------------------------------------------------------------- //! \class IChannel //! //! \brief Base class for DMA channel resources. //! class IChannel { public: IChannel( void ) { ; } virtual ~IChannel( void ) { ; } //--------------------------------------------------------------------------- //! \brief Create a channel //! //! \param[in] listener Pointer to the DMA listener object if provided //! //! \return true if successfully created //! virtual bool create( DMA_PRIORITY dmaPri, DmaIListener *listener ) = 0; //--------------------------------------------------------------------------- //! \brief Create a channel //! //! \param[in] listener Pointer to the DMA listener object if provided //! //! \return true if successfully created //! virtual bool create( void ) = 0; //--------------------------------------------------------------------------- //! \brief Destroy a channel //! //! \return true if successfully destroyed //! virtual void destroy( void ) = 0; //--------------------------------------------------------------------------- //! \brief Configures 2D -> 1D DMA transfer //! //! \param[in] numVectors Number of elements in 2D transfers //! \param[in] srcStride Number of bytes between start of source vector 'v' //! and start of source vector 'v+1' //! virtual void configure2D1D( uint16_t numVectors, int16_t srcStride ) = 0; //--------------------------------------------------------------------------- //! \brief Configures 1D -> 2D DMA transfer //! //! \param[in] numVectors Number of elements in 2D transfers //! \param[in] dstStride Number of bytes between start of destination vector 'v' //! and start of destination vector 'v+1' //! virtual void configure1D2D( uint16_t numVectors, int16_t dstStride ) = 0; //--------------------------------------------------------------------------- //! \brief Configures 2D -> 2D DMA transfer //! //! \param[in] numVectors Number of elements in 2D transfers //! \param[in] srcStride Number of bytes between start of source vector 'v' //! and start of source vector 'v+1' //! \param[in] dstStride Number of bytes between start of destination vector 'v' //! and start of destination vector 'v+1' //! virtual void configure2D2D( uint16_t numVectors, int16_t srcStride, int16_t dstStride ) = 0; //--------------------------------------------------------------------------- //! \brief Configures and starts 1D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] vectorSize Number of bytes to transfer //! //! \return true if successfully started //! virtual bool start( void *dst, const void *src, uint16_t vectorSize ) = 0; //--------------------------------------------------------------------------- //! \brief Configures and starts 2D -> 1D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] vectorSize Number of consecutive bytes in each element (1D vector) //! \param[in] numVectors Number of elements in 2D transfers //! \param[in] srcStride Number of bytes between start of source vector 'v' //! and start of source vector 'v+1' //! //! \return true if successfully started //! virtual bool start2D1D( void *dst, void *src, uint16_t vectorSize, uint16_t numVectors, int16_t srcStride ) { configure2D1D(numVectors, srcStride); return start(dst, src, vectorSize); } //--------------------------------------------------------------------------- //! \brief Configures and starts 1D -> 2D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] vectorSize Number of consecutive bytes in each element (1D vector) //! \param[in] numVectors Number of elements in 2D transfers //! \param[in] dstStride Number of bytes between start of destination vector 'v' //! and start of destination vector 'v+1' //! //! \return true if successfully started //! virtual bool start1D2D( void *dst, void *src, uint16_t vectorSize, uint16_t numVectors, int16_t dstStride ) { configure1D2D(numVectors, dstStride); return start(dst, src, vectorSize); } //--------------------------------------------------------------------------- //! \brief Configures and starts 2D -> 2D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] vectorSize Number of consecutive bytes in each element (1D vector) //! \param[in] numVectors Number of elements in 2D transfers //! \param[in] srcStride Number of bytes between start of source vector 'v' //! and start of source vector 'v+1' //! \param[in] dstStride Number of bytes between start of destination vector 'v' //! and start of destination vector 'v+1' //! //! \return true if successfully started //! virtual bool start2D2D( void *dst, void *src, uint16_t vectorSize, uint16_t numVectors, int16_t srcStride, int16_t dstStride ) { configure2D2D(numVectors, srcStride, dstStride); return start(dst, src, vectorSize); } //--------------------------------------------------------------------------- //! \brief Waits for completion of DMA transfer on the channel //! //! \note This is a blocking function //! virtual void wait( void ) = 0; //--------------------------------------------------------------------------- //! \brief Checks availability of DMA channel //! //! \return true if no occurring/pending transfer on the channel //! virtual bool complete( void ) = 0; protected: private: // Describe reason for private data }; //--------------------------------------------------------------------------- // Inline Functions //--------------------------------------------------------------------------- } // namespace dma // /*lint -restore */ //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // End of File //--------------------------------------------------------------------------- #line 31 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\dma\\dmachannel.h" #line 38 "D:\\pkg\\proj1747_ford_p702_soc_mib\\2_install\\application_lvds_tda2px_ti_c66_h_r\\dma\\dmachannel.h" //--------------------------------------------------------------------------- // Typedefs //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // Forward declarations //--------------------------------------------------------------------------- namespace dma { class LldEdmaChannel; //--------------------------------------------------------------------------- //! \class DmaChannel //! //! \brief TI LLD EDMA3 implementation. //! class DmaChannel : public IChannel { public: DmaChannel( void ); virtual ~DmaChannel(); static void init( void ); virtual bool create( DMA_PRIORITY dmaPri, DmaIListener *listener ); virtual bool create( void ); virtual void destroy( void ); virtual void configure2D1D( uint16_t numVectors, int16_t srcStride ); virtual void configure1D2D( uint16_t numVectors, int16_t dstStride ); virtual void configure2D2D( uint16_t numVectors, int16_t srcStride, int16_t dstStride ); virtual bool start( void *dst, const void *src, uint16_t vectorSize ); bool startFast( void *dst, void *src, uint16_t vectorSize ); bool startFrameSet( void *dst, void *src, uint32_t dstLen, uint32_t srcLen ); virtual void wait( void ); virtual bool complete( void ); static void waitAll( void ); private: SYS_DISABLE_COPY_OPERATOR(DmaChannel) LldEdmaChannel *lldEdmaChannel; }; } //namespace dma //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // End of File //--------------------------------------------------------------------------- #line 31 "D:\\pkg\\proj1747_ford_p702_soc_mib\\P2_algs\\od3d_alg\\od3d_wrapper\\source\\ROI_Extract\\source\\OdExtractChannel.h" #line 1 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\string.h" /*****************************************************************************/ /* string.h v7.4.2 */ /* */ /* Copyright (c) 1993-2012 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* 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 name of Texas Instruments Incorporated nor the names */ /* of its 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. */ /* */ /*****************************************************************************/ //---------------------------------------------------------------------------- // IS RECOMMENDED OVER . IS PROVIDED FOR // COMPATIBILITY WITH C AND THIS USAGE IS DEPRECATED IN C++ //---------------------------------------------------------------------------- extern "C" namespace std { #line 1 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\linkage.h" /*****************************************************************************/ /* linkage.h v7.4.2 */ /* */ /* Copyright (c) 1998-2012 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* 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 name of Texas Instruments Incorporated nor the names */ /* of its 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. */ /* */ /*****************************************************************************/ /*--------------------------------------------------------------------------*/ /* Define _CODE_ACCESS ==> how to call RTS functions */ /*--------------------------------------------------------------------------*/ #line 52 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\linkage.h" /*--------------------------------------------------------------------------*/ /* Define _DATA_ACCESS ==> how to access RTS global or static data */ /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ /* Define _DATA_ACCESS_NEAR ==> some C6000 RTS data must always be near */ /*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/ /* Define _IDECL ==> how inline functions are declared */ /*--------------------------------------------------------------------------*/ #line 76 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\linkage.h" /*--------------------------------------------------------------------------*/ /* If compiling with non-TI compiler (e.g. GCC), nullify any TI-specific */ /* language extensions. */ /*--------------------------------------------------------------------------*/ #line 99 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\linkage.h" #line 61 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\string.h" extern "C" size_t strlen(const char *_string); extern "C" char *strcpy(char *_dest, const char *_src); extern "C" char *strncpy(char *_to, const char *_from, size_t _n); extern "C" char *strcat(char *_string1, const char *_string2); extern "C" char *strncat(char *_to, const char *_from, size_t _n); extern "C" char *strchr(const char *_string, int _c); extern "C" char *strrchr(const char *_string, int _c); extern "C" int strcmp(const char *_string1, const char *_string2); extern "C" int strncmp(const char *_string1, const char *_string2, size_t _n); int strcoll(const char *_string1, const char *_string2); size_t strxfrm(char *_to, const char *_from, size_t _n); char *strpbrk(const char *_string, const char *_chs); size_t strspn(const char *_string, const char *_chs); size_t strcspn(const char *_string, const char *_chs); char *strstr(const char *_string1, const char *_string2); char *strtok(char *_str1, const char *_str2); char *strerror(int _errno); void *memmove(void *_s1, const void *_s2, size_t _n); void *memcpy(void *_s1, const void *_s2, size_t _n); extern "C" int memcmp(const void *_cs, const void *_ct, size_t _n); extern "C" void *memchr(const void *_cs, int _c, size_t _n); void *memset(void *_mem, int _ch, size_t _n); } /* extern "C" namespace std */ #line 285 "D:\\dev\\ti\\ccsv8\\tools\\compiler\\c6000_7.4.2\\include\\string.h" using std::size_t; using std::strlen; using std::strcpy; using std::strncpy; using std::strcat; using std::strncat; using std::strchr; using std::strrchr; //using std::strcmp; using std::strncmp; using std::strcoll; using std::strxfrm; using std::strpbrk; using std::strspn; using std::strcspn; using std::strstr; using std::strtok; using std::strerror; using std::memmove; using std::memcpy; using std::memcmp; using std::memchr; using std::memset; #line 32 "D:\\pkg\\proj1747_ford_p702_soc_mib\\P2_algs\\od3d_alg\\od3d_wrapper\\source\\ROI_Extract\\source\\OdExtractChannel.h" //--------------------------------------------------------------------------- // Defines //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- //! \class OdDmaChannel //! //! \brief //! //! \invariant //! class OdDmaChannel { public: OdDmaChannel(void) { m_pDma = new dma::DmaChannel(); m_pDma->create(); } virtual ~OdDmaChannel(void) { m_pDma->destroy(); delete m_pDma; } void startTransfer2D1D( void *dst, void *src, unsigned short elementSize, unsigned short numElements, short srcElemIndex ) { m_pDma->start2D1D(dst, src, elementSize, numElements, srcElemIndex); } void startTransfer1D2D( void *dst, void *src, unsigned short elementSize, unsigned short numElements, short dstElemIndex ) { m_pDma->start1D2D(dst, src, elementSize, numElements, dstElemIndex); } void wait() { m_pDma->wait(); } bool complete() { return m_pDma->complete(); } private: dma::DmaChannel *m_pDma; }; //--------------------------------------------------------------------------- //! \class OdMemcpyChannel //! //! \brief //! //! \invariant //! class OdMemcpyChannel { public: OdMemcpyChannel() { } virtual ~OdMemcpyChannel() { } bool create( void ) const { return true; } void destroy( void ) const { } //! \brief configures and starts 1D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] size Number of bytes to transfer void startTransfer( void *dst, const void *src, unsigned short size ) const { if (0 != dst) { if (0 != src) { memcpy(dst, src, size); } } } //! \brief configures and starts 2D -> 1D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] elemSize Number of consecutive bytes in each element (1D vector) //! \param[in] numElements Number of elements in 2D transfers //! \param[in] srcElemIndex Offset in number of bytes from beginning of //! each element to the beginning of the next element void startTransfer2D1D( void *dst, void *src, unsigned short elemSize, unsigned short numElements, short srcElemIndex ) const { if (0 != dst) { if (0 != src) { char *srcElem = (char *) src; char *dstElem = (char *) dst; for (int e = 0; e < numElements; e++) { memcpy(dstElem, srcElem, elemSize); srcElem += srcElemIndex; dstElem += elemSize; } } } } //! \brief configures and starts 1D -> 2D DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] elemSize Number of consecutive bytes in each element (1D vector) //! \param[in] numElements Number of elements in 2D transfers //! \param[in] dstElemIndex Offset in number of bytes from beginning of //! each element to the beginning of the next element //! return none void startTransfer1D2D( void *dst, void *src, unsigned short elemSize, unsigned short numElements, short dstElemIndex ) const { if (0 != dst) { if (0 != src) { char *srcElem = (char *) src; char *dstElem = (char *) dst; for (int e = 0; e < numElements; e++) { memcpy(dstElem, srcElem, elemSize); srcElem += elemSize; dstElem += dstElemIndex; } } } } void wait() const { } //! \brief Return complete //! //! \return true bool complete() const { return true; } //! \brief configures DMA transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] elemSize Number of consecutive bytes in each element (1D vector) //! return none void configureTransfer( void *dst, const void *src, unsigned short size ) const { (void) dst; if (0 != dst) { if (0 != src) { (void) size; //do nothing } } } //! \brief Starts fast transfer //! //! \param[in] dst Destination address of the DMA transfer //! \param[in] src Source address of the DMA transfer //! \param[in] elemSize Number of consecutive bytes in each element (1D vector) //! return none void startFastTransfer( void *dst, const void *src, unsigned short size ) const { startTransfer(dst, src, size); } }; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // End of File //--------------------------------------------------------------------------- #line 4 "D:/pkg/proj1747_ford_p702_soc_mib/P2_algs/od3d_alg/od3d_wrapper/source/ROI_Extract/source\\dummy_OdExtractChannel.cpp" #line 3 "vcast_preprocess.24120.0.cpp"