enhance: Added files to enhance driver.

Added source files, integration files, self test example,
mdd and tcl files to enhance driver.

Signed-off-by: Shravan Kumar A <skumara@xilinx.com>
Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Acked-by: Srikanth Vemula <svemula@xilinx.com>
This commit is contained in:
Shravan Kumar A 2014-07-15 12:16:55 +05:30 committed by Jagannadha Sutradharudu Teki
parent 4d2c0a528e
commit 3e69599b57
33 changed files with 7607 additions and 457 deletions

View file

@ -1,9 +1,9 @@
###############################################################################
##############################################################################
#
# Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# of this software and associated documentation files (the "Software"),to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
@ -27,11 +27,11 @@
# Except as contained in this notice, the name of the Xilinx shall not be used
# in advertising or otherwise to promote the sale, use or other dealings in
# this Software without prior written authorization from Xilinx.
#
###############################################################################
proc generate {drv_handle} {
xdefine_include_file $drv_handle "xparameters.h" "ENHANCE" "NUM_INSTANCES" "C_BASEADDR" "C_HIGHADDR" "DEVICE_ID" "C_S_AXIS_VIDEO_DATA_WIDTH" "C_S_AXIS_VIDEO_FORMAT" "C_S_AXIS_VIDEO_TDATA_WIDTH" "C_M_AXIS_VIDEO_DATA_WIDTH" "C_M_AXIS_VIDEO_FORMAT" "C_M_AXIS_VIDEO_TDATA_WIDTH" "C_HAS_AXI4_LITE" "C_HAS_DEBUG" "C_HAS_INTC_IF" "C_MAX_COLS" "C_ACTIVE_COLS" "C_ACTIVE_ROWS" "C_HAS_NOISE" "C_HAS_ENHANCE" "C_HAS_HALO" "C_HAS_ALIAS" "C_OPT_SIZE" "C_NOISE_THRESHOLD" "C_ENHANCE_STRENGTH" "C_HALO_SUPPRESS"
xdefine_canonical_xpars $drv_handle "xparameters.h" "ENHANCE" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "C_S_AXIS_VIDEO_DATA_WIDTH" "C_S_AXIS_VIDEO_FORMAT" "C_S_AXIS_VIDEO_TDATA_WIDTH" "C_M_AXIS_VIDEO_DATA_WIDTH" "C_M_AXIS_VIDEO_FORMAT" "C_M_AXIS_VIDEO_TDATA_WIDTH" "C_HAS_AXI4_LITE" "C_HAS_DEBUG" "C_HAS_INTC_IF" "C_MAX_COLS" "C_ACTIVE_COLS" "C_ACTIVE_ROWS" "C_HAS_NOISE" "C_HAS_ENHANCE" "C_HAS_HALO" "C_HAS_ALIAS" "C_OPT_SIZE" "C_NOISE_THRESHOLD" "C_ENHANCE_STRENGTH" "C_HALO_SUPPRESS"
xdefine_include_file $drv_handle "xparameters.h" "ENHANCE" "NUM_INSTANCES" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "C_S_AXIS_VIDEO_FORMAT" "C_M_AXIS_VIDEO_FORMAT" "C_HAS_AXI4_LITE" "C_HAS_INTC_IF" "C_HAS_DEBUG" "C_MAX_COLS" "C_ACTIVE_COLS" "C_ACTIVE_ROWS" "C_HAS_NOISE" "C_HAS_ENHANCE" "C_HAS_HALO" "C_HAS_ALIAS" "C_OPT_SIZE" "C_NOISE_THRESHOLD" "C_ENHANCE_STRENGTH" "C_HALO_SUPPRESS"
xdefine_config_file $drv_handle "xenhance_g.c" "XEnhance" "DEVICE_ID" "C_BASEADDR" "C_S_AXIS_VIDEO_FORMAT" "C_M_AXIS_VIDEO_FORMAT" "C_HAS_INTC_IF" "C_HAS_DEBUG" "C_MAX_COLS" "C_ACTIVE_COLS" "C_ACTIVE_ROWS" "C_HAS_NOISE" "C_HAS_ENHANCE" "C_HAS_HALO" "C_HAS_ALIAS" "C_OPT_SIZE" "C_NOISE_THRESHOLD" "C_ENHANCE_STRENGTH" "C_HALO_SUPPRESS"
xdefine_canonical_xpars $drv_handle "xparameters.h" "ENHANCE" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "C_S_AXIS_VIDEO_FORMAT" "C_M_AXIS_VIDEO_FORMAT" "C_HAS_INTC_IF" "C_HAS_DEBUG" "C_MAX_COLS" "C_ACTIVE_COLS" "C_ACTIVE_ROWS" "C_HAS_NOISE" "C_HAS_ENHANCE" "C_HAS_HALO" "C_HAS_ALIAS" "C_OPT_SIZE" "C_NOISE_THRESHOLD" "C_ENHANCE_STRENGTH" "C_HALO_SUPPRESS"
}

View file

@ -0,0 +1,28 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class List
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td class="indexvalue"></td></tr>
</table>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,13 +9,25 @@
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.5 -->
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="enhance_8c.html">enhance.c</a></td><td class="indexvalue"></td></tr>
<div class="tabs">
<ul>
<li id="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="xenhance_8c.html">xenhance.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xenhance_8h.html">xenhance.h</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xenhance__g_8c.html">xenhance_g.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xenhance__hw_8h.html">xenhance_hw.h</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xenhance__intr_8c.html">xenhance_intr.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xenhance__selftest_8c.html">xenhance_selftest.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xenhance__sinit_8c.html">xenhance_sinit.c</a></td><td class="indexvalue"></td></tr>
</table>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
Here is a list of all class members with links to the classes they belong to:
<p>
<ul>
<li>ActiveColumns
: <a class="el" href="struct_x_enhance___config.html#c396f8a7670f54e2718a70cc8e391a2f">XEnhance_Config</a><li>ActiveRows
: <a class="el" href="struct_x_enhance___config.html#1e332d3f35fcbb40827477b4c5a3a8b0">XEnhance_Config</a><li>BaseAddress
: <a class="el" href="struct_x_enhance___config.html#56cbd3b62b6ecd8c7ef3e9dd8011121c">XEnhance_Config</a><li>Config
: <a class="el" href="struct_x_enhance.html#157d803a4384e7ac214c79dacb7b9851">XEnhance</a><li>DeviceId
: <a class="el" href="struct_x_enhance___config.html#91a71be0915784ddfd243fcc408a85b2">XEnhance_Config</a><li>EnhanceStrength
: <a class="el" href="struct_x_enhance___config.html#42eec4f0b508d8b0a7d302524c1a4acb">XEnhance_Config</a><li>ErrCallBack
: <a class="el" href="struct_x_enhance.html#8e679d169f87390d6b1e86b8b147e05f">XEnhance</a><li>ErrRef
: <a class="el" href="struct_x_enhance.html#461a431d5566bfe9cfb7440811dbb5d0">XEnhance</a><li>FrameDoneCallBack
: <a class="el" href="struct_x_enhance.html#00ee311877ffe9859b2877414b3a9e7a">XEnhance</a><li>FrameDoneRef
: <a class="el" href="struct_x_enhance.html#d22a0a0571ca8ee53039ccb1f1a9f93a">XEnhance</a><li>HaloSuppress
: <a class="el" href="struct_x_enhance___config.html#ee7b54a085754456b7998480c016af62">XEnhance_Config</a><li>HasAlias
: <a class="el" href="struct_x_enhance___config.html#e62779a570947c310bfc74a7921fd396">XEnhance_Config</a><li>HasDebug
: <a class="el" href="struct_x_enhance___config.html#5d523322076f4fa6c1cd1f119a40e051">XEnhance_Config</a><li>HasEnhance
: <a class="el" href="struct_x_enhance___config.html#4b2a4255b5ea170506498dbf4d540053">XEnhance_Config</a><li>HasHalo
: <a class="el" href="struct_x_enhance___config.html#05974c8fc1d30b821cd9c8cef6428920">XEnhance_Config</a><li>HasIntcIf
: <a class="el" href="struct_x_enhance___config.html#aeedf2ae2dbaa80d53ac7c3ec7b2f472">XEnhance_Config</a><li>HasNoise
: <a class="el" href="struct_x_enhance___config.html#4c8c2984709a372c403c5f9e2f0ddce5">XEnhance_Config</a><li>HSize
: <a class="el" href="struct_x_enhance.html#c4751b60380a2020abd1dd68ff891103">XEnhance</a><li>IsReady
: <a class="el" href="struct_x_enhance.html#939eb6f192417bebca0473c85621914d">XEnhance</a><li>MasteAxisVideoFoemat
: <a class="el" href="struct_x_enhance___config.html#fd5d318c4dd4fa192e78a6e21b55e6b3">XEnhance_Config</a><li>MaxColumns
: <a class="el" href="struct_x_enhance___config.html#8dd213297f2509a5d578bd2a8250f00e">XEnhance_Config</a><li>NoiseThreshold
: <a class="el" href="struct_x_enhance___config.html#cee778e8db519b09bb8812e90c66d612">XEnhance_Config</a><li>OptSize
: <a class="el" href="struct_x_enhance___config.html#7966ad9721e02f3948f8572f0a06ac49">XEnhance_Config</a><li>ProcStartCallBack
: <a class="el" href="struct_x_enhance.html#180094bd53ebe3c2c74732c6e4c27aa3">XEnhance</a><li>ProcStartRef
: <a class="el" href="struct_x_enhance.html#f299ec4071d0b8d50f4dd2ba7a019db1">XEnhance</a><li>SlaveAxiClkFreqHz
: <a class="el" href="struct_x_enhance___config.html#16e3fa5688ff7039feb4d6754f836994">XEnhance_Config</a><li>SlaveAxisVideoFormat
: <a class="el" href="struct_x_enhance___config.html#1ff6400a6ab0e7b2180d61734e615ed4">XEnhance_Config</a><li>VSize
: <a class="el" href="struct_x_enhance.html#66c01dc3b70ce57c374baecbebcc66c4">XEnhance</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members - Variables
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="functions.html"><span>All</span></a></li>
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>ActiveColumns
: <a class="el" href="struct_x_enhance___config.html#c396f8a7670f54e2718a70cc8e391a2f">XEnhance_Config</a><li>ActiveRows
: <a class="el" href="struct_x_enhance___config.html#1e332d3f35fcbb40827477b4c5a3a8b0">XEnhance_Config</a><li>BaseAddress
: <a class="el" href="struct_x_enhance___config.html#56cbd3b62b6ecd8c7ef3e9dd8011121c">XEnhance_Config</a><li>Config
: <a class="el" href="struct_x_enhance.html#157d803a4384e7ac214c79dacb7b9851">XEnhance</a><li>DeviceId
: <a class="el" href="struct_x_enhance___config.html#91a71be0915784ddfd243fcc408a85b2">XEnhance_Config</a><li>EnhanceStrength
: <a class="el" href="struct_x_enhance___config.html#42eec4f0b508d8b0a7d302524c1a4acb">XEnhance_Config</a><li>ErrCallBack
: <a class="el" href="struct_x_enhance.html#8e679d169f87390d6b1e86b8b147e05f">XEnhance</a><li>ErrRef
: <a class="el" href="struct_x_enhance.html#461a431d5566bfe9cfb7440811dbb5d0">XEnhance</a><li>FrameDoneCallBack
: <a class="el" href="struct_x_enhance.html#00ee311877ffe9859b2877414b3a9e7a">XEnhance</a><li>FrameDoneRef
: <a class="el" href="struct_x_enhance.html#d22a0a0571ca8ee53039ccb1f1a9f93a">XEnhance</a><li>HaloSuppress
: <a class="el" href="struct_x_enhance___config.html#ee7b54a085754456b7998480c016af62">XEnhance_Config</a><li>HasAlias
: <a class="el" href="struct_x_enhance___config.html#e62779a570947c310bfc74a7921fd396">XEnhance_Config</a><li>HasDebug
: <a class="el" href="struct_x_enhance___config.html#5d523322076f4fa6c1cd1f119a40e051">XEnhance_Config</a><li>HasEnhance
: <a class="el" href="struct_x_enhance___config.html#4b2a4255b5ea170506498dbf4d540053">XEnhance_Config</a><li>HasHalo
: <a class="el" href="struct_x_enhance___config.html#05974c8fc1d30b821cd9c8cef6428920">XEnhance_Config</a><li>HasIntcIf
: <a class="el" href="struct_x_enhance___config.html#aeedf2ae2dbaa80d53ac7c3ec7b2f472">XEnhance_Config</a><li>HasNoise
: <a class="el" href="struct_x_enhance___config.html#4c8c2984709a372c403c5f9e2f0ddce5">XEnhance_Config</a><li>HSize
: <a class="el" href="struct_x_enhance.html#c4751b60380a2020abd1dd68ff891103">XEnhance</a><li>IsReady
: <a class="el" href="struct_x_enhance.html#939eb6f192417bebca0473c85621914d">XEnhance</a><li>MasteAxisVideoFoemat
: <a class="el" href="struct_x_enhance___config.html#fd5d318c4dd4fa192e78a6e21b55e6b3">XEnhance_Config</a><li>MaxColumns
: <a class="el" href="struct_x_enhance___config.html#8dd213297f2509a5d578bd2a8250f00e">XEnhance_Config</a><li>NoiseThreshold
: <a class="el" href="struct_x_enhance___config.html#cee778e8db519b09bb8812e90c66d612">XEnhance_Config</a><li>OptSize
: <a class="el" href="struct_x_enhance___config.html#7966ad9721e02f3948f8572f0a06ac49">XEnhance_Config</a><li>ProcStartCallBack
: <a class="el" href="struct_x_enhance.html#180094bd53ebe3c2c74732c6e4c27aa3">XEnhance</a><li>ProcStartRef
: <a class="el" href="struct_x_enhance.html#f299ec4071d0b8d50f4dd2ba7a019db1">XEnhance</a><li>SlaveAxiClkFreqHz
: <a class="el" href="struct_x_enhance___config.html#16e3fa5688ff7039feb4d6754f836994">XEnhance_Config</a><li>SlaveAxisVideoFormat
: <a class="el" href="struct_x_enhance___config.html#1ff6400a6ab0e7b2180d61734e615ed4">XEnhance_Config</a><li>VSize
: <a class="el" href="struct_x_enhance.html#66c01dc3b70ce57c374baecbebcc66c4">XEnhance</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,170 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_x"><span>x</span></a></li>
</ul>
</div>
<p>
Here is a list of all file members with links to the files they belong to:
<p>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>ENHANCE_ACTIVE_SIZE
: <a class="el" href="xenhance__hw_8h.html#10e1705d228058dedd4a9c98a4085759">xenhance_hw.h</a><li>ENHANCE_CONTROL
: <a class="el" href="xenhance__hw_8h.html#73836da924ea27e4033708bb0bc71c02">xenhance_hw.h</a><li>ENHANCE_CTL_AUTORESET
: <a class="el" href="xenhance__hw_8h.html#7f6dec1b395902a9be8f62bde8a26423">xenhance_hw.h</a><li>ENHANCE_CTL_EN_MASK
: <a class="el" href="xenhance__hw_8h.html#56236f75970f97e652ec71e2cfd46593">xenhance_hw.h</a><li>ENHANCE_CTL_RESET
: <a class="el" href="xenhance__hw_8h.html#6ac953667220d2d0d34a75e148524f55">xenhance_hw.h</a><li>ENHANCE_CTL_RU_MASK
: <a class="el" href="xenhance__hw_8h.html#6f39895c18632f99aa4cab5fe9f31e50">xenhance_hw.h</a><li>ENHANCE_ENHANCE_STRENGTH
: <a class="el" href="xenhance__hw_8h.html#55898862cc510286d9317addcf14790c">xenhance_hw.h</a><li>ENHANCE_ERROR
: <a class="el" href="xenhance__hw_8h.html#7b9e9150f5d47c1650008d5ee9c91080">xenhance_hw.h</a><li>ENHANCE_HALO_SUPPRESS
: <a class="el" href="xenhance__hw_8h.html#48e232220e049130de3051a99e3bc523">xenhance_hw.h</a><li>ENHANCE_In32
: <a class="el" href="xenhance__hw_8h.html#859ca775bd40ad667b06588698fd1797">xenhance_hw.h</a><li>ENHANCE_IRQ_ENABLE
: <a class="el" href="xenhance__hw_8h.html#21f5eebf9cffd6d60d4f95c350037540">xenhance_hw.h</a><li>ENHANCE_NOISE_THRESHOLD
: <a class="el" href="xenhance__hw_8h.html#347b6e029bc7514dea4ea2b399ddaab3">xenhance_hw.h</a><li>ENHANCE_Out32
: <a class="el" href="xenhance__hw_8h.html#163d9c11156973812d444a54b1b7ae74">xenhance_hw.h</a><li>ENHANCE_ReadReg
: <a class="el" href="xenhance__hw_8h.html#e3336650735c4996bbd995d4b1f4a45d">xenhance_hw.h</a><li>ENHANCE_STATUS
: <a class="el" href="xenhance__hw_8h.html#5dc54411890bef5cd0fa227b5316f924">xenhance_hw.h</a><li>ENHANCE_SYSDEBUG0
: <a class="el" href="xenhance__hw_8h.html#2bde90b5eeecd208224947cdd54a8c70">xenhance_hw.h</a><li>ENHANCE_SYSDEBUG1
: <a class="el" href="xenhance__hw_8h.html#4db408e1fe84cc263a90261604dbfed4">xenhance_hw.h</a><li>ENHANCE_SYSDEBUG2
: <a class="el" href="xenhance__hw_8h.html#9f30d3fe2e0a91975b4cb0917af80254">xenhance_hw.h</a><li>ENHANCE_VERSION
: <a class="el" href="xenhance__hw_8h.html#127e6377e070fe2b1d4adeca7782ac41">xenhance_hw.h</a><li>ENHANCE_WriteReg
: <a class="el" href="xenhance__hw_8h.html#47cbf0e3685f1b23c310c752b98983de">xenhance_hw.h</a></ul>
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
<li>XENH_ACTIVE_SIZE_OFFSET
: <a class="el" href="xenhance__hw_8h.html#daf48c1c0f6cc7290fdd94ffbd835726">xenhance_hw.h</a><li>XENH_ACTSIZE_NUM_LINE_MASK
: <a class="el" href="xenhance__hw_8h.html#176b48f8590c367fce65f23268603af4">xenhance_hw.h</a><li>XENH_ACTSIZE_NUM_LINE_SHIFT
: <a class="el" href="xenhance__hw_8h.html#10ede7da22925a8ce30645dfecc69cdf">xenhance_hw.h</a><li>XENH_ACTSIZE_NUM_PIXEL_MASK
: <a class="el" href="xenhance__hw_8h.html#b2f7eaf32e6000187df542d96de33f8a">xenhance_hw.h</a><li>XENH_CONTROL_OFFSET
: <a class="el" href="xenhance__hw_8h.html#c02c39726e454397a7c99fcc8bad831f">xenhance_hw.h</a><li>XENH_CTL_AUTORESET_MASK
: <a class="el" href="xenhance__hw_8h.html#7e3fc91cb107b7993e42bd635572f96f">xenhance_hw.h</a><li>XENH_CTL_BPE_MASK
: <a class="el" href="xenhance__hw_8h.html#bf4790c9faa05ed1889582633df53b32">xenhance_hw.h</a><li>XENH_CTL_RESET_MASK
: <a class="el" href="xenhance__hw_8h.html#0cac2df49aa7642c05f4e42c34f46b7c">xenhance_hw.h</a><li>XENH_CTL_RUE_MASK
: <a class="el" href="xenhance__hw_8h.html#a715dd1e076653a21145849c629bb012">xenhance_hw.h</a><li>XENH_CTL_SW_EN_MASK
: <a class="el" href="xenhance__hw_8h.html#1977282c1370b7a9b85323733962b351">xenhance_hw.h</a><li>XENH_CTL_TPE_MASK
: <a class="el" href="xenhance__hw_8h.html#1a97cc54dd0c87e25434ae4f03b7d925">xenhance_hw.h</a><li>XENH_ENHANCE_STRENGTH_OFFSET
: <a class="el" href="xenhance__hw_8h.html#885cd8bf6e191b9d29baff719566b5ac">xenhance_hw.h</a><li>XENH_ENHSTRENGTH_MAX
: <a class="el" href="xenhance_8h.html#1a3021cc07f92785cdc43cf2986ebae9">xenhance.h</a><li>XENH_ENHSTRENGTH_MIN
: <a class="el" href="xenhance_8h.html#b80d8355bd99e713ecef3b21ce642fd2">xenhance.h</a><li>XENH_ERR_EOL_EARLY_MASK
: <a class="el" href="xenhance__hw_8h.html#377a0698e2fd664201766561151d2cd8">xenhance_hw.h</a><li>XENH_ERR_EOL_LATE_MASK
: <a class="el" href="xenhance__hw_8h.html#62538a67809eeeaf011da50e3bdb2899">xenhance_hw.h</a><li>XENH_ERR_SOF_EARLY_MASK
: <a class="el" href="xenhance__hw_8h.html#ae97df4e124f8f1eda9d0bc61c3aadf7">xenhance_hw.h</a><li>XENH_ERR_SOF_LATE_MASK
: <a class="el" href="xenhance__hw_8h.html#a61797d95f4c749ae22028c6e38e33db">xenhance_hw.h</a><li>XENH_ERROR_OFFSET
: <a class="el" href="xenhance__hw_8h.html#e45f51dd0d46b8f35b612ed3321c8b04">xenhance_hw.h</a><li>XENH_HALO_SUPPRESS_MASK
: <a class="el" href="xenhance__hw_8h.html#ab94e5a55c69b0802ea6c4fb598a65d7">xenhance_hw.h</a><li>XENH_HALO_SUPPRESS_OFFSET
: <a class="el" href="xenhance__hw_8h.html#c224e30335309717fe4f82edfe46bb6c">xenhance_hw.h</a><li>XENH_HALOSUPPRESS_MAX
: <a class="el" href="xenhance_8h.html#5914b63ba5fb09d1154226b814acb845">xenhance.h</a><li>XENH_HALOSUPPRESS_MIN
: <a class="el" href="xenhance_8h.html#e71d04d88bd29ee762b7e8d4789edc81">xenhance.h</a><li>XENH_HANDLER_ERROR
: <a class="el" href="xenhance_8h.html#06fc87d81c62e9abb8790b6e5713c55b8b01649c94e8a91fe60a381853ba6cdd">xenhance.h</a><li>XENH_HANDLER_FRAMEDONE
: <a class="el" href="xenhance_8h.html#06fc87d81c62e9abb8790b6e5713c55bcbfce502cce6764cd9fd104f48b15a7b">xenhance.h</a><li>XENH_HANDLER_PROCSTART
: <a class="el" href="xenhance_8h.html#06fc87d81c62e9abb8790b6e5713c55b4f1784b06fd283bb0695fcc725bd4dbb">xenhance.h</a><li>XENH_HSIZE_FIRST
: <a class="el" href="xenhance_8h.html#f5c8d2261df0069c7e8178ddb3b1f1f5">xenhance.h</a><li>XENH_HSIZE_LAST
: <a class="el" href="xenhance_8h.html#35582276f7450bcaa5a17e1b46038e12">xenhance.h</a><li>XENH_IER_OFFSET
: <a class="el" href="xenhance__hw_8h.html#cd111afd9e8a1df77c3d69b24d50685d">xenhance_hw.h</a><li>XENH_IRQ_EN_OFFSET
: <a class="el" href="xenhance__hw_8h.html#32c1a8cffe09936d9e052568b24cb604">xenhance_hw.h</a><li>XENH_ISR_OFFSET
: <a class="el" href="xenhance__hw_8h.html#a13be0a7fd9cb5fdd01129ca91884216">xenhance_hw.h</a><li>XENH_IXR_ALLINTR_MASK
: <a class="el" href="xenhance__hw_8h.html#e7f75d0542d4b21b690b0381b1deabc6">xenhance_hw.h</a><li>XENH_IXR_EOF_MASK
: <a class="el" href="xenhance__hw_8h.html#e8e8ed045dc49ef46dacd17e46a6560f">xenhance_hw.h</a><li>XENH_IXR_PROCS_STARTED_MASK
: <a class="el" href="xenhance__hw_8h.html#ed0578d40be1c670d62509138b6415df">xenhance_hw.h</a><li>XENH_IXR_SE_MASK
: <a class="el" href="xenhance__hw_8h.html#f0b0e8986d488f60af694fc106436e40">xenhance_hw.h</a><li>XENH_NOISE_THRESHOLD_MASK
: <a class="el" href="xenhance__hw_8h.html#8c49b2e9dbda59f09e9837f995281a13">xenhance_hw.h</a><li>XENH_NOISE_THRESHOLD_OFFSET
: <a class="el" href="xenhance__hw_8h.html#f58fa6c3773713146da3ec3673db1ac1">xenhance_hw.h</a><li>XENH_NOISETHRES_MAX
: <a class="el" href="xenhance_8h.html#61a51ee2182bc3de35ad81d604b0811b">xenhance.h</a><li>XENH_NOISETHRES_MIN
: <a class="el" href="xenhance_8h.html#c6bfaa8cc3cfd038b6a16af15e38ff3e">xenhance.h</a><li>XENH_STATUS_OFFSET
: <a class="el" href="xenhance__hw_8h.html#e35a4d3eb15145f520b65e126c13b0d5">xenhance_hw.h</a><li>XENH_STRENGTH_MASK
: <a class="el" href="xenhance__hw_8h.html#7b4b401f5836df3f5191f6dc24066c91">xenhance_hw.h</a><li>XENH_SYSDEBUG0_OFFSET
: <a class="el" href="xenhance__hw_8h.html#4897593c07843cd849441417a73ef0fc">xenhance_hw.h</a><li>XENH_SYSDEBUG1_OFFSET
: <a class="el" href="xenhance__hw_8h.html#221c5f74f4dace1d6040680097e2fdf0">xenhance_hw.h</a><li>XENH_SYSDEBUG2_OFFSET
: <a class="el" href="xenhance__hw_8h.html#abb5414fbc805f667e8faa7b10e78641">xenhance_hw.h</a><li>XENH_VER_INTERNAL_SHIFT
: <a class="el" href="xenhance__hw_8h.html#4ed398a74064362a08ed2f01740a90a2">xenhance_hw.h</a><li>XENH_VER_MAJOR_MASK
: <a class="el" href="xenhance__hw_8h.html#664947a79139bd1fe3267da9497dd2d7">xenhance_hw.h</a><li>XENH_VER_MAJOR_SHIFT
: <a class="el" href="xenhance__hw_8h.html#c7abd50042b00c3685b658454ea5b8d5">xenhance_hw.h</a><li>XENH_VER_MINOR_MASK
: <a class="el" href="xenhance__hw_8h.html#c3f10e826d5983a3c7c0de385539fcd0">xenhance_hw.h</a><li>XENH_VER_MINOR_SHIFT
: <a class="el" href="xenhance__hw_8h.html#a6eb547d4668a05c3d2db74cd9d857a9">xenhance_hw.h</a><li>XENH_VER_PID_MASK
: <a class="el" href="xenhance__hw_8h.html#269cbadc2eda675e0f4092a66aba430b">xenhance_hw.h</a><li>XENH_VER_REV_MASK
: <a class="el" href="xenhance__hw_8h.html#1a5a725b10bef246e0a0610b49517323">xenhance_hw.h</a><li>XENH_VER_REV_NUM_MASK
: <a class="el" href="xenhance__hw_8h.html#e671f0e12cbaa4a4eee54bbf9f860ec7">xenhance_hw.h</a><li>XENH_VER_REV_SHIFT
: <a class="el" href="xenhance__hw_8h.html#af54133bd927346410404c388ae63def">xenhance_hw.h</a><li>XENH_VERSION_OFFSET
: <a class="el" href="xenhance__hw_8h.html#3957a8d03c339ff0bf8da971956a8e6a">xenhance_hw.h</a><li>XENH_VSIZE_FIRST
: <a class="el" href="xenhance_8h.html#c0bdb1a67e45a7f560834e5e90288022">xenhance.h</a><li>XENH_VSIZE_LAST
: <a class="el" href="xenhance_8h.html#d9abb02b03915dd61814c87af02503a3">xenhance.h</a><li>XEnhance_CallBack
: <a class="el" href="xenhance_8h.html#eae611f79f29fc60985cb57aa65e14dd">xenhance.h</a><li>XEnhance_CfgInitialize()
: <a class="el" href="xenhance_8h.html#27bf67acc10edaf9c34060974b8a60a5">xenhance.h</a>, <a class="el" href="xenhance_8c.html#27bf67acc10edaf9c34060974b8a60a5">xenhance.c</a><li>XEnhance_ConfigTable
: <a class="el" href="xenhance__g_8c.html#dca8295c085104fe0fec407732d9fbf9">xenhance_g.c</a><li>XEnhance_Disable
: <a class="el" href="xenhance_8h.html#a9dd4fb05ffd477983f98ac7e8f20e38">xenhance.h</a><li>XEnhance_DisableDbgBypass()
: <a class="el" href="xenhance_8h.html#4bceb204520f19beff700f3101f1497b">xenhance.h</a>, <a class="el" href="xenhance_8c.html#4bceb204520f19beff700f3101f1497b">xenhance.c</a><li>XEnhance_DisableDbgTestPattern()
: <a class="el" href="xenhance_8h.html#847ee28cb905bff86e3554134bd06517">xenhance.h</a>, <a class="el" href="xenhance_8c.html#847ee28cb905bff86e3554134bd06517">xenhance.c</a><li>XEnhance_Enable
: <a class="el" href="xenhance_8h.html#8d057c53af0c487bda2fa6031e65db15">xenhance.h</a><li>XEnhance_EnableDbgByPass()
: <a class="el" href="xenhance_8h.html#244a1d9a2f84fe3d2dfdcd19e60a3d70">xenhance.h</a>, <a class="el" href="xenhance_8c.html#244a1d9a2f84fe3d2dfdcd19e60a3d70">xenhance.c</a><li>XEnhance_EnableDbgTestPattern()
: <a class="el" href="xenhance_8h.html#a39c61253de334d022e9eef05d0510f4">xenhance.h</a>, <a class="el" href="xenhance_8c.html#a39c61253de334d022e9eef05d0510f4">xenhance.c</a><li>XEnhance_ErrorCallBack
: <a class="el" href="xenhance_8h.html#c0da9d80042fa426581a1585c6f03e8d">xenhance.h</a><li>XEnhance_GetActiveSize()
: <a class="el" href="xenhance_8h.html#da3d94dd800e68dd33c3bd7d2d944e58">xenhance.h</a>, <a class="el" href="xenhance_8c.html#da3d94dd800e68dd33c3bd7d2d944e58">xenhance.c</a><li>XEnhance_GetDbgFrameCount()
: <a class="el" href="xenhance_8h.html#37bb7f8519e16cd40f0786f2bb2426b3">xenhance.h</a>, <a class="el" href="xenhance_8c.html#37bb7f8519e16cd40f0786f2bb2426b3">xenhance.c</a><li>XEnhance_GetDbgLineCount()
: <a class="el" href="xenhance_8h.html#5b27e04a98b4dc982d8e810a10b4323c">xenhance.h</a>, <a class="el" href="xenhance_8c.html#5b27e04a98b4dc982d8e810a10b4323c">xenhance.c</a><li>XEnhance_GetDbgPixelCount()
: <a class="el" href="xenhance_8h.html#b290cab23614f98bacb8962d71bbcd3a">xenhance.h</a>, <a class="el" href="xenhance_8c.html#b290cab23614f98bacb8962d71bbcd3a">xenhance.c</a><li>XEnhance_GetEdgeStrength()
: <a class="el" href="xenhance_8h.html#092895c216029e0a46a2374137a57ac4">xenhance.h</a>, <a class="el" href="xenhance_8c.html#092895c216029e0a46a2374137a57ac4">xenhance.c</a><li>XEnhance_GetHaloSuppress()
: <a class="el" href="xenhance_8h.html#9b7d0832aa50a04f6ec9e23f5a6a8d0a">xenhance.h</a>, <a class="el" href="xenhance_8c.html#9b7d0832aa50a04f6ec9e23f5a6a8d0a">xenhance.c</a><li>XEnhance_GetNoiseThreshold()
: <a class="el" href="xenhance_8h.html#9bf6d4c23a24ab84dce597b40a775c55">xenhance.h</a>, <a class="el" href="xenhance_8c.html#9bf6d4c23a24ab84dce597b40a775c55">xenhance.c</a><li>XEnhance_GetVersion()
: <a class="el" href="xenhance_8h.html#ba71113132fe89427be60fa11b0ec4c6">xenhance.h</a>, <a class="el" href="xenhance_8c.html#ba71113132fe89427be60fa11b0ec4c6">xenhance.c</a><li>XENHANCE_H_
: <a class="el" href="xenhance_8h.html#f4ab80cefb7bb00209b6448ebe2b5f65">xenhance.h</a><li>XENHANCE_HW_H_
: <a class="el" href="xenhance__hw_8h.html#dac15fad1ba47afee8ab06e4d93db5ed">xenhance_hw.h</a><li>XEnhance_In32
: <a class="el" href="xenhance__hw_8h.html#22996994009945110250415f4a458bca">xenhance_hw.h</a><li>XEnhance_IntrClear
: <a class="el" href="xenhance_8h.html#971ecb0f819761e7493adf0d7ba530f7">xenhance.h</a><li>XEnhance_IntrDisable
: <a class="el" href="xenhance_8h.html#355450e42b084a6e6b899af6582ba85c">xenhance.h</a><li>XEnhance_IntrEnable
: <a class="el" href="xenhance_8h.html#4c00772b75e659cebe54b2708f34fd98">xenhance.h</a><li>XEnhance_IntrGetPending
: <a class="el" href="xenhance_8h.html#5d7503e531f68af99551d2be2412d86f">xenhance.h</a><li>XEnhance_IntrHandler()
: <a class="el" href="xenhance__intr_8c.html#79cd83f6fcf8b87f46b71fea035f5595">xenhance_intr.c</a>, <a class="el" href="xenhance_8h.html#79cd83f6fcf8b87f46b71fea035f5595">xenhance.h</a><li>XEnhance_IsDbgByPassEnabled()
: <a class="el" href="xenhance_8h.html#6572dfd0d09a9b491bc45e05df4a74c5">xenhance.h</a>, <a class="el" href="xenhance_8c.html#6572dfd0d09a9b491bc45e05df4a74c5">xenhance.c</a><li>XEnhance_IsDbgTestPatternEnabled()
: <a class="el" href="xenhance_8h.html#d88dee1a3cd8e22e3bc96b20387b58b5">xenhance.h</a>, <a class="el" href="xenhance_8c.html#d88dee1a3cd8e22e3bc96b20387b58b5">xenhance.c</a><li>XEnhance_LookupConfig()
: <a class="el" href="xenhance__sinit_8c.html#a2249dcaece157a861495d2000c97bfe">xenhance_sinit.c</a>, <a class="el" href="xenhance_8h.html#a2249dcaece157a861495d2000c97bfe">xenhance.h</a><li>XEnhance_Out32
: <a class="el" href="xenhance__hw_8h.html#52a9d8e6362223499033bc73317b966d">xenhance_hw.h</a><li>XEnhance_ReadReg
: <a class="el" href="xenhance__hw_8h.html#0bf5fba775e0a7d6449bff866aac5a24">xenhance_hw.h</a><li>XEnhance_RegUpdateDisable
: <a class="el" href="xenhance_8h.html#fc895668d8afb17afe75ba9681388d8e">xenhance.h</a><li>XEnhance_RegUpdateEnable
: <a class="el" href="xenhance_8h.html#122bdb853c0836674d4727c4146f1d8c">xenhance.h</a><li>XEnhance_Reset
: <a class="el" href="xenhance_8h.html#3514daa9c8e996dd3ea32f50836516a1">xenhance.h</a><li>XEnhance_SelfTest()
: <a class="el" href="xenhance__selftest_8c.html#c7263c5e34305af138117dfa949ee842">xenhance_selftest.c</a>, <a class="el" href="xenhance_8h.html#c7263c5e34305af138117dfa949ee842">xenhance.h</a><li>XEnhance_SetActiveSize()
: <a class="el" href="xenhance_8h.html#97a2877a659d458b2bfb6c32343f0965">xenhance.h</a>, <a class="el" href="xenhance_8c.html#97a2877a659d458b2bfb6c32343f0965">xenhance.c</a><li>XEnhance_SetCallBack()
: <a class="el" href="xenhance__intr_8c.html#b4f409f8478526bc69e8cbe392c865ef">xenhance_intr.c</a>, <a class="el" href="xenhance_8h.html#b4f409f8478526bc69e8cbe392c865ef">xenhance.h</a><li>XEnhance_SetEdgeStrength()
: <a class="el" href="xenhance_8h.html#988ff7bd55a8d3835c149533d587e140">xenhance.h</a>, <a class="el" href="xenhance_8c.html#988ff7bd55a8d3835c149533d587e140">xenhance.c</a><li>XEnhance_SetHaloSuppress()
: <a class="el" href="xenhance_8h.html#6ab6a95117eb6829927e8d3ae58415b1">xenhance.h</a>, <a class="el" href="xenhance_8c.html#6ab6a95117eb6829927e8d3ae58415b1">xenhance.c</a><li>XEnhance_SetNoiseThreshold()
: <a class="el" href="xenhance_8h.html#902482d8dd1f121091d5fd607b5c5c27">xenhance.h</a>, <a class="el" href="xenhance_8c.html#902482d8dd1f121091d5fd607b5c5c27">xenhance.c</a><li>XEnhance_Setup()
: <a class="el" href="xenhance_8h.html#531bc8c50a3385af70d135675919769f">xenhance.h</a>, <a class="el" href="xenhance_8c.html#531bc8c50a3385af70d135675919769f">xenhance.c</a><li>XEnhance_Start
: <a class="el" href="xenhance_8h.html#b42067ce4de3fab87ebc4b14f845ff8b">xenhance.h</a><li>XEnhance_StatusGetPending
: <a class="el" href="xenhance_8h.html#716def265280bac930827ed18d824b62">xenhance.h</a><li>XEnhance_Stop
: <a class="el" href="xenhance_8h.html#e647c6f567c445ab367aeeec5d9dca60">xenhance.h</a><li>XEnhance_SyncReset
: <a class="el" href="xenhance_8h.html#dcb9c5b65fdbdb584db40e626826983c">xenhance.h</a><li>XEnhance_WriteReg
: <a class="el" href="xenhance__hw_8h.html#b5694a82feda035f4229565fd76601a7">xenhance_hw.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,140 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li id="current"><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_x"><span>x</span></a></li>
</ul>
</div>
<p>
&nbsp;
<p>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>ENHANCE_ACTIVE_SIZE
: <a class="el" href="xenhance__hw_8h.html#10e1705d228058dedd4a9c98a4085759">xenhance_hw.h</a><li>ENHANCE_CONTROL
: <a class="el" href="xenhance__hw_8h.html#73836da924ea27e4033708bb0bc71c02">xenhance_hw.h</a><li>ENHANCE_CTL_AUTORESET
: <a class="el" href="xenhance__hw_8h.html#7f6dec1b395902a9be8f62bde8a26423">xenhance_hw.h</a><li>ENHANCE_CTL_EN_MASK
: <a class="el" href="xenhance__hw_8h.html#56236f75970f97e652ec71e2cfd46593">xenhance_hw.h</a><li>ENHANCE_CTL_RESET
: <a class="el" href="xenhance__hw_8h.html#6ac953667220d2d0d34a75e148524f55">xenhance_hw.h</a><li>ENHANCE_CTL_RU_MASK
: <a class="el" href="xenhance__hw_8h.html#6f39895c18632f99aa4cab5fe9f31e50">xenhance_hw.h</a><li>ENHANCE_ENHANCE_STRENGTH
: <a class="el" href="xenhance__hw_8h.html#55898862cc510286d9317addcf14790c">xenhance_hw.h</a><li>ENHANCE_ERROR
: <a class="el" href="xenhance__hw_8h.html#7b9e9150f5d47c1650008d5ee9c91080">xenhance_hw.h</a><li>ENHANCE_HALO_SUPPRESS
: <a class="el" href="xenhance__hw_8h.html#48e232220e049130de3051a99e3bc523">xenhance_hw.h</a><li>ENHANCE_In32
: <a class="el" href="xenhance__hw_8h.html#859ca775bd40ad667b06588698fd1797">xenhance_hw.h</a><li>ENHANCE_IRQ_ENABLE
: <a class="el" href="xenhance__hw_8h.html#21f5eebf9cffd6d60d4f95c350037540">xenhance_hw.h</a><li>ENHANCE_NOISE_THRESHOLD
: <a class="el" href="xenhance__hw_8h.html#347b6e029bc7514dea4ea2b399ddaab3">xenhance_hw.h</a><li>ENHANCE_Out32
: <a class="el" href="xenhance__hw_8h.html#163d9c11156973812d444a54b1b7ae74">xenhance_hw.h</a><li>ENHANCE_ReadReg
: <a class="el" href="xenhance__hw_8h.html#e3336650735c4996bbd995d4b1f4a45d">xenhance_hw.h</a><li>ENHANCE_STATUS
: <a class="el" href="xenhance__hw_8h.html#5dc54411890bef5cd0fa227b5316f924">xenhance_hw.h</a><li>ENHANCE_SYSDEBUG0
: <a class="el" href="xenhance__hw_8h.html#2bde90b5eeecd208224947cdd54a8c70">xenhance_hw.h</a><li>ENHANCE_SYSDEBUG1
: <a class="el" href="xenhance__hw_8h.html#4db408e1fe84cc263a90261604dbfed4">xenhance_hw.h</a><li>ENHANCE_SYSDEBUG2
: <a class="el" href="xenhance__hw_8h.html#9f30d3fe2e0a91975b4cb0917af80254">xenhance_hw.h</a><li>ENHANCE_VERSION
: <a class="el" href="xenhance__hw_8h.html#127e6377e070fe2b1d4adeca7782ac41">xenhance_hw.h</a><li>ENHANCE_WriteReg
: <a class="el" href="xenhance__hw_8h.html#47cbf0e3685f1b23c310c752b98983de">xenhance_hw.h</a></ul>
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
<li>XENH_ACTIVE_SIZE_OFFSET
: <a class="el" href="xenhance__hw_8h.html#daf48c1c0f6cc7290fdd94ffbd835726">xenhance_hw.h</a><li>XENH_ACTSIZE_NUM_LINE_MASK
: <a class="el" href="xenhance__hw_8h.html#176b48f8590c367fce65f23268603af4">xenhance_hw.h</a><li>XENH_ACTSIZE_NUM_LINE_SHIFT
: <a class="el" href="xenhance__hw_8h.html#10ede7da22925a8ce30645dfecc69cdf">xenhance_hw.h</a><li>XENH_ACTSIZE_NUM_PIXEL_MASK
: <a class="el" href="xenhance__hw_8h.html#b2f7eaf32e6000187df542d96de33f8a">xenhance_hw.h</a><li>XENH_CONTROL_OFFSET
: <a class="el" href="xenhance__hw_8h.html#c02c39726e454397a7c99fcc8bad831f">xenhance_hw.h</a><li>XENH_CTL_AUTORESET_MASK
: <a class="el" href="xenhance__hw_8h.html#7e3fc91cb107b7993e42bd635572f96f">xenhance_hw.h</a><li>XENH_CTL_BPE_MASK
: <a class="el" href="xenhance__hw_8h.html#bf4790c9faa05ed1889582633df53b32">xenhance_hw.h</a><li>XENH_CTL_RESET_MASK
: <a class="el" href="xenhance__hw_8h.html#0cac2df49aa7642c05f4e42c34f46b7c">xenhance_hw.h</a><li>XENH_CTL_RUE_MASK
: <a class="el" href="xenhance__hw_8h.html#a715dd1e076653a21145849c629bb012">xenhance_hw.h</a><li>XENH_CTL_SW_EN_MASK
: <a class="el" href="xenhance__hw_8h.html#1977282c1370b7a9b85323733962b351">xenhance_hw.h</a><li>XENH_CTL_TPE_MASK
: <a class="el" href="xenhance__hw_8h.html#1a97cc54dd0c87e25434ae4f03b7d925">xenhance_hw.h</a><li>XENH_ENHANCE_STRENGTH_OFFSET
: <a class="el" href="xenhance__hw_8h.html#885cd8bf6e191b9d29baff719566b5ac">xenhance_hw.h</a><li>XENH_ENHSTRENGTH_MAX
: <a class="el" href="xenhance_8h.html#1a3021cc07f92785cdc43cf2986ebae9">xenhance.h</a><li>XENH_ENHSTRENGTH_MIN
: <a class="el" href="xenhance_8h.html#b80d8355bd99e713ecef3b21ce642fd2">xenhance.h</a><li>XENH_ERR_EOL_EARLY_MASK
: <a class="el" href="xenhance__hw_8h.html#377a0698e2fd664201766561151d2cd8">xenhance_hw.h</a><li>XENH_ERR_EOL_LATE_MASK
: <a class="el" href="xenhance__hw_8h.html#62538a67809eeeaf011da50e3bdb2899">xenhance_hw.h</a><li>XENH_ERR_SOF_EARLY_MASK
: <a class="el" href="xenhance__hw_8h.html#ae97df4e124f8f1eda9d0bc61c3aadf7">xenhance_hw.h</a><li>XENH_ERR_SOF_LATE_MASK
: <a class="el" href="xenhance__hw_8h.html#a61797d95f4c749ae22028c6e38e33db">xenhance_hw.h</a><li>XENH_ERROR_OFFSET
: <a class="el" href="xenhance__hw_8h.html#e45f51dd0d46b8f35b612ed3321c8b04">xenhance_hw.h</a><li>XENH_HALO_SUPPRESS_MASK
: <a class="el" href="xenhance__hw_8h.html#ab94e5a55c69b0802ea6c4fb598a65d7">xenhance_hw.h</a><li>XENH_HALO_SUPPRESS_OFFSET
: <a class="el" href="xenhance__hw_8h.html#c224e30335309717fe4f82edfe46bb6c">xenhance_hw.h</a><li>XENH_HALOSUPPRESS_MAX
: <a class="el" href="xenhance_8h.html#5914b63ba5fb09d1154226b814acb845">xenhance.h</a><li>XENH_HALOSUPPRESS_MIN
: <a class="el" href="xenhance_8h.html#e71d04d88bd29ee762b7e8d4789edc81">xenhance.h</a><li>XENH_HSIZE_FIRST
: <a class="el" href="xenhance_8h.html#f5c8d2261df0069c7e8178ddb3b1f1f5">xenhance.h</a><li>XENH_HSIZE_LAST
: <a class="el" href="xenhance_8h.html#35582276f7450bcaa5a17e1b46038e12">xenhance.h</a><li>XENH_IER_OFFSET
: <a class="el" href="xenhance__hw_8h.html#cd111afd9e8a1df77c3d69b24d50685d">xenhance_hw.h</a><li>XENH_IRQ_EN_OFFSET
: <a class="el" href="xenhance__hw_8h.html#32c1a8cffe09936d9e052568b24cb604">xenhance_hw.h</a><li>XENH_ISR_OFFSET
: <a class="el" href="xenhance__hw_8h.html#a13be0a7fd9cb5fdd01129ca91884216">xenhance_hw.h</a><li>XENH_IXR_ALLINTR_MASK
: <a class="el" href="xenhance__hw_8h.html#e7f75d0542d4b21b690b0381b1deabc6">xenhance_hw.h</a><li>XENH_IXR_EOF_MASK
: <a class="el" href="xenhance__hw_8h.html#e8e8ed045dc49ef46dacd17e46a6560f">xenhance_hw.h</a><li>XENH_IXR_PROCS_STARTED_MASK
: <a class="el" href="xenhance__hw_8h.html#ed0578d40be1c670d62509138b6415df">xenhance_hw.h</a><li>XENH_IXR_SE_MASK
: <a class="el" href="xenhance__hw_8h.html#f0b0e8986d488f60af694fc106436e40">xenhance_hw.h</a><li>XENH_NOISE_THRESHOLD_MASK
: <a class="el" href="xenhance__hw_8h.html#8c49b2e9dbda59f09e9837f995281a13">xenhance_hw.h</a><li>XENH_NOISE_THRESHOLD_OFFSET
: <a class="el" href="xenhance__hw_8h.html#f58fa6c3773713146da3ec3673db1ac1">xenhance_hw.h</a><li>XENH_NOISETHRES_MAX
: <a class="el" href="xenhance_8h.html#61a51ee2182bc3de35ad81d604b0811b">xenhance.h</a><li>XENH_NOISETHRES_MIN
: <a class="el" href="xenhance_8h.html#c6bfaa8cc3cfd038b6a16af15e38ff3e">xenhance.h</a><li>XENH_STATUS_OFFSET
: <a class="el" href="xenhance__hw_8h.html#e35a4d3eb15145f520b65e126c13b0d5">xenhance_hw.h</a><li>XENH_STRENGTH_MASK
: <a class="el" href="xenhance__hw_8h.html#7b4b401f5836df3f5191f6dc24066c91">xenhance_hw.h</a><li>XENH_SYSDEBUG0_OFFSET
: <a class="el" href="xenhance__hw_8h.html#4897593c07843cd849441417a73ef0fc">xenhance_hw.h</a><li>XENH_SYSDEBUG1_OFFSET
: <a class="el" href="xenhance__hw_8h.html#221c5f74f4dace1d6040680097e2fdf0">xenhance_hw.h</a><li>XENH_SYSDEBUG2_OFFSET
: <a class="el" href="xenhance__hw_8h.html#abb5414fbc805f667e8faa7b10e78641">xenhance_hw.h</a><li>XENH_VER_INTERNAL_SHIFT
: <a class="el" href="xenhance__hw_8h.html#4ed398a74064362a08ed2f01740a90a2">xenhance_hw.h</a><li>XENH_VER_MAJOR_MASK
: <a class="el" href="xenhance__hw_8h.html#664947a79139bd1fe3267da9497dd2d7">xenhance_hw.h</a><li>XENH_VER_MAJOR_SHIFT
: <a class="el" href="xenhance__hw_8h.html#c7abd50042b00c3685b658454ea5b8d5">xenhance_hw.h</a><li>XENH_VER_MINOR_MASK
: <a class="el" href="xenhance__hw_8h.html#c3f10e826d5983a3c7c0de385539fcd0">xenhance_hw.h</a><li>XENH_VER_MINOR_SHIFT
: <a class="el" href="xenhance__hw_8h.html#a6eb547d4668a05c3d2db74cd9d857a9">xenhance_hw.h</a><li>XENH_VER_PID_MASK
: <a class="el" href="xenhance__hw_8h.html#269cbadc2eda675e0f4092a66aba430b">xenhance_hw.h</a><li>XENH_VER_REV_MASK
: <a class="el" href="xenhance__hw_8h.html#1a5a725b10bef246e0a0610b49517323">xenhance_hw.h</a><li>XENH_VER_REV_NUM_MASK
: <a class="el" href="xenhance__hw_8h.html#e671f0e12cbaa4a4eee54bbf9f860ec7">xenhance_hw.h</a><li>XENH_VER_REV_SHIFT
: <a class="el" href="xenhance__hw_8h.html#af54133bd927346410404c388ae63def">xenhance_hw.h</a><li>XENH_VERSION_OFFSET
: <a class="el" href="xenhance__hw_8h.html#3957a8d03c339ff0bf8da971956a8e6a">xenhance_hw.h</a><li>XENH_VSIZE_FIRST
: <a class="el" href="xenhance_8h.html#c0bdb1a67e45a7f560834e5e90288022">xenhance.h</a><li>XENH_VSIZE_LAST
: <a class="el" href="xenhance_8h.html#d9abb02b03915dd61814c87af02503a3">xenhance.h</a><li>XEnhance_Disable
: <a class="el" href="xenhance_8h.html#a9dd4fb05ffd477983f98ac7e8f20e38">xenhance.h</a><li>XEnhance_Enable
: <a class="el" href="xenhance_8h.html#8d057c53af0c487bda2fa6031e65db15">xenhance.h</a><li>XENHANCE_H_
: <a class="el" href="xenhance_8h.html#f4ab80cefb7bb00209b6448ebe2b5f65">xenhance.h</a><li>XENHANCE_HW_H_
: <a class="el" href="xenhance__hw_8h.html#dac15fad1ba47afee8ab06e4d93db5ed">xenhance_hw.h</a><li>XEnhance_In32
: <a class="el" href="xenhance__hw_8h.html#22996994009945110250415f4a458bca">xenhance_hw.h</a><li>XEnhance_IntrClear
: <a class="el" href="xenhance_8h.html#971ecb0f819761e7493adf0d7ba530f7">xenhance.h</a><li>XEnhance_IntrDisable
: <a class="el" href="xenhance_8h.html#355450e42b084a6e6b899af6582ba85c">xenhance.h</a><li>XEnhance_IntrEnable
: <a class="el" href="xenhance_8h.html#4c00772b75e659cebe54b2708f34fd98">xenhance.h</a><li>XEnhance_IntrGetPending
: <a class="el" href="xenhance_8h.html#5d7503e531f68af99551d2be2412d86f">xenhance.h</a><li>XEnhance_Out32
: <a class="el" href="xenhance__hw_8h.html#52a9d8e6362223499033bc73317b966d">xenhance_hw.h</a><li>XEnhance_ReadReg
: <a class="el" href="xenhance__hw_8h.html#0bf5fba775e0a7d6449bff866aac5a24">xenhance_hw.h</a><li>XEnhance_RegUpdateDisable
: <a class="el" href="xenhance_8h.html#fc895668d8afb17afe75ba9681388d8e">xenhance.h</a><li>XEnhance_RegUpdateEnable
: <a class="el" href="xenhance_8h.html#122bdb853c0836674d4727c4146f1d8c">xenhance.h</a><li>XEnhance_Reset
: <a class="el" href="xenhance_8h.html#3514daa9c8e996dd3ea32f50836516a1">xenhance.h</a><li>XEnhance_Start
: <a class="el" href="xenhance_8h.html#b42067ce4de3fab87ebc4b14f845ff8b">xenhance.h</a><li>XEnhance_StatusGetPending
: <a class="el" href="xenhance_8h.html#716def265280bac930827ed18d824b62">xenhance.h</a><li>XEnhance_Stop
: <a class="el" href="xenhance_8h.html#e647c6f567c445ab367aeeec5d9dca60">xenhance.h</a><li>XEnhance_SyncReset
: <a class="el" href="xenhance_8h.html#dcb9c5b65fdbdb584db40e626826983c">xenhance.h</a><li>XEnhance_WriteReg
: <a class="el" href="xenhance__hw_8h.html#b5694a82feda035f4229565fd76601a7">xenhance_hw.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,41 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li id="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>XENH_HANDLER_ERROR
: <a class="el" href="xenhance_8h.html#06fc87d81c62e9abb8790b6e5713c55b8b01649c94e8a91fe60a381853ba6cdd">xenhance.h</a><li>XENH_HANDLER_FRAMEDONE
: <a class="el" href="xenhance_8h.html#06fc87d81c62e9abb8790b6e5713c55bcbfce502cce6764cd9fd104f48b15a7b">xenhance.h</a><li>XENH_HANDLER_PROCSTART
: <a class="el" href="xenhance_8h.html#06fc87d81c62e9abb8790b6e5713c55b4f1784b06fd283bb0695fcc725bd4dbb">xenhance.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,62 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>XEnhance_CfgInitialize()
: <a class="el" href="xenhance_8h.html#27bf67acc10edaf9c34060974b8a60a5">xenhance.h</a>, <a class="el" href="xenhance_8c.html#27bf67acc10edaf9c34060974b8a60a5">xenhance.c</a><li>XEnhance_DisableDbgBypass()
: <a class="el" href="xenhance_8h.html#4bceb204520f19beff700f3101f1497b">xenhance.h</a>, <a class="el" href="xenhance_8c.html#4bceb204520f19beff700f3101f1497b">xenhance.c</a><li>XEnhance_DisableDbgTestPattern()
: <a class="el" href="xenhance_8h.html#847ee28cb905bff86e3554134bd06517">xenhance.h</a>, <a class="el" href="xenhance_8c.html#847ee28cb905bff86e3554134bd06517">xenhance.c</a><li>XEnhance_EnableDbgByPass()
: <a class="el" href="xenhance_8h.html#244a1d9a2f84fe3d2dfdcd19e60a3d70">xenhance.h</a>, <a class="el" href="xenhance_8c.html#244a1d9a2f84fe3d2dfdcd19e60a3d70">xenhance.c</a><li>XEnhance_EnableDbgTestPattern()
: <a class="el" href="xenhance_8h.html#a39c61253de334d022e9eef05d0510f4">xenhance.h</a>, <a class="el" href="xenhance_8c.html#a39c61253de334d022e9eef05d0510f4">xenhance.c</a><li>XEnhance_GetActiveSize()
: <a class="el" href="xenhance_8h.html#da3d94dd800e68dd33c3bd7d2d944e58">xenhance.h</a>, <a class="el" href="xenhance_8c.html#da3d94dd800e68dd33c3bd7d2d944e58">xenhance.c</a><li>XEnhance_GetDbgFrameCount()
: <a class="el" href="xenhance_8h.html#37bb7f8519e16cd40f0786f2bb2426b3">xenhance.h</a>, <a class="el" href="xenhance_8c.html#37bb7f8519e16cd40f0786f2bb2426b3">xenhance.c</a><li>XEnhance_GetDbgLineCount()
: <a class="el" href="xenhance_8h.html#5b27e04a98b4dc982d8e810a10b4323c">xenhance.h</a>, <a class="el" href="xenhance_8c.html#5b27e04a98b4dc982d8e810a10b4323c">xenhance.c</a><li>XEnhance_GetDbgPixelCount()
: <a class="el" href="xenhance_8h.html#b290cab23614f98bacb8962d71bbcd3a">xenhance.h</a>, <a class="el" href="xenhance_8c.html#b290cab23614f98bacb8962d71bbcd3a">xenhance.c</a><li>XEnhance_GetEdgeStrength()
: <a class="el" href="xenhance_8h.html#092895c216029e0a46a2374137a57ac4">xenhance.h</a>, <a class="el" href="xenhance_8c.html#092895c216029e0a46a2374137a57ac4">xenhance.c</a><li>XEnhance_GetHaloSuppress()
: <a class="el" href="xenhance_8h.html#9b7d0832aa50a04f6ec9e23f5a6a8d0a">xenhance.h</a>, <a class="el" href="xenhance_8c.html#9b7d0832aa50a04f6ec9e23f5a6a8d0a">xenhance.c</a><li>XEnhance_GetNoiseThreshold()
: <a class="el" href="xenhance_8h.html#9bf6d4c23a24ab84dce597b40a775c55">xenhance.h</a>, <a class="el" href="xenhance_8c.html#9bf6d4c23a24ab84dce597b40a775c55">xenhance.c</a><li>XEnhance_GetVersion()
: <a class="el" href="xenhance_8h.html#ba71113132fe89427be60fa11b0ec4c6">xenhance.h</a>, <a class="el" href="xenhance_8c.html#ba71113132fe89427be60fa11b0ec4c6">xenhance.c</a><li>XEnhance_IntrHandler()
: <a class="el" href="xenhance__intr_8c.html#79cd83f6fcf8b87f46b71fea035f5595">xenhance_intr.c</a>, <a class="el" href="xenhance_8h.html#79cd83f6fcf8b87f46b71fea035f5595">xenhance.h</a><li>XEnhance_IsDbgByPassEnabled()
: <a class="el" href="xenhance_8h.html#6572dfd0d09a9b491bc45e05df4a74c5">xenhance.h</a>, <a class="el" href="xenhance_8c.html#6572dfd0d09a9b491bc45e05df4a74c5">xenhance.c</a><li>XEnhance_IsDbgTestPatternEnabled()
: <a class="el" href="xenhance_8h.html#d88dee1a3cd8e22e3bc96b20387b58b5">xenhance.h</a>, <a class="el" href="xenhance_8c.html#d88dee1a3cd8e22e3bc96b20387b58b5">xenhance.c</a><li>XEnhance_LookupConfig()
: <a class="el" href="xenhance__sinit_8c.html#a2249dcaece157a861495d2000c97bfe">xenhance_sinit.c</a>, <a class="el" href="xenhance_8h.html#a2249dcaece157a861495d2000c97bfe">xenhance.h</a><li>XEnhance_SelfTest()
: <a class="el" href="xenhance__selftest_8c.html#c7263c5e34305af138117dfa949ee842">xenhance_selftest.c</a>, <a class="el" href="xenhance_8h.html#c7263c5e34305af138117dfa949ee842">xenhance.h</a><li>XEnhance_SetActiveSize()
: <a class="el" href="xenhance_8h.html#97a2877a659d458b2bfb6c32343f0965">xenhance.h</a>, <a class="el" href="xenhance_8c.html#97a2877a659d458b2bfb6c32343f0965">xenhance.c</a><li>XEnhance_SetCallBack()
: <a class="el" href="xenhance__intr_8c.html#b4f409f8478526bc69e8cbe392c865ef">xenhance_intr.c</a>, <a class="el" href="xenhance_8h.html#b4f409f8478526bc69e8cbe392c865ef">xenhance.h</a><li>XEnhance_SetEdgeStrength()
: <a class="el" href="xenhance_8h.html#988ff7bd55a8d3835c149533d587e140">xenhance.h</a>, <a class="el" href="xenhance_8c.html#988ff7bd55a8d3835c149533d587e140">xenhance.c</a><li>XEnhance_SetHaloSuppress()
: <a class="el" href="xenhance_8h.html#6ab6a95117eb6829927e8d3ae58415b1">xenhance.h</a>, <a class="el" href="xenhance_8c.html#6ab6a95117eb6829927e8d3ae58415b1">xenhance.c</a><li>XEnhance_SetNoiseThreshold()
: <a class="el" href="xenhance_8h.html#902482d8dd1f121091d5fd607b5c5c27">xenhance.h</a>, <a class="el" href="xenhance_8c.html#902482d8dd1f121091d5fd607b5c5c27">xenhance.c</a><li>XEnhance_Setup()
: <a class="el" href="xenhance_8h.html#531bc8c50a3385af70d135675919769f">xenhance.h</a>, <a class="el" href="xenhance_8c.html#531bc8c50a3385af70d135675919769f">xenhance.c</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,40 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li id="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>XEnhance_CallBack
: <a class="el" href="xenhance_8h.html#eae611f79f29fc60985cb57aa65e14dd">xenhance.h</a><li>XEnhance_ErrorCallBack
: <a class="el" href="xenhance_8h.html#c0da9d80042fa426581a1585c6f03e8d">xenhance.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,39 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Class Members
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li id="current"><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>XEnhance_ConfigTable
: <a class="el" href="xenhance__g_8c.html#dca8295c085104fe0fec407732d9fbf9">xenhance_g.c</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -2,21 +2,94 @@
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
enhance v6_0
Main Page
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.5 -->
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<h1>enhance v6_0</h1>
<h1></h1>
<p>
This header file contains identifiers and register-level driver functions (or macros) that can be used to access the Xilinx Image Enhancement core instance.<p>
MODIFICATION HISTORY:<p>
Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 5.00a vyc 06/19/13 Updated for ENHANCE V8.0 New edge enhancement algorithm and registers Noise reduction support added 4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a Converted from xio.h to xil_io.h, translating basic type, MB cache functions, exceptions and assertion to xil_io format. 3.00a rc 09/11/11 Updated for ENHANCE V3.0 2.00a vc 12/14/10 Updated for ENHANCE V2.0 6.0 adk 19/12/13 Updated as per the New Tcl API's Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
This header file contains identifiers and register-level driver functions (or macros), range macros, structure typedefs that can be used to access the Image Statistic core instance.<p>
The Image Enhancement core offers noise reduction and/or edge enhancement. For edge enhancement, optional anti-halo and anti-alias post-processing modules are available to reduce image artifacts that can appear from the high-pass filtering of the edge enhancement filters. The amount of noise reduction and edge enhancement is controlled through user parameters. There are two variations of the algorithm offered to choose between high performance and minimal resource usage. This core works on YCbCr 4:4:4 and 4:2:2 data. The core is capable of a maximum resolution of 7680 columns by 7680 rows with 8, 10, 12, or 16 bits per pixel and supports the bandwidth necessary for High-definition (1080p60) resolutions in all Xilinx FPGA device families. Higher resolutions can be supported in Xilinx high-performance device families.<p>
<b>Initialization &amp; Configuration</b><p>
The device driver enables higher layer software (e.g., an application) to communicate to the Enhance core.<p>
<a class="el" href="xenhance_8c.html#27bf67acc10edaf9c34060974b8a60a5">XEnhance_CfgInitialize()</a> API is used to initialize the Enhance core. The user needs to first call the <a class="el" href="xenhance_8h.html#a2249dcaece157a861495d2000c97bfe">XEnhance_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="xenhance_8c.html#27bf67acc10edaf9c34060974b8a60a5">XEnhance_CfgInitialize()</a> API.<p>
<b> Interrupts </b><p>
The driver provides an interrupt handler XEnhance_IntrHandler for handling the interrupt from the Enhance core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XEnhance_SetCallBack API.<p>
<b> Virtual Memory </b><p>
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.<p>
<b> Threads </b><p>
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.<p>
<b> Asserts </b><p>
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.<p>
<b> Building the driver </b><p>
The <a class="el" href="struct_x_enhance.html">XEnhance</a> driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -----------------------------------------------------
2.00a vc 12/14/10 Updated for ENHANCE V2.0
3.00a rc 09/11/11 Updated for ENHANCE V3.0
4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
Converted from xio.h to xil_io.h, translating
basic type, MB cache functions, exceptions and
assertion to xil_io format.
5.00a vyc 06/19/13 Updated for ENHANCE V8.0
New edge enhancement algorithm and registers
Noise reduction support added
6.0 adk 19/12/13 Updated as per the New Tcl API's
7.0 adk 02/19/14 Changed the filename from enhance.h to <a class="el" href="xenhance_8h.html">xenhance.h</a>.
Changes in <a class="el" href="xenhance_8h.html">xenhance.h</a>:
Removed the following macros
ENHANCE_Enable, ENHANCE_Disable, ENHANCE_RegUpdateEnable,
ENHANCE_RegUpdateDisable, ENHANCE_Reset,
ENHANCE_AutoSyncReset</pre><p>
<pre> Added the following function macros
XEnhance_Enable, XEnhance_Disable,
XEnhance_RegUpdateDisable, XEnhance_RegUpdateDisable
XEnhance_Reset, XEnhance_SyncReset, XEnhance_IntrEnable
XEnhance_IntrDisable, XEnhance_StatusGetPending
XEnhance_IntrGetPending, XEnhance_IntrClear</pre><p>
<pre> Added the following type definitions:
<a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> and <a class="el" href="struct_x_enhance.html">XEnhance</a> structures.
XEnhance_CallBack and XEnhance_ErrorCallBack.</pre><p>
<pre> Changes in <a class="el" href="xenhance_8c.html">xenhance.c</a>:
Modified the following functions
XENHANCE_CfgInitialize -&gt; XEnhance_CfgInitialize
XENHANCE_Setup -&gt; XEnhance_Setup</pre><p>
<pre> Implemented the following functions:
XEnhance_CfgInitialize, XEnhance_Setup,
XEnhance_GetVersion, XEnhance_EnableDbgByPass,
XEnhance_IsDbgByPassEnabled, XEnhance_DisableDbgBypass
XEnhance_EnableDbgTestPattern,
XEnhance_IsDbgTestPatternEnabled
XEnhance_DisableDbgTestPattern
XEnhance_GetDbgFrameCount, XEnhance_GetDbgLineCount,
XEnhance_GetDbgPixelCount, XEnhance_SetActiveSize,
XEnhance_GetActiveSize, XEnhance_SetNoiseThreshold,
XEnhance_GetNoiseThreshold, XEnhance_SetEdgeStrength,
XEnhance_GetEdgeStrength, XEnhance_SetHaloSuppress
XEnhance_GetHaloSuppress.</pre><p>
<pre> Changes in <a class="el" href="xenhance__hw_8h.html">xenhance_hw.h</a>:
Added the register offsets and bit masks for the
registers and added backward compatibility for macros.</pre><p>
<pre> Changes in <a class="el" href="xenhance__intr_8c.html">xenhance_intr.c</a>:
Implemented the following functions
XEnhance_IntrHandler
XEnhance_SetCallBack</pre><p>
<pre> Changes in <a class="el" href="xenhance__sinit_8c.html">xenhance_sinit.c</a>:
Implemented the following function
XEnhance_LookupConfig</pre><p>
<pre> Changes in <a class="el" href="xenhance__selftest_8c.html">xenhance_selftest.c</a>:
Implemented the following function
XEnhance_SelfTest
</pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,35 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Member List
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>XEnhance Member List</h1>This is the complete list of members for <a class="el" href="struct_x_enhance.html">XEnhance</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#157d803a4384e7ac214c79dacb7b9851">Config</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#8e679d169f87390d6b1e86b8b147e05f">ErrCallBack</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#461a431d5566bfe9cfb7440811dbb5d0">ErrRef</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#00ee311877ffe9859b2877414b3a9e7a">FrameDoneCallBack</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#d22a0a0571ca8ee53039ccb1f1a9f93a">FrameDoneRef</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#c4751b60380a2020abd1dd68ff891103">HSize</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#939eb6f192417bebca0473c85621914d">IsReady</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#180094bd53ebe3c2c74732c6e4c27aa3">ProcStartCallBack</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#f299ec4071d0b8d50f4dd2ba7a019db1">ProcStartRef</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance.html#66c01dc3b70ce57c374baecbebcc66c4">VSize</a></td><td><a class="el" href="struct_x_enhance.html">XEnhance</a></td><td></td></tr>
</table>Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,206 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
XEnhance Struct Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>XEnhance Struct Reference</h1><!-- doxytag: class="XEnhance" --><code>#include &lt;xenhance.h&gt;</code>
<p>
<a href="struct_x_enhance-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
The Enhance driver instance data structure. A pointer to an instance data structure is passed around by functions to refer to a specific driver instance.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#157d803a4384e7ac214c79dacb7b9851">Config</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#939eb6f192417bebca0473c85621914d">IsReady</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#c4751b60380a2020abd1dd68ff891103">HSize</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#66c01dc3b70ce57c374baecbebcc66c4">VSize</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="xenhance_8h.html#eae611f79f29fc60985cb57aa65e14dd">XEnhance_CallBack</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#180094bd53ebe3c2c74732c6e4c27aa3">ProcStartCallBack</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#f299ec4071d0b8d50f4dd2ba7a019db1">ProcStartRef</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="xenhance_8h.html#eae611f79f29fc60985cb57aa65e14dd">XEnhance_CallBack</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#00ee311877ffe9859b2877414b3a9e7a">FrameDoneCallBack</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#d22a0a0571ca8ee53039ccb1f1a9f93a">FrameDoneRef</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="xenhance_8h.html#c0da9d80042fa426581a1585c6f03e8d">XEnhance_ErrorCallBack</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#8e679d169f87390d6b1e86b8b147e05f">ErrCallBack</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance.html#461a431d5566bfe9cfb7440811dbb5d0">ErrRef</a></td></tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="157d803a4384e7ac214c79dacb7b9851"></a><!-- doxytag: member="XEnhance::Config" ref="157d803a4384e7ac214c79dacb7b9851" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> <a class="el" href="struct_x_enhance.html#157d803a4384e7ac214c79dacb7b9851">XEnhance::Config</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Hardware configuration
</div>
</div><p>
<a class="anchor" name="8e679d169f87390d6b1e86b8b147e05f"></a><!-- doxytag: member="XEnhance::ErrCallBack" ref="8e679d169f87390d6b1e86b8b147e05f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xenhance_8h.html#c0da9d80042fa426581a1585c6f03e8d">XEnhance_ErrorCallBack</a> <a class="el" href="struct_x_enhance.html#8e679d169f87390d6b1e86b8b147e05f">XEnhance::ErrCallBack</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Callback for Error interrupt
</div>
</div><p>
<a class="anchor" name="461a431d5566bfe9cfb7440811dbb5d0"></a><!-- doxytag: member="XEnhance::ErrRef" ref="461a431d5566bfe9cfb7440811dbb5d0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="struct_x_enhance.html#461a431d5566bfe9cfb7440811dbb5d0">XEnhance::ErrRef</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
To be passed to the Error interrupt callback
</div>
</div><p>
<a class="anchor" name="00ee311877ffe9859b2877414b3a9e7a"></a><!-- doxytag: member="XEnhance::FrameDoneCallBack" ref="00ee311877ffe9859b2877414b3a9e7a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xenhance_8h.html#eae611f79f29fc60985cb57aa65e14dd">XEnhance_CallBack</a> <a class="el" href="struct_x_enhance.html#00ee311877ffe9859b2877414b3a9e7a">XEnhance::FrameDoneCallBack</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Callback for Frame Done interrupt
</div>
</div><p>
<a class="anchor" name="d22a0a0571ca8ee53039ccb1f1a9f93a"></a><!-- doxytag: member="XEnhance::FrameDoneRef" ref="d22a0a0571ca8ee53039ccb1f1a9f93a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="struct_x_enhance.html#d22a0a0571ca8ee53039ccb1f1a9f93a">XEnhance::FrameDoneRef</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
To be passed to the Frame Done interrupt callback
</div>
</div><p>
<a class="anchor" name="c4751b60380a2020abd1dd68ff891103"></a><!-- doxytag: member="XEnhance::HSize" ref="c4751b60380a2020abd1dd68ff891103" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance.html#c4751b60380a2020abd1dd68ff891103">XEnhance::HSize</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Active Video Horizontal Size
</div>
</div><p>
<a class="anchor" name="939eb6f192417bebca0473c85621914d"></a><!-- doxytag: member="XEnhance::IsReady" ref="939eb6f192417bebca0473c85621914d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance.html#939eb6f192417bebca0473c85621914d">XEnhance::IsReady</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Device and the driver instantly are initialized
</div>
</div><p>
<a class="anchor" name="180094bd53ebe3c2c74732c6e4c27aa3"></a><!-- doxytag: member="XEnhance::ProcStartCallBack" ref="180094bd53ebe3c2c74732c6e4c27aa3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xenhance_8h.html#eae611f79f29fc60985cb57aa65e14dd">XEnhance_CallBack</a> <a class="el" href="struct_x_enhance.html#180094bd53ebe3c2c74732c6e4c27aa3">XEnhance::ProcStartCallBack</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Callback for Processing Start interrupt
</div>
</div><p>
<a class="anchor" name="f299ec4071d0b8d50f4dd2ba7a019db1"></a><!-- doxytag: member="XEnhance::ProcStartRef" ref="f299ec4071d0b8d50f4dd2ba7a019db1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="struct_x_enhance.html#f299ec4071d0b8d50f4dd2ba7a019db1">XEnhance::ProcStartRef</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
To be passed to Process Start interrupt callback
</div>
</div><p>
<a class="anchor" name="66c01dc3b70ce57c374baecbebcc66c4"></a><!-- doxytag: member="XEnhance::VSize" ref="66c01dc3b70ce57c374baecbebcc66c4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance.html#66c01dc3b70ce57c374baecbebcc66c4">XEnhance::VSize</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Active Video Vertical Size
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="xenhance_8h.html">xenhance.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,43 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
Member List
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>XEnhance_Config Member List</h1>This is the complete list of members for <a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#c396f8a7670f54e2718a70cc8e391a2f">ActiveColumns</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#1e332d3f35fcbb40827477b4c5a3a8b0">ActiveRows</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#56cbd3b62b6ecd8c7ef3e9dd8011121c">BaseAddress</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#91a71be0915784ddfd243fcc408a85b2">DeviceId</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#42eec4f0b508d8b0a7d302524c1a4acb">EnhanceStrength</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#ee7b54a085754456b7998480c016af62">HaloSuppress</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#e62779a570947c310bfc74a7921fd396">HasAlias</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#5d523322076f4fa6c1cd1f119a40e051">HasDebug</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#4b2a4255b5ea170506498dbf4d540053">HasEnhance</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#05974c8fc1d30b821cd9c8cef6428920">HasHalo</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#aeedf2ae2dbaa80d53ac7c3ec7b2f472">HasIntcIf</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#4c8c2984709a372c403c5f9e2f0ddce5">HasNoise</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#fd5d318c4dd4fa192e78a6e21b55e6b3">MasteAxisVideoFoemat</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#8dd213297f2509a5d578bd2a8250f00e">MaxColumns</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#cee778e8db519b09bb8812e90c66d612">NoiseThreshold</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#7966ad9721e02f3948f8572f0a06ac49">OptSize</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#16e3fa5688ff7039feb4d6754f836994">SlaveAxiClkFreqHz</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_enhance___config.html#1ff6400a6ab0e7b2180d61734e615ed4">SlaveAxisVideoFormat</a></td><td><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a></td><td></td></tr>
</table>Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,342 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
XEnhance_Config Struct Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>XEnhance_Config Struct Reference</h1><!-- doxytag: class="XEnhance_Config" --><code>#include &lt;xenhance.h&gt;</code>
<p>
<a href="struct_x_enhance___config-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
This typedef contains configuration information for a Video Enhance core. Each Video Enhance core should have a configuration structure associated.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#91a71be0915784ddfd243fcc408a85b2">DeviceId</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#56cbd3b62b6ecd8c7ef3e9dd8011121c">BaseAddress</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#1ff6400a6ab0e7b2180d61734e615ed4">SlaveAxisVideoFormat</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#fd5d318c4dd4fa192e78a6e21b55e6b3">MasteAxisVideoFoemat</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#16e3fa5688ff7039feb4d6754f836994">SlaveAxiClkFreqHz</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#aeedf2ae2dbaa80d53ac7c3ec7b2f472">HasIntcIf</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#5d523322076f4fa6c1cd1f119a40e051">HasDebug</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#8dd213297f2509a5d578bd2a8250f00e">MaxColumns</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#c396f8a7670f54e2718a70cc8e391a2f">ActiveColumns</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#1e332d3f35fcbb40827477b4c5a3a8b0">ActiveRows</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#4c8c2984709a372c403c5f9e2f0ddce5">HasNoise</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#4b2a4255b5ea170506498dbf4d540053">HasEnhance</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#05974c8fc1d30b821cd9c8cef6428920">HasHalo</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#e62779a570947c310bfc74a7921fd396">HasAlias</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#7966ad9721e02f3948f8572f0a06ac49">OptSize</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#cee778e8db519b09bb8812e90c66d612">NoiseThreshold</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#42eec4f0b508d8b0a7d302524c1a4acb">EnhanceStrength</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u16&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_enhance___config.html#ee7b54a085754456b7998480c016af62">HaloSuppress</a></td></tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="c396f8a7670f54e2718a70cc8e391a2f"></a><!-- doxytag: member="XEnhance_Config::ActiveColumns" ref="c396f8a7670f54e2718a70cc8e391a2f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#c396f8a7670f54e2718a70cc8e391a2f">XEnhance_Config::ActiveColumns</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Active columns
</div>
</div><p>
<a class="anchor" name="1e332d3f35fcbb40827477b4c5a3a8b0"></a><!-- doxytag: member="XEnhance_Config::ActiveRows" ref="1e332d3f35fcbb40827477b4c5a3a8b0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#1e332d3f35fcbb40827477b4c5a3a8b0">XEnhance_Config::ActiveRows</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Active Rows
</div>
</div><p>
<a class="anchor" name="56cbd3b62b6ecd8c7ef3e9dd8011121c"></a><!-- doxytag: member="XEnhance_Config::BaseAddress" ref="56cbd3b62b6ecd8c7ef3e9dd8011121c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#56cbd3b62b6ecd8c7ef3e9dd8011121c">XEnhance_Config::BaseAddress</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
BaseAddress is the physical base address of the core registers
</div>
</div><p>
<a class="anchor" name="91a71be0915784ddfd243fcc408a85b2"></a><!-- doxytag: member="XEnhance_Config::DeviceId" ref="91a71be0915784ddfd243fcc408a85b2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#91a71be0915784ddfd243fcc408a85b2">XEnhance_Config::DeviceId</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
DeviceId is the unique ID of the device
</div>
</div><p>
<a class="anchor" name="42eec4f0b508d8b0a7d302524c1a4acb"></a><!-- doxytag: member="XEnhance_Config::EnhanceStrength" ref="42eec4f0b508d8b0a7d302524c1a4acb" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#42eec4f0b508d8b0a7d302524c1a4acb">XEnhance_Config::EnhanceStrength</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Enhance strength
</div>
</div><p>
<a class="anchor" name="ee7b54a085754456b7998480c016af62"></a><!-- doxytag: member="XEnhance_Config::HaloSuppress" ref="ee7b54a085754456b7998480c016af62" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#ee7b54a085754456b7998480c016af62">XEnhance_Config::HaloSuppress</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Halo suppression
</div>
</div><p>
<a class="anchor" name="e62779a570947c310bfc74a7921fd396"></a><!-- doxytag: member="XEnhance_Config::HasAlias" ref="e62779a570947c310bfc74a7921fd396" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#e62779a570947c310bfc74a7921fd396">XEnhance_Config::HasAlias</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Has Alias
</div>
</div><p>
<a class="anchor" name="5d523322076f4fa6c1cd1f119a40e051"></a><!-- doxytag: member="XEnhance_Config::HasDebug" ref="5d523322076f4fa6c1cd1f119a40e051" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#5d523322076f4fa6c1cd1f119a40e051">XEnhance_Config::HasDebug</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Has Debug
</div>
</div><p>
<a class="anchor" name="4b2a4255b5ea170506498dbf4d540053"></a><!-- doxytag: member="XEnhance_Config::HasEnhance" ref="4b2a4255b5ea170506498dbf4d540053" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#4b2a4255b5ea170506498dbf4d540053">XEnhance_Config::HasEnhance</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Has enhance
</div>
</div><p>
<a class="anchor" name="05974c8fc1d30b821cd9c8cef6428920"></a><!-- doxytag: member="XEnhance_Config::HasHalo" ref="05974c8fc1d30b821cd9c8cef6428920" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#05974c8fc1d30b821cd9c8cef6428920">XEnhance_Config::HasHalo</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Has halo suppression
</div>
</div><p>
<a class="anchor" name="aeedf2ae2dbaa80d53ac7c3ec7b2f472"></a><!-- doxytag: member="XEnhance_Config::HasIntcIf" ref="aeedf2ae2dbaa80d53ac7c3ec7b2f472" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#aeedf2ae2dbaa80d53ac7c3ec7b2f472">XEnhance_Config::HasIntcIf</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Has Intc IF
</div>
</div><p>
<a class="anchor" name="4c8c2984709a372c403c5f9e2f0ddce5"></a><!-- doxytag: member="XEnhance_Config::HasNoise" ref="4c8c2984709a372c403c5f9e2f0ddce5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#4c8c2984709a372c403c5f9e2f0ddce5">XEnhance_Config::HasNoise</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Has noise
</div>
</div><p>
<a class="anchor" name="fd5d318c4dd4fa192e78a6e21b55e6b3"></a><!-- doxytag: member="XEnhance_Config::MasteAxisVideoFoemat" ref="fd5d318c4dd4fa192e78a6e21b55e6b3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#fd5d318c4dd4fa192e78a6e21b55e6b3">XEnhance_Config::MasteAxisVideoFoemat</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Master axis video format
</div>
</div><p>
<a class="anchor" name="8dd213297f2509a5d578bd2a8250f00e"></a><!-- doxytag: member="XEnhance_Config::MaxColumns" ref="8dd213297f2509a5d578bd2a8250f00e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#8dd213297f2509a5d578bd2a8250f00e">XEnhance_Config::MaxColumns</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Maximum columns
</div>
</div><p>
<a class="anchor" name="cee778e8db519b09bb8812e90c66d612"></a><!-- doxytag: member="XEnhance_Config::NoiseThreshold" ref="cee778e8db519b09bb8812e90c66d612" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u16 <a class="el" href="struct_x_enhance___config.html#cee778e8db519b09bb8812e90c66d612">XEnhance_Config::NoiseThreshold</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Noise Threshold
</div>
</div><p>
<a class="anchor" name="7966ad9721e02f3948f8572f0a06ac49"></a><!-- doxytag: member="XEnhance_Config::OptSize" ref="7966ad9721e02f3948f8572f0a06ac49" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#7966ad9721e02f3948f8572f0a06ac49">XEnhance_Config::OptSize</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Optional size
</div>
</div><p>
<a class="anchor" name="16e3fa5688ff7039feb4d6754f836994"></a><!-- doxytag: member="XEnhance_Config::SlaveAxiClkFreqHz" ref="16e3fa5688ff7039feb4d6754f836994" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#16e3fa5688ff7039feb4d6754f836994">XEnhance_Config::SlaveAxiClkFreqHz</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Slave axi clock
</div>
</div><p>
<a class="anchor" name="1ff6400a6ab0e7b2180d61734e615ed4"></a><!-- doxytag: member="XEnhance_Config::SlaveAxisVideoFormat" ref="1ff6400a6ab0e7b2180d61734e615ed4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_enhance___config.html#1ff6400a6ab0e7b2180d61734e615ed4">XEnhance_Config::SlaveAxisVideoFormat</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Slave axis video format
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="xenhance_8h.html">xenhance.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,751 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xenhance.c File Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xenhance.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains the implementation of the interface functions for Enhance core. Refer to the header file <a class="el" href="xenhance_8h.html">xenhance.h</a> for more detailed information.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- --- -------- ---------------------------------------------------
2.00a vc 12/14/10 Updated for ENHANCE V2.0
3.00a rc 09/11/11 Updated for ENHANCE V3.0
4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
Converted from xio.h to xil_io.h, translating
basic type, MB cache functions, exceptions and
assertion to xil_io format.
5.00a vyc 06/19/13 Updated for ENHANCE V8.0
New edge enhancement algorithm and registers
Noise reduction support added
6.0 adk 19/12/13 Updated as per the New Tcl API's
7.0 adk 02/19/14 Changed the filename from enhance.c to <a class="el" href="xenhance_8c.html">xenhance.c</a>.
Modified the following functions
XENHANCE_CfgInitialize -&gt; XEnhance_CfgInitialize
XENHANCE_Setup -&gt; XEnhance_Setup</pre><p>
<pre> Implemented the following functions:
XEnhance_GetVersion, XEnhance_EnableDbgByPass
XEnhance_IsDbgByPassEnabled, XEnhance_DisableDbgBypass
XEnhance_EnableDbgTestPattern,
XEnhance_IsDbgTestPatternEnabled
XEnhance_DisableDbgTestPattern
XEnhance_GetDbgFrameCount, XEnhance_GetDbgLineCount,
XEnhance_GetDbgPixelCount, XEnhance_SetActiveSize,
XEnhance_GetActiveSize, XEnhance_SetNoiseThreshold,
XEnhance_GetNoiseThreshold, XEnhance_SetEdgeStrength,
XEnhance_GetEdgeStrength, XEnhance_SetHaloSuppress
XEnhance_GetHaloSuppress.
</pre>
<p>
<code>#include &quot;<a class="el" href="xenhance_8h.html">xenhance.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#27bf67acc10edaf9c34060974b8a60a5">XEnhance_CfgInitialize</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, <a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#531bc8c50a3385af70d135675919769f">XEnhance_Setup</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#244a1d9a2f84fe3d2dfdcd19e60a3d70">XEnhance_EnableDbgByPass</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#6572dfd0d09a9b491bc45e05df4a74c5">XEnhance_IsDbgByPassEnabled</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#4bceb204520f19beff700f3101f1497b">XEnhance_DisableDbgBypass</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#a39c61253de334d022e9eef05d0510f4">XEnhance_EnableDbgTestPattern</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#d88dee1a3cd8e22e3bc96b20387b58b5">XEnhance_IsDbgTestPatternEnabled</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#847ee28cb905bff86e3554134bd06517">XEnhance_DisableDbgTestPattern</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#ba71113132fe89427be60fa11b0ec4c6">XEnhance_GetVersion</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#37bb7f8519e16cd40f0786f2bb2426b3">XEnhance_GetDbgFrameCount</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#5b27e04a98b4dc982d8e810a10b4323c">XEnhance_GetDbgLineCount</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#b290cab23614f98bacb8962d71bbcd3a">XEnhance_GetDbgPixelCount</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#97a2877a659d458b2bfb6c32343f0965">XEnhance_SetActiveSize</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u16 HSize, u16 VSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#da3d94dd800e68dd33c3bd7d2d944e58">XEnhance_GetActiveSize</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u16 *HSize, u16 *VSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#902482d8dd1f121091d5fd607b5c5c27">XEnhance_SetNoiseThreshold</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 Threshold)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#9bf6d4c23a24ab84dce597b40a775c55">XEnhance_GetNoiseThreshold</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#988ff7bd55a8d3835c149533d587e140">XEnhance_SetEdgeStrength</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 Strength)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#092895c216029e0a46a2374137a57ac4">XEnhance_GetEdgeStrength</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#6ab6a95117eb6829927e8d3ae58415b1">XEnhance_SetHaloSuppress</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 Suppress)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#9b7d0832aa50a04f6ec9e23f5a6a8d0a">XEnhance_GetHaloSuppress</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="27bf67acc10edaf9c34060974b8a60a5"></a><!-- doxytag: member="xenhance.c::XEnhance_CfgInitialize" ref="27bf67acc10edaf9c34060974b8a60a5" args="(XEnhance *InstancePtr, XEnhance_Config *CfgPtr, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> *&nbsp;</td>
<td class="paramname"> <em>CfgPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>EffectiveAddr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function initializes a Enhance core. This function must be called prior to using a Enhance core. Initialization of a Enhance includes setting up the instance data, and ensuring the hardware is in a quiescent state.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em>&nbsp;</td><td>is a reference to a configuration structure containing information about the Enhance core. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</td><td>is the base address of the core. If address translation is being used then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if initialization was successful.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4bceb204520f19beff700f3101f1497b"></a><!-- doxytag: member="xenhance.c::XEnhance_DisableDbgBypass" ref="4bceb204520f19beff700f3101f1497b" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_DisableDbgBypass </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function disables Bypass mode of the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="847ee28cb905bff86e3554134bd06517"></a><!-- doxytag: member="xenhance.c::XEnhance_DisableDbgTestPattern" ref="847ee28cb905bff86e3554134bd06517" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_DisableDbgTestPattern </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function disables the test Pattern mode of the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="244a1d9a2f84fe3d2dfdcd19e60a3d70"></a><!-- doxytag: member="xenhance.c::XEnhance_EnableDbgByPass" ref="244a1d9a2f84fe3d2dfdcd19e60a3d70" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_EnableDbgByPass </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This sets the bypass bit of the control register to switch the core to bypass mode if debug is enabled in the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled.. </dd></dl>
</div>
</div><p>
<a class="anchor" name="a39c61253de334d022e9eef05d0510f4"></a><!-- doxytag: member="xenhance.c::XEnhance_EnableDbgTestPattern" ref="a39c61253de334d022e9eef05d0510f4" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_EnableDbgTestPattern </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the test-pattern mode of the Enhance core if debug features is enabled.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="da3d94dd800e68dd33c3bd7d2d944e58"></a><!-- doxytag: member="xenhance.c::XEnhance_GetActiveSize" ref="da3d94dd800e68dd33c3bd7d2d944e58" args="(XEnhance *InstancePtr, u16 *HSize, u16 *VSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_GetActiveSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16 *&nbsp;</td>
<td class="paramname"> <em>HSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16 *&nbsp;</td>
<td class="paramname"> <em>VSize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the number of Active Pixel per Scan line and number of Active Lines per Frame from the Active Frame Size register.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>HSize</em>&nbsp;</td><td>is a pointer to 16-bit variable in which the number of Active Pixels per Scan Line is returned. (Range is 32 to 7680). </td></tr>
<tr><td valign="top"></td><td valign="top"><em>VSize</em>&nbsp;</td><td>is a pointer to 16-bit variable in which the number of Active Lines per Frame is returned. (Range is 32 to 7680).</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="37bb7f8519e16cd40f0786f2bb2426b3"></a><!-- doxytag: member="xenhance.c::XEnhance_GetDbgFrameCount" ref="37bb7f8519e16cd40f0786f2bb2426b3" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetDbgFrameCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets number of frames processed since power-up or last time the core is reset.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>FrameCount is the number of frames processed since power-up.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="5b27e04a98b4dc982d8e810a10b4323c"></a><!-- doxytag: member="xenhance.c::XEnhance_GetDbgLineCount" ref="5b27e04a98b4dc982d8e810a10b4323c" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetDbgLineCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the number of lines processed since power-up or last time the core is reset.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>LineCount is the number of lines processed since power-up.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="b290cab23614f98bacb8962d71bbcd3a"></a><!-- doxytag: member="xenhance.c::XEnhance_GetDbgPixelCount" ref="b290cab23614f98bacb8962d71bbcd3a" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetDbgPixelCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the number of pixels processed since power-up or last time the core is reset.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>PixelCount is the number of pixels processed since power-up.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="092895c216029e0a46a2374137a57ac4"></a><!-- doxytag: member="xenhance.c::XEnhance_GetEdgeStrength" ref="092895c216029e0a46a2374137a57ac4" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetEdgeStrength </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the Edge Strength value for the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The amount of edge enhancement that can be controlled.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="9b7d0832aa50a04f6ec9e23f5a6a8d0a"></a><!-- doxytag: member="xenhance.c::XEnhance_GetHaloSuppress" ref="9b7d0832aa50a04f6ec9e23f5a6a8d0a" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetHaloSuppress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the Halo Suppress value for the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The amount of halo suppression that can be controlled.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="9bf6d4c23a24ab84dce597b40a775c55"></a><!-- doxytag: member="xenhance.c::XEnhance_GetNoiseThreshold" ref="9bf6d4c23a24ab84dce597b40a775c55" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetNoiseThreshold </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the Noise Threshold value for the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The amount of noise reduction that can be controlled.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="ba71113132fe89427be60fa11b0ec4c6"></a><!-- doxytag: member="xenhance.c::XEnhance_GetVersion" ref="ba71113132fe89427be60fa11b0ec4c6" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetVersion </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function returns the contents of Version register.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Returns the contents of the Version register.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="6572dfd0d09a9b491bc45e05df4a74c5"></a><!-- doxytag: member="xenhance.c::XEnhance_IsDbgByPassEnabled" ref="6572dfd0d09a9b491bc45e05df4a74c5" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_IsDbgByPassEnabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the current status of the bypass setting of the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Core debug bypass mode.<ul>
<li>TRUE = Bypass mode is enabled.</li><li>FALSE = Bypass mode is not enabled.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="d88dee1a3cd8e22e3bc96b20387b58b5"></a><!-- doxytag: member="xenhance.c::XEnhance_IsDbgTestPatternEnabled" ref="d88dee1a3cd8e22e3bc96b20387b58b5" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_IsDbgTestPatternEnabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the test-pattern mode if debug feature is enabled.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Test-pattern generator mode.<ul>
<li>TRUE = Test-pattern mode is enabled.</li><li>FALSE = Test-pattern mode is not enabled.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="97a2877a659d458b2bfb6c32343f0965"></a><!-- doxytag: member="xenhance.c::XEnhance_SetActiveSize" ref="97a2877a659d458b2bfb6c32343f0965" args="(XEnhance *InstancePtr, u16 HSize, u16 VSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetActiveSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>HSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>VSize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets active H/V sizes in the Active size register.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>HSize</em>&nbsp;</td><td>is number of Active Pixels per scan line to be set. Range of HSize is 32 to 7680. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>VSize</em>&nbsp;</td><td>is number of Active Lines per frame to be set. Range of VSize is 32 to 7680.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="988ff7bd55a8d3835c149533d587e140"></a><!-- doxytag: member="xenhance.c::XEnhance_SetEdgeStrength" ref="988ff7bd55a8d3835c149533d587e140" args="(XEnhance *InstancePtr, u32 Strength)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetEdgeStrength </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Strength</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the Edge Strength value for the Enhance core. i.e. The amount of edge enhancement can be controlled through the programmable Enhance Strength parameter.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Strength</em>&nbsp;</td><td>is the value to set the Edge Strength of the core.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>The larger the strength, the stronger the edge enhancement. </dd></dl>
</div>
</div><p>
<a class="anchor" name="6ab6a95117eb6829927e8d3ae58415b1"></a><!-- doxytag: member="xenhance.c::XEnhance_SetHaloSuppress" ref="6ab6a95117eb6829927e8d3ae58415b1" args="(XEnhance *InstancePtr, u32 Suppress)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetHaloSuppress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Suppress</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the Halo Suppress value for the Enhance core. i.e. The amount of halo suppression can be controlled through the programmable Halo Suppress parameter.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Suppress</em>&nbsp;</td><td>is the value to set the Suppression value.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="902482d8dd1f121091d5fd607b5c5c27"></a><!-- doxytag: member="xenhance.c::XEnhance_SetNoiseThreshold" ref="902482d8dd1f121091d5fd607b5c5c27" args="(XEnhance *InstancePtr, u32 Threshold)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetNoiseThreshold </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Threshold</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the Noise Threshold value for the Enhance core The amount of noise reduction can be controlled through Noise Threshold parameter.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Threshold</em>&nbsp;</td><td>is the value to set the Noise Threshold.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="531bc8c50a3385af70d135675919769f"></a><!-- doxytag: member="xenhance.c::XEnhance_Setup" ref="531bc8c50a3385af70d135675919769f" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_Setup </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the input/output frame size in Active Size register and enables the register update.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,77 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xenhance_g.c File Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xenhance_g.c File Reference</h1>
<p>
<code>#include &quot;xparameters.h&quot;</code><br>
<code>#include &quot;<a class="el" href="xenhance_8h.html">xenhance.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance__g_8c.html#dca8295c085104fe0fec407732d9fbf9">XEnhance_ConfigTable</a> []</td></tr>
</table>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="dca8295c085104fe0fec407732d9fbf9"></a><!-- doxytag: member="xenhance_g.c::XEnhance_ConfigTable" ref="dca8295c085104fe0fec407732d9fbf9" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> <a class="el" href="xenhance__g_8c.html#dca8295c085104fe0fec407732d9fbf9">XEnhance_ConfigTable</a>[] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
{
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_DEVICE_ID,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_BASEADDR,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_S_AXIS_VIDEO_DATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_M_AXIS_VIDEO_DATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_S_AXIS_VIDEO_FORMAT,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_M_AXIS_VIDEO_FORMAT,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_S_AXIS_VIDEO_TDATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_M_AXIS_VIDEO_TDATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_AXI4_LITE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_INTC_IF,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_DEBUG,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_MAX_COLS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_ACTIVE_COLS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_ACTIVE_ROWS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_NOISE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_ENHANCE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_HALO,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_ALIAS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_OPT_SIZE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_NOISE_THRESHOLD,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_ENHANCE_STRENGTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HALO_SUPPRESS
}
}
</pre></div>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,137 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xenhance_intr.c File Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xenhance_intr.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This code contains interrupt related functions of Xilinx Enhance core. Please see <a class="el" href="xenhance_8h.html">xenhance.h</a> for more details of the core.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- --- -------- -----------------------------------------------
7.0 adk 02/19/14 First release.
Implemented the following functions
XEnhance_IntrHandler
XEnhance_SetCallBack
</pre>
<p>
<code>#include &quot;<a class="el" href="xenhance_8h.html">xenhance.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance__intr_8c.html#79cd83f6fcf8b87f46b71fea035f5595">XEnhance_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance__intr_8c.html#b4f409f8478526bc69e8cbe392c865ef">XEnhance_SetCallBack</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="79cd83f6fcf8b87f46b71fea035f5595"></a><!-- doxytag: member="xenhance_intr.c::XEnhance_IntrHandler" ref="79cd83f6fcf8b87f46b71fea035f5595" args="(void *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_IntrHandler </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function is the interrupt handler for the Enhance driver.<p>
This handler reads the pending interrupt from the IER/ISR, determines the source of the interrupts, calls according callbacks, and finally clears the interrupts.<p>
The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <a class="el" href="xenhance_8h.html#b4f409f8478526bc69e8cbe392c865ef">XEnhance_SetCallBack()</a> during initialization phase.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_enhance.html">XEnhance</a> instance that just interrupted.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Interrupt interface should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="b4f409f8478526bc69e8cbe392c865ef"></a><!-- doxytag: member="xenhance_intr.c::XEnhance_SetCallBack" ref="b4f409f8478526bc69e8cbe392c865ef" args="(XEnhance *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_SetCallBack </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>HandlerType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallBackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallBackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This routine installs an asynchronous callback function for the given HandlerType:<p>
<pre>
HandlerType Callback Function Type
----------------------- --------------------------------
XENH_HANDLER_PROCSTART ProcStartCallBack
XENH_HANDLER_FRAMEDONE FrameDoneCallBack
XENH_HANDLER_ERROR ErrCallBack
</pre><p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>HandlerType</em>&nbsp;</td><td>specifies which callback is to be attached. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallBackFunc</em>&nbsp;</td><td>is the address of the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallBackRef</em>&nbsp;</td><td>is a user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS when handler is installed.</li><li>XST_INVALID_PARAM when HandlerType is invalid.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Invoking this function for a handler that already has been installed replaces it with the new handler. </dd></dl>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,74 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xenhance_selftest.c File Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xenhance_selftest.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains the self-test functions for the Enhance driver. The self test function reads the Version register.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -----------------------------------------------
7.0 adk 19/02/14 First Release.
Implemented the following function
XEnhance_SelfTest
</pre>
<p>
<code>#include &quot;<a class="el" href="xenhance_8h.html">xenhance.h</a>&quot;</code><br>
<code>#include &quot;xstatus.h&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance__selftest_8c.html#c7263c5e34305af138117dfa949ee842">XEnhance_SelfTest</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="c7263c5e34305af138117dfa949ee842"></a><!-- doxytag: member="xenhance_selftest.c::XEnhance_SelfTest" ref="c7263c5e34305af138117dfa949ee842" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_SelfTest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function reads complete Version register of Enhance core and compares with zero values as part of self test.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the test was successful.</li><li>XST_FAILURE if the test failed.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xenhance_sinit.c File Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xenhance_sinit.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains static initialization methods for Xilinx Enhance core.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- ------------------------------------------------------
7.0 adk 02/19/14 First release.
Implemented the following function
XEnhance_LookupConfig
</pre>
<p>
<code>#include &quot;<a class="el" href="xenhance_8h.html">xenhance.h</a>&quot;</code><br>
<code>#include &quot;xparameters.h&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance__sinit_8c.html#a2249dcaece157a861495d2000c97bfe">XEnhance_LookupConfig</a> (u16 DeviceId)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a2249dcaece157a861495d2000c97bfe"></a><!-- doxytag: member="xenhance_sinit.c::XEnhance_LookupConfig" ref="a2249dcaece157a861495d2000c97bfe" args="(u16 DeviceId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a>* XEnhance_LookupConfig </td>
<td>(</td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>DeviceId</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function returns a reference to an <a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> structure based on the unique device id, <em>DeviceId</em>. The return value will refer to an entry in the device configuration table defined in the <a class="el" href="xenhance__g_8c.html">xenhance_g.c</a>. file.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>DeviceId</em>&nbsp;</td><td>is the unique device ID of the device for the lookup operation.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>XEnhance_LookupConfig returns a reference to a config record in the configuration table (in <a class="el" href="xenhance__g_8c.html">xenhance_g.c</a>) corresponding to <em>DeviceId</em>, or NULL if no match is found.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,161 @@
/******************************************************************************
*
* (c) Copyright 2010-14 Xilinx, Inc. All rights reserved.
*
* This file contains confidential and proprietary information of Xilinx, Inc.
* and is protected under U.S. and international copyright and other
* intellectual property laws.
*
* DISCLAIMER
* This disclaimer is not a license and does not grant any rights to the
* materials distributed herewith. Except as otherwise provided in a valid
* license issued to you by Xilinx, and to the maximum extent permitted by
* applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
* FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
* IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
* MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE
* and (2) Xilinx shall not be liable (whether in contract or tort, including
* negligence, or under any other theory of liability) for any loss or damage
* of any kind or nature related to, arising under or in connection with these
* materials, including for any direct, or any indirect, special, incidental,
* or consequential loss or damage (including loss of data, profits, goodwill,
* or any type of loss or damage suffered as a result of any action brought by
* a third party) even if such damage or loss was reasonably foreseeable or
* Xilinx had been advised of the possibility of the same.
*
* CRITICAL APPLICATIONS
* Xilinx products are not designed or intended to be fail-safe, or for use in
* any application requiring fail-safe performance, such as life-support or
* safety devices or systems, Class III medical devices, nuclear facilities,
* applications related to the deployment of airbags, or any other applications
* that could lead to death, personal injury, or severe property or
* environmental damage (individually and collectively, "Critical
* Applications"). Customer assumes the sole risk and liability of any use of
* Xilinx products in Critical Applications, subject only to applicable laws
* and regulations governing limitations on product liability.
*
* THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE
* AT ALL TIMES.
*
******************************************************************************/
/*****************************************************************************/
/**
*
* @file enhance_selftest_example.c
*
* This file contains an example using the XEnhance driver to do self test
* on the device.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ------ -------- -----------------------------------------------
* 1.00a drg/jz 01/13/10 First Release
* 1.03a sg 08/14/12 Updated the example for CR 666306. Modified
* the device ID to use the first Device Id
* Removed the printf at the start of the main
* 7.0 adk 02/19/14 Modified function names as per guidelines
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xenhance.h"
#include "xparameters.h"
#include "xil_printf.h"
/************************** Constant Definitions *****************************/
/*
* The following constants map to the XPAR parameters created in the
* xparameters.h file. They are defined here such that a user can easily
* change all the needed parameters in one place.
*/
/**************************** Type Definitions *******************************/
/***************** Macros (Inline Functions) Definitions *********************/
/************************** Function Prototypes ******************************/
u32 XEnhanceSelfTestExample(u16 DeviceId);
/************************** Variable Definitions *****************************/
XEnhance InstancePtr; /**< Instance of the Enhance Device */
/*****************************************************************************/
/**
*
* Main function to call the example.
*
* @return XST_SUCCESS if successful, otherwise XST_FAILURE.
*
* @note None.
*
******************************************************************************/
int main(void)
{
u32 Status;
/*
* Run the selftest example
*/
Status = XEnhanceSelfTestExample((u16)XPAR_ENHANCE_0_DEVICE_ID);
if (Status != XST_SUCCESS) {
xil_printf("ENHANCE Selftest Example Failed\r\n");
return XST_FAILURE;
}
xil_printf("Successfully ran ENHANCE Selftest Example\r\n");
return XST_SUCCESS;
}
/*****************************************************************************/
/**
*
* This function does a minimal test on the XEnhance driver.
*
*
* @param DeviceId is the XPAR_<ENHANCE_instance>_DEVICE_ID value from
* xparameters.h.
*
* @return XST_SUCCESS if successful, otherwise XST_FAILURE.
*
* @note None.
*
******************************************************************************/
u32 XEnhanceSelfTestExample(u16 DeviceId)
{
u32 Status;
XEnhance_Config *Config;
/*
* Initialize the ENHANCE driver so that it's ready to use
* Look up the configuration in the config table,
* then initialize it.
*/
Config = XEnhance_LookupConfig(DeviceId);
if (NULL == Config) {
return XST_FAILURE;
}
Status = XEnhance_CfgInitialize(&InstancePtr, Config,
Config->BaseAddress);
if (Status != (u32)XST_SUCCESS) {
return (u32)XST_FAILURE;
}
/*
* Perform a self-test to check hardware build.
*/
Status = XEnhance_SelfTest(&InstancePtr);
if (Status != (u32)XST_SUCCESS) {
return (u32)XST_FAILURE;
}
return XST_SUCCESS;
}

View file

@ -1,152 +0,0 @@
/******************************************************************************
* (c) Copyright 2009-2013 Xilinx, Inc. All rights reserved.
*
* This file contains confidential and proprietary information
* of Xilinx, Inc. and is protected under U.S. and
* international copyright and other intellectual property
* laws.
*
* DISCLAIMER
* This disclaimer is not a license and does not grant any
* rights to the materials distributed herewith. Except as
* otherwise provided in a valid license issued to you by
* Xilinx, and to the maximum extent permitted by applicable
* law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
* WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
* AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
* BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
* INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
* (2) Xilinx shall not be liable (whether in contract or tort,
* including negligence, or under any other theory of
* liability) for any loss or damage of any kind or nature
* related to, arising under or in connection with these
* materials, including for any direct, or any indirect,
* special, incidental, or consequential loss or damage
* (including loss of data, profits, goodwill, or any type of
* loss or damage suffered as a result of any action brought
* by a third party) even if such damage or loss was
* reasonably foreseeable or Xilinx had been advised of the
* possibility of the same.
*
* CRITICAL APPLICATIONS
* Xilinx products are not designed or intended to be fail-
* safe, or for use in any application requiring fail-safe
* performance, such as life-support or safety devices or
* systems, Class III medical devices, nuclear facilities,
* applications related to the deployment of airbags, or any
* other applications that could lead to death, personal
* injury, or severe property or environmental damage
* (individually and collectively, "Critical
* Applications"). Customer assumes the sole risk and
* liability of any use of Xilinx products in Critical
* Applications, subject only to applicable laws and
* regulations governing limitations on product liability.
*
* THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
* PART OF THIS FILE AT ALL TIMES.
******************************************************************************/
/*****************************************************************************/
/**
*
* @file example.c
*
* This file demonstrates how to use Xilinx Image Enhancement (Enhance)
* driver of the Xilinx Image Enhancement core. This code does not
* cover the Enhance setup and any other configuration which might be
* required to get the Enhance device working properly.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 5.00a vc 06/19/13 Updated for new edge enhancement and noise reduction algorithms and registers
* 4.00a vc 12/18/12 Updated for new gain quantization levels
* 4.00a vc 10/16/12 Switched from Xuint32 to u32
* Renamed example function to main()
* Renamed reference to XPAR_ENHANCE_0_BASEADDR
* 4.00a vc 04/24/12 Updated for v4.00.a
* 2.00a vc 12/14/10 First release
* </pre>
*
* ***************************************************************************
*/
#include "enhance.h"
#include "xparameters.h"
/***************************************************************************/
// Image Enhancement Register Reading Example
// This function provides an example of how to read the current configuration
// settings of the Enhance core.
/***************************************************************************/
void report_enhance_settings(u32 BaseAddress) {
xil_printf("Image Edge Enhancement Core Configuration:\r\n");
xil_printf(" Enhance Version: 0x%08x\r\n", ENHANCE_ReadReg(BaseAddress, ENHANCE_VERSION));
xil_printf(" Enhance Enable Bit: %1d\r\n", ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) & ENHANCE_CTL_EN_MASK);
xil_printf(" Enhance Register Update Bit: %1d\r\n", (ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) & ENHANCE_CTL_RU_MASK) >> 1);
xil_printf(" Enhance Reset Bit: %1d\r\n", (ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) & ENHANCE_CTL_RESET) >> 31);
xil_printf(" Enhance AutoReset Bit: %1d\r\n", (ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) & ENHANCE_CTL_AUTORESET) >> 30);
xil_printf(" Active Columns=%d, Active Rows=%d\r\n",
ENHANCE_ReadReg(BaseAddress, ENHANCE_ACTIVE_SIZE)&0x0000FFFF,
ENHANCE_ReadReg(BaseAddress, ENHANCE_ACTIVE_SIZE)>>16);
xil_printf(" Noise Threshold=%d, Enhance Strength=%d, Halo Suppression=%d\r\n",
ENHANCE_ReadReg(BaseAddress, ENHANCE_NOISE_THRESHOLD),
ENHANCE_ReadReg(BaseAddress, ENHANCE_ENHANCE_STRENGTH),
ENHANCE_ReadReg(BaseAddress, ENHANCE_HALO_SUPPRESS));
}
/***************************************************************************/
// Image Enhancement Register Update Example
// This function provides an example of the process used to update
// the noise, enhance, and halo registers in the Enhance core.
// In most video systems, it is expected that this process would be executed
// in response to an interrupt connected to the SOF video timing signal
// or a timeout signal associated with a watchdog timer.
/***************************************************************************/
void ENHANCE_Update_Example(u32 BaseAddress) {
//Enable the Enhance software enable
ENHANCE_Enable(BaseAddress);
//Disable register updates.
//This is the default operating mode for the Enhance core, and allows
//registers to be updated without effecting the core's behavior.
ENHANCE_RegUpdateDisable(BaseAddress);
//Set the noise threshold
// These values are integers in the range: [0, 2^DATA_WIDTH-1]
ENHANCE_WriteReg(BaseAddress, ENHANCE_NOISE_THRESHOLD, 255); //maximum value for 8 bit data
//Set the enhance strength and halo suppression factor
// These values are floating point values in the range: [0, 1]
// These are represented as integers by multiplying by 2^15,
// resulting in an integer value in the range from [0, 32728]
ENHANCE_WriteReg(BaseAddress, ENHANCE_ENHANCE_STRENGTH, 32768); //maximum value
ENHANCE_WriteReg(BaseAddress, ENHANCE_HALO_SUPPRESS, 32768); //maximum value
//Enable register updates.
//This mode will cause the active size and noise, enhance, halo registers internal
//to the Enhance core to automatically be updated on the next SOF
ENHANCE_RegUpdateEnable(BaseAddress);
}
/*****************************************************************************/
//
// This is the main function for the Enhance example.
//
/*****************************************************************************/
int main(void)
{
//Print the current settings for the Enhance core
report_enhance_settings(XPAR_ENHANCE_0_BASEADDR);
//Call the Enhance example, specify the Device ID generated in xparameters.h
ENHANCE_Update_Example(XPAR_ENHANCE_0_BASEADDR);
return 0;
}

View file

@ -1,277 +0,0 @@
/******************************************************************************
*
* Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/**
*
* @file enhance.h
*
* This header file contains identifiers and register-level driver functions (or
* macros) that can be used to access the Xilinx Image Enhancement core instance.
*
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 5.00a vyc 06/19/13 Updated for ENHANCE V8.0
* New edge enhancement algorithm and registers
* Noise reduction support added
* 4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
* Converted from xio.h to xil_io.h, translating
* basic type, MB cache functions, exceptions and
* assertion to xil_io format.
* 3.00a rc 09/11/11 Updated for ENHANCE V3.0
* 2.00a vc 12/14/10 Updated for ENHANCE V2.0
* 6.0 adk 19/12/13 Updated as per the New Tcl API's
*
******************************************************************************/
#ifndef ENHANCE_DRIVER_H /* prevent circular inclusions */
#define ENHANCE_DRIVER_H /* by using protection macros */
#ifdef __cplusplus
extern "C" {
#endif
/***************************** Include Files *********************************/
#include "xil_io.h"
/************************** Constant Definitions *****************************/
/**
* Register Offsets
*/
/* General Control Registers */
#define ENHANCE_CONTROL 0x0000 /**< Control */
#define ENHANCE_STATUS 0x0004 /**< Status */
#define ENHANCE_ERROR 0x0008 /**< Error */
#define ENHANCE_IRQ_ENABLE 0x000C /**< IRQ Enable */
#define ENHANCE_VERSION 0x0010 /**< Version */
#define ENHANCE_SYSDEBUG0 0x0014 /**< System Debug 0 */
#define ENHANCE_SYSDEBUG1 0x0018 /**< System Debug 1 */
#define ENHANCE_SYSDEBUG2 0x001C /**< System Debug 2 */
/* Timing Control Registers */
#define ENHANCE_ACTIVE_SIZE 0x0020 /**< Horizontal and Vertical Active Frame Size */
/* Core Specific Registers */
#define ENHANCE_NOISE_THRESHOLD 0x0100 /**< Noise Reduction Control */
#define ENHANCE_ENHANCE_STRENGTH 0x0104 /**< Edge Enhancement Control */
#define ENHANCE_HALO_SUPPRESS 0x0108 /**< Halo Suppression Control */
/*****************************************************************************/
/**
* Control Register bit definition
*/
#define ENHANCE_CTL_EN_MASK 0x00000001 /**< Enable */
#define ENHANCE_CTL_RU_MASK 0x00000002 /**< Register Update */
#define ENHANCE_CTL_AUTORESET 0x40000000 /**< Software Reset - Auto-synchronize to SOF */
#define ENHANCE_CTL_RESET 0x80000000 /**< Software Reset - Instantaneous */
/***************** Macros (Inline Functions) Definitions *********************/
#define ENHANCE_In32 Xil_In32
#define ENHANCE_Out32 Xil_Out32
/*****************************************************************************/
/**
*
* Read the given register.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
* @param RegOffset is the register offset of the register (defined at top of this file)
*
* @return The 32-bit value of the register
*
* @note
* C-style signature:
* u32 ENHANCE_ReadReg(u32 BaseAddress, u32 RegOffset)
*
******************************************************************************/
#define ENHANCE_ReadReg(BaseAddress, RegOffset) \
ENHANCE_In32((BaseAddress) + (RegOffset))
/*****************************************************************************/
/**
*
* Write the given register.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
* @param RegOffset is the register offset of the register (defined at top of this file)
* @param Data is the 32-bit value to write to the register
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)
*
******************************************************************************/
#define ENHANCE_WriteReg(BaseAddress, RegOffset, Data) \
ENHANCE_Out32((BaseAddress) + (RegOffset), (Data))
/*****************************************************************************/
/**
*
* This macro enables a Image Enhancement core instance.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_Enable(u32 BaseAddress);
*
******************************************************************************/
#define ENHANCE_Enable(BaseAddress) \
ENHANCE_WriteReg(BaseAddress, ENHANCE_CONTROL, \
ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) | \
ENHANCE_CTL_EN_MASK)
/*****************************************************************************/
/**
*
* This macro disables a Image Enhancement core instance.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_Disable(u32 BaseAddress);
*
******************************************************************************/
#define ENHANCE_Disable(BaseAddress) \
ENHANCE_WriteReg(BaseAddress, ENHANCE_CONTROL, \
ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) & \
~ENHANCE_CTL_EN_MASK)
/*****************************************************************************/
/**
*
* This macro commits all the register value changes made so far by the software
* to the Image Enhancement core instance. The registers will be automatically updated
* on the next rising-edge of the SOF signal on the core.
* It is up to the user to manually disable the register update after a sufficient
* amount of time.
*
* This function only works when the Image Enhancement core is enabled.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_RegUpdateEnable(u32 BaseAddress);
*
******************************************************************************/
#define ENHANCE_RegUpdateEnable(BaseAddress) \
ENHANCE_WriteReg(BaseAddress, ENHANCE_CONTROL, \
ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) | \
ENHANCE_CTL_RU_MASK)
/*****************************************************************************/
/**
*
* This macro prevents the Image Enhancement core instance from committing recent changes made
* so far by the software. When disabled, changes to other configuration registers
* are stored, but do not effect the behavior of the core.
*
* This function only works when the Image Enhancement core is enabled.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_RegUpdateDisable(u32 BaseAddress);
*
******************************************************************************/
#define ENHANCE_RegUpdateDisable(BaseAddress) \
ENHANCE_WriteReg(BaseAddress, ENHANCE_CONTROL, \
ENHANCE_ReadReg(BaseAddress, ENHANCE_CONTROL) & \
~ENHANCE_CTL_RU_MASK)
/*****************************************************************************/
/**
*
* This macro resets a Image Enhancement core instance. This reset effects the core immediately,
* and may cause image tearing.
*
* This reset resets the Image Enhancement's configuration registers.
*
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_Reset(u32 BaseAddress);
*
******************************************************************************/
#define ENHANCE_Reset(BaseAddress) \
ENHANCE_WriteReg(BaseAddress, ENHANCE_CONTROL, ENHANCE_CTL_RESET) \
/*****************************************************************************/
/**
*
* This macro resets a Image Enhancement core instance, but differs from ENHANCE_Reset() in that it
* automatically synchronizes to the SOF input of the core to prevent tearing.
*
* On the next SOF following a call to ENHANCE_AutoSyncReset(),
* all of the core's configuration registers and outputs will be reset, then the
* reset flag will be immediately released, allowing the core to immediately resume
* default operation.
*
* @param BaseAddress is the Xilinx base address of the Image Enhancement core (from xparameters.h)
*
* @return None.
*
* @note
* C-style signature:
* void ENHANCE_AutoSyncReset(u32 BaseAddress);
*
******************************************************************************/
#define ENHANCE_AutoSyncReset(BaseAddress) \
ENHANCE_WriteReg(BaseAddress, ENHANCE_CONTROL, ENHANCE_CTL_AUTORESET) \
/************************** Function Prototypes ******************************/
#ifdef __cplusplus
}
#endif
#endif /* end of protection macro */

View file

@ -0,0 +1,749 @@
/******************************************************************************
*
* Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/*****************************************************************************/
/**
*
* @file xenhance.c
*
* This file contains the implementation of the interface functions for
* Enhance core. Refer to the header file xenhance.h for more detailed
* information.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- --- -------- ---------------------------------------------------
* 2.00a vc 12/14/10 Updated for ENHANCE V2.0
* 3.00a rc 09/11/11 Updated for ENHANCE V3.0
* 4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
* Converted from xio.h to xil_io.h, translating
* basic type, MB cache functions, exceptions and
* assertion to xil_io format.
* 5.00a vyc 06/19/13 Updated for ENHANCE V8.0
* New edge enhancement algorithm and registers
* Noise reduction support added
* 6.0 adk 19/12/13 Updated as per the New Tcl API's
* 7.0 adk 02/19/14 Changed the filename from enhance.c to xenhance.c.
* Modified the following functions
* XENHANCE_CfgInitialize -> XEnhance_CfgInitialize
* XENHANCE_Setup -> XEnhance_Setup
*
* Implemented the following functions:
* XEnhance_GetVersion, XEnhance_EnableDbgByPass
* XEnhance_IsDbgByPassEnabled, XEnhance_DisableDbgBypass
* XEnhance_EnableDbgTestPattern,
* XEnhance_IsDbgTestPatternEnabled
* XEnhance_DisableDbgTestPattern
* XEnhance_GetDbgFrameCount, XEnhance_GetDbgLineCount,
* XEnhance_GetDbgPixelCount, XEnhance_SetActiveSize,
* XEnhance_GetActiveSize, XEnhance_SetNoiseThreshold,
* XEnhance_GetNoiseThreshold, XEnhance_SetEdgeStrength,
* XEnhance_GetEdgeStrength, XEnhance_SetHaloSuppress
* XEnhance_GetHaloSuppress.
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xenhance.h"
/************************** Constant Definitions *****************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
static void StubErrCallBack(void *CallBackRef, u32 ErrorMask);
static void StubCallBack(void *CallBackRef);
/************************** Variable Definitions *****************************/
/************************** Function Definitions *****************************/
/****************************************************************************/
/**
*
* This function initializes a Enhance core. This function must be called
* prior to using a Enhance core. Initialization of a Enhance includes
* setting up the instance data, and ensuring the hardware is in a quiescent
* state.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
* @param CfgPtr is a reference to a configuration structure
* containing information about the Enhance core.
* @param EffectiveAddr is the base address of the core. If address
* translation is being used then this parameter must
* reflect the virtual base address. Otherwise, the physical
* address should be used.
*
* @return
* - XST_SUCCESS if initialization was successful.
*
* @note None.
*
******************************************************************************/
int XEnhance_CfgInitialize(XEnhance *InstancePtr, XEnhance_Config *CfgPtr,
u32 EffectiveAddr)
{
/* Verify arguments. */
Xil_AssertNonvoid(CfgPtr != NULL);
Xil_AssertNonvoid(EffectiveAddr != ((u32)0x0U));
/* Setup the instance */
(void)memset((void *)InstancePtr, 0, sizeof(XEnhance));
(void)memcpy((void *)&(InstancePtr->Config), (const void *)CfgPtr,
sizeof(XEnhance_Config));
InstancePtr->Config.BaseAddress = EffectiveAddr;
/* Set all handlers to stub values, let user configure this data
* later
*/
InstancePtr->ProcStartCallBack =
(XEnhance_CallBack)((void *)StubCallBack);
InstancePtr->FrameDoneCallBack =
(XEnhance_CallBack)((void *)StubCallBack);
InstancePtr->ErrCallBack =
(XEnhance_ErrorCallBack)((void *)StubErrCallBack);
/* Reset the hardware and set the flag to indicate the core is
* ready
*/
XEnhance_Reset(InstancePtr);
InstancePtr->IsReady = (u32)(XIL_COMPONENT_IS_READY);
return (XST_SUCCESS);
}
/*****************************************************************************/
/**
*
* This function sets the input/output frame size in Active Size register and
* enables the register update.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XEnhance_Setup(XEnhance *InstancePtr)
{
u32 Data;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
XEnhance_RegUpdateDisable(InstancePtr);
/* Write active size register */
Data = ((((InstancePtr)->VSize) << (XENH_ACTSIZE_NUM_LINE_SHIFT)) &
(XENH_ACTSIZE_NUM_LINE_MASK)) |
(((InstancePtr)->HSize) &
(XENH_ACTSIZE_NUM_PIXEL_MASK));
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_ACTIVE_SIZE_OFFSET), Data);
XEnhance_RegUpdateEnable(InstancePtr);
}
/*****************************************************************************/
/**
*
* This sets the bypass bit of the control register to switch the core to bypass
* mode if debug is enabled in the Enhance core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return None.
*
* @note Debug functionality should be enabled..
*
******************************************************************************/
void XEnhance_EnableDbgByPass(XEnhance *InstancePtr)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid((InstancePtr)->Config.HasDebug != (u16)0x0U);
/* Write into control register to set debug bypass. */
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET),
(XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET)) | ((XENH_CTL_BPE_MASK))));
}
/*****************************************************************************/
/**
*
* This function gets the current status of the bypass setting of the Enhance
* core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return Core debug bypass mode.
* - TRUE = Bypass mode is enabled.
* - FALSE = Bypass mode is not enabled.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
int XEnhance_IsDbgByPassEnabled(XEnhance *InstancePtr)
{
u32 Data;
int Status;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid((InstancePtr)->Config.HasDebug != (u16)0x0U);
/* Read from control register to know debug bypass status. */
Data = XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET)) & ((u32)((XENH_CTL_BPE_MASK)));
if (Data == (XENH_CTL_BPE_MASK)) {
Status = (TRUE);
}
else {
Status = (FALSE);
}
return Status;
}
/*****************************************************************************/
/**
*
* This function disables Bypass mode of the Enhance core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return None.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
void XEnhance_DisableDbgBypass(XEnhance *InstancePtr)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid((InstancePtr)->Config.HasDebug != (u16)0x0U);
/* Write into control register to disable debug bypass. */
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET),
(XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET)) & (~(XENH_CTL_BPE_MASK))));
}
/*****************************************************************************/
/**
*
* This function sets the test-pattern mode of the Enhance core if debug
* features is enabled.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return None.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
void XEnhance_EnableDbgTestPattern(XEnhance *InstancePtr)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->Config.HasDebug != (u16)0x0U);
/* Write into control register to set test pattern. */
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET),
((XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET))) |
((XENH_CTL_TPE_MASK))));
}
/*****************************************************************************/
/**
*
* This function gets the test-pattern mode if debug feature is enabled.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return Test-pattern generator mode.
* - TRUE = Test-pattern mode is enabled.
* - FALSE = Test-pattern mode is not enabled.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
int XEnhance_IsDbgTestPatternEnabled(XEnhance *InstancePtr)
{
u32 Data;
int Status;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->Config.HasDebug != (u16)0x0U);
/* Read from control register to know debug test pattern status. */
Data = XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET)) & ((XENH_CTL_TPE_MASK));
if (Data == (XENH_CTL_TPE_MASK)) {
Status = (TRUE);
}
else {
Status = (FALSE);
}
return Status;
}
/*****************************************************************************/
/**
*
* This function disables the test Pattern mode of the Enhance core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return None.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
void XEnhance_DisableDbgTestPattern(XEnhance *InstancePtr)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid((InstancePtr)->Config.HasDebug != (u16)0x0U);
/* Write into control register to disable debug bypass. */
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET),
((XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_CONTROL_OFFSET))) &
(~(XENH_CTL_TPE_MASK))));
}
/*****************************************************************************/
/**
*
* This function returns the contents of Version register.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return Returns the contents of the Version register.
*
* @note None.
*
******************************************************************************/
u32 XEnhance_GetVersion(XEnhance *InstancePtr)
{
u32 Data;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
/* Read version register of the Enhance core */
Data = XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_VERSION_OFFSET));
return Data;
}
/*****************************************************************************/
/**
*
* This function gets number of frames processed since power-up or last
* time the core is reset.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return FrameCount is the number of frames processed since power-up.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
u32 XEnhance_GetDbgFrameCount(XEnhance *InstancePtr)
{
u32 FrameCount;
/* Verify argument. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->Config.HasDebug != (u16)0x0);
/* Reads Frame Throughput monitor */
FrameCount = XEnhance_ReadReg(InstancePtr->Config.BaseAddress,
(XENH_SYSDEBUG0_OFFSET));
return FrameCount;
}
/*****************************************************************************/
/**
*
* This function gets the number of lines processed since power-up or last
* time the core is reset.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return LineCount is the number of lines processed since power-up.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
u32 XEnhance_GetDbgLineCount(XEnhance *InstancePtr)
{
u32 LineCount;
/* Verify argument. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->Config.HasDebug != (u16)0x0);
/* Reads Line throughput monitor */
LineCount = XEnhance_ReadReg(InstancePtr->Config.BaseAddress,
(XENH_SYSDEBUG1_OFFSET));
return LineCount;
}
/*****************************************************************************/
/**
*
* This function gets the number of pixels processed since power-up or last
* time the core is reset.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return PixelCount is the number of pixels processed since power-up.
*
* @note Debug functionality should be enabled.
*
******************************************************************************/
u32 XEnhance_GetDbgPixelCount(XEnhance *InstancePtr)
{
u32 PixelCount;
/* Verify argument. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->Config.HasDebug != (u16)0x0);
/* Reads Pixel Throughput monitor */
PixelCount=XEnhance_ReadReg(InstancePtr->Config.BaseAddress,
(XENH_SYSDEBUG2_OFFSET));
return PixelCount;
}
/*****************************************************************************/
/**
*
* This function sets active H/V sizes in the Active size register.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
* @param HSize is number of Active Pixels per scan line to be set.
* Range of HSize is 32 to 7680.
* @param VSize is number of Active Lines per frame to be set.
* Range of VSize is 32 to 7680.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XEnhance_SetActiveSize(XEnhance *InstancePtr, u16 HSize, u16 VSize)
{
u32 Size;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid((VSize >= (u16)(XENH_VSIZE_FIRST)) &&
(VSize <= (u16)(XENH_VSIZE_LAST)));
Xil_AssertVoid((HSize >= (u16)(XENH_HSIZE_FIRST)) &&
(HSize <= (u16)(XENH_HSIZE_LAST)));
Size = (((u32)VSize) << ((u32)(XENH_ACTSIZE_NUM_LINE_SHIFT))) | (HSize);
XEnhance_WriteReg(InstancePtr->Config.BaseAddress,
(XENH_ACTIVE_SIZE_OFFSET), Size);
}
/*****************************************************************************/
/**
*
* This function gets the number of Active Pixel per Scan line
* and number of Active Lines per Frame from the Active Frame Size register.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
* @param HSize is a pointer to 16-bit variable in which
* the number of Active Pixels per Scan Line is returned.
* (Range is 32 to 7680).
* @param VSize is a pointer to 16-bit variable in which
* the number of Active Lines per Frame is returned.
* (Range is 32 to 7680).
*
* @return None.
*
* @note None.
*
*****************************************************************************/
void XEnhance_GetActiveSize(XEnhance *InstancePtr, u16 *HSize, u16 *VSize)
{
u32 Data;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(HSize != NULL);
Xil_AssertVoid(VSize != NULL);
Data = XEnhance_ReadReg(InstancePtr->Config.BaseAddress,
XENH_ACTIVE_SIZE_OFFSET);
/* Reads Number of Active Lines per Frame */
*HSize = (u16)((Data) & (XENH_ACTSIZE_NUM_PIXEL_MASK));
/* Reads Number of Active Lines per Frame */
*VSize = (u16)((Data) & (XENH_ACTSIZE_NUM_LINE_MASK)) >>
(XENH_ACTSIZE_NUM_LINE_SHIFT);
}
/*****************************************************************************/
/**
*
* This function sets the Noise Threshold value for the Enhance core
* The amount of noise reduction can be controlled through Noise
* Threshold parameter.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
* @param Threshold is the value to set the Noise Threshold.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XEnhance_SetNoiseThreshold(XEnhance *InstancePtr, u32 Threshold)
{
/* Verify argument. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(Threshold <= (u32)XENH_NOISETHRES_MAX);
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_NOISE_THRESHOLD_OFFSET), Threshold);
}
/*****************************************************************************/
/**
*
* This function gets the Noise Threshold value for the Enhance core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return The amount of noise reduction that can be controlled.
*
* @note None.
*
******************************************************************************/
u32 XEnhance_GetNoiseThreshold(XEnhance *InstancePtr)
{
u32 NoiseThreshold;
/* Verify argument. */
Xil_AssertNonvoid(InstancePtr != NULL);
NoiseThreshold = (XEnhance_ReadReg(InstancePtr-> Config.BaseAddress,
(XENH_NOISE_THRESHOLD_OFFSET))) &
(XENH_NOISE_THRESHOLD_MASK);
return NoiseThreshold;
}
/*****************************************************************************/
/**
*
* This function sets the Edge Strength value for the Enhance core.
* i.e. The amount of edge enhancement can be controlled through the
* programmable Enhance Strength parameter.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
* @param Strength is the value to set the Edge Strength of the core.
*
* @return None.
*
* @note The larger the strength, the stronger the edge enhancement.
*
******************************************************************************/
void XEnhance_SetEdgeStrength(XEnhance *InstancePtr, u32 Strength)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(Strength <= (u32)XENH_ENHSTRENGTH_MAX);
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_ENHANCE_STRENGTH_OFFSET), Strength);
}
/*****************************************************************************/
/**
*
* This function gets the Edge Strength value for the Enhance core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return The amount of edge enhancement that can be controlled.
*
* @note None.
*
******************************************************************************/
u32 XEnhance_GetEdgeStrength(XEnhance *InstancePtr)
{
u32 EdgeStrength;
/* Verify argument. */
Xil_AssertNonvoid(InstancePtr != NULL);
EdgeStrength = (XEnhance_ReadReg(InstancePtr->Config.BaseAddress,
(XENH_ENHANCE_STRENGTH_OFFSET))) &
(XENH_STRENGTH_MASK);
return EdgeStrength;
}
/*****************************************************************************/
/**
*
* This function sets the Halo Suppress value for the Enhance core.
* i.e. The amount of halo suppression can be controlled through the
* programmable Halo Suppress parameter.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
* @param Suppress is the value to set the Suppression value.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XEnhance_SetHaloSuppress(XEnhance *InstancePtr, u32 Suppress)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(Suppress <= (u32)XENH_HALOSUPPRESS_MAX);
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress,
(XENH_HALO_SUPPRESS_OFFSET), Suppress);
}
/*****************************************************************************/
/**
*
* This function gets the Halo Suppress value for the Enhance core.
*
* @param InstancePtr is a pointer to XEnhance instance to be worked on.
*
* @return The amount of halo suppression that can be controlled.
*
* @note None.
*
******************************************************************************/
u32 XEnhance_GetHaloSuppress(XEnhance *InstancePtr)
{
u32 HaloSuppress;
/* Verify argument. */
Xil_AssertNonvoid(InstancePtr != NULL);
HaloSuppress = (XEnhance_ReadReg(InstancePtr->Config.BaseAddress,
(XENH_HALO_SUPPRESS_OFFSET))) &
(XENH_HALO_SUPPRESS_MASK);
return HaloSuppress;
}
/*****************************************************************************/
/**
*
* This routine is a stub for the asynchronous callbacks. The stub is here in
* case the upper layer forgot to set the handlers. On initialization, All
* handlers except error handler are set to this callback. It is considered an
* error for this handler to be invoked.
*
* @param CallBackRef is a callback reference passed in by the upper
* layer when setting the callback functions, and passed back
* to the upper layer when the callback is invoked.
*
* @return None.
*
* @note None.
*
*****************************************************************************/
static void StubCallBack(void *CallBackRef)
{
/* Verify arguments. */
Xil_AssertVoid(CallBackRef != NULL);
Xil_AssertVoidAlways();
}
/*****************************************************************************/
/**
*
* This routine is a stub for the asynchronous error interrupt callback. The
* stub is here in case the upper layer forgot to set the handler. On
* initialization, Error interrupt handler is set to this callback. It is
* considered an error for this handler to be invoked.
*
* @param CallBackRef is a callback reference passed in by the upper
* layer when setting the callback functions, and passed back
* to the upper layer when the callback is invoked.
* @param ErrorMask is a bit mask indicating the cause of the error. Its
* value equals 'OR'ing one or more XENH_IXR_*_MASK values defined
* in xenhance_hw.h.
*
* @return None.
*
* @note None.
*
*****************************************************************************/
static void StubErrCallBack(void *CallBackRef, u32 ErrorMask)
{
/* Verify arguments. */
Xil_AssertVoid((ErrorMask == ((u32)0x0U)) ||
(ErrorMask > ((u32)0x0U)));
Xil_AssertVoid(CallBackRef != NULL);
Xil_AssertVoidAlways();
}

View file

@ -0,0 +1,643 @@
/******************************************************************************
*
* Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/*****************************************************************************/
/**
*
* @file xenhance.h
*
* This header file contains identifiers and register-level driver functions (or
* macros), range macros, structure typedefs that can be used to access the
* Image Statistic core instance.
*
* The Image Enhancement core offers noise reduction and/or edge enhancement.
* For edge enhancement, optional anti-halo and anti-alias post-processing
* modules are available to reduce image artifacts that can appear from the
* high-pass filtering of the edge enhancement filters. The amount of noise
* reduction and edge enhancement is controlled through user parameters.
* There are two variations of the algorithm offered to choose between high
* performance and minimal resource usage. This core works on YCbCr 4:4:4 and
* 4:2:2 data. The core is capable of a maximum resolution of 7680 columns by
* 7680 rows with 8, 10, 12, or 16 bits per pixel and supports the bandwidth
* necessary for High-definition (1080p60) resolutions in all Xilinx FPGA device
* families. Higher resolutions can be supported in Xilinx high-performance
* device families.
*
* <b>Initialization & Configuration</b>
*
* The device driver enables higher layer software (e.g., an application) to
* communicate to the Enhance core.
*
* XEnhance_CfgInitialize() API is used to initialize the Enhance core.
* The user needs to first call the XEnhance_LookupConfig() API which returns
* the Configuration structure pointer which is passed as a parameter to the
* XEnhance_CfgInitialize() API.
*
* <b> Interrupts </b>
*
* The driver provides an interrupt handler XEnhance_IntrHandler for handling
* the interrupt from the Enhance core. The users of this driver have to
* register this handler with the interrupt system and provide the callback
* functions by using XEnhance_SetCallBack API.
*
* <b> Virtual Memory </b>
*
* This driver supports Virtual Memory. The RTOS is responsible for calculating
* the correct device base address in Virtual Memory space.
*
* <b> Threads </b>
*
* This driver is not thread safe. Any needs for threads or thread mutual
* exclusion must be satisfied by the layer above this driver.
*
* <b> Asserts </b>
*
* Asserts are used within all Xilinx drivers to enforce constraints on argument
* values. Asserts can be turned off on a system-wide basis by defining, at
* compile time, the NDEBUG identifier. By default, asserts are turned on and it
* is recommended that users leave asserts on during development.
*
* <b> Building the driver </b>
*
* The XEnhance driver is composed of several source files. This allows the user
* to build and link only those parts of the driver that are necessary.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -----------------------------------------------------
* 2.00a vc 12/14/10 Updated for ENHANCE V2.0
* 3.00a rc 09/11/11 Updated for ENHANCE V3.0
* 4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
* Converted from xio.h to xil_io.h, translating
* basic type, MB cache functions, exceptions and
* assertion to xil_io format.
* 5.00a vyc 06/19/13 Updated for ENHANCE V8.0
* New edge enhancement algorithm and registers
* Noise reduction support added
* 6.0 adk 19/12/13 Updated as per the New Tcl API's
* 7.0 adk 02/19/14 Changed the filename from enhance.h to xenhance.h.
* Changes in xenhance.h:
* Removed the following macros
* ENHANCE_Enable, ENHANCE_Disable, ENHANCE_RegUpdateEnable,
* ENHANCE_RegUpdateDisable, ENHANCE_Reset,
* ENHANCE_AutoSyncReset
*
* Added the following function macros
* XEnhance_Enable, XEnhance_Disable,
* XEnhance_RegUpdateDisable, XEnhance_RegUpdateDisable
* XEnhance_Reset, XEnhance_SyncReset, XEnhance_IntrEnable
* XEnhance_IntrDisable, XEnhance_StatusGetPending
* XEnhance_IntrGetPending, XEnhance_IntrClear
*
* Added the following type definitions:
* XEnhance_Config and XEnhance structures.
* XEnhance_CallBack and XEnhance_ErrorCallBack.
*
* Changes in xenhance.c:
* Modified the following functions
* XENHANCE_CfgInitialize -> XEnhance_CfgInitialize
* XENHANCE_Setup -> XEnhance_Setup
*
* Implemented the following functions:
* XEnhance_CfgInitialize, XEnhance_Setup,
* XEnhance_GetVersion, XEnhance_EnableDbgByPass,
* XEnhance_IsDbgByPassEnabled, XEnhance_DisableDbgBypass
* XEnhance_EnableDbgTestPattern,
* XEnhance_IsDbgTestPatternEnabled
* XEnhance_DisableDbgTestPattern
* XEnhance_GetDbgFrameCount, XEnhance_GetDbgLineCount,
* XEnhance_GetDbgPixelCount, XEnhance_SetActiveSize,
* XEnhance_GetActiveSize, XEnhance_SetNoiseThreshold,
* XEnhance_GetNoiseThreshold, XEnhance_SetEdgeStrength,
* XEnhance_GetEdgeStrength, XEnhance_SetHaloSuppress
* XEnhance_GetHaloSuppress.
*
* Changes in xenhance_hw.h:
* Added the register offsets and bit masks for the
* registers and added backward compatibility for macros.
*
* Changes in xenhance_intr.c:
* Implemented the following functions
* XEnhance_IntrHandler
* XEnhance_SetCallBack
*
* Changes in xenhance_sinit.c:
* Implemented the following function
* XEnhance_LookupConfig
*
* Changes in xenhance_selftest.c:
* Implemented the following function
* XEnhance_SelfTest
* </pre>
*
******************************************************************************/
#ifndef XENHANCE_H_
#define XENHANCE_H_ /**< Prevent circular inclusions by using
* protection macros */
#ifdef __cplusplus
extern "C" {
#endif
/***************************** Include Files *********************************/
#include "xil_assert.h"
#include "xstatus.h"
#include "xenhance_hw.h"
/************************** Constant Definitions *****************************/
/** @name Handler Types
* @{
*/
/**
* These constants specify different types of handlers and used to
* differentiate interrupt requests from core.
*
*/
enum {
XENH_HANDLER_PROCSTART = 1, /**< A processing start event
* interrupt type */
XENH_HANDLER_FRAMEDONE, /**< A frame done event
* interrupt type */
XENH_HANDLER_ERROR /**< An error condition event
* interrupt type */
} ;
/*@}*/
/** @name Active size range macros
* @{
*/
#define XENH_VSIZE_FIRST 32 /**< Vertical Size starting
* value */
#define XENH_VSIZE_LAST 7680 /**< Vertical Size ending
* value */
#define XENH_HSIZE_FIRST 32 /**< Horizontal Size starting
* value */
#define XENH_HSIZE_LAST 7680 /**< Horizontal Size ending
* value */
/*@}*/
/** @name Noise threshold range macros
* @{
*/
#define XENH_NOISETHRES_MIN 0 /**< Noise threshold starting
* value */
#define XENH_NOISETHRES_MAX 255 /**< Noise threshold ending
* value */
/*@}*/
/** @name Strength range macros
* @{
*/
#define XENH_ENHSTRENGTH_MIN 0 /**< Strength starting value */
#define XENH_ENHSTRENGTH_MAX 32768 /**< Strength ending value */
/*@}*/
/** @name Halo Suppress range macros
* @{
*/
#define XENH_HALOSUPPRESS_MIN 0 /**< Halo Suppress starting
* value */
#define XENH_HALOSUPPRESS_MAX 32768 /**< Halo Suppress ending
* value */
/*@}*/
/***************** Macros (Inline Functions) Definitions *********************/
/*****************************************************************************/
/**
*
* This function macro enables the Image Enhancement core instance.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_Enable(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_Enable(InstancePtr) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET), \
XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET)) | (XENH_CTL_SW_EN_MASK))
/*****************************************************************************/
/**
*
* This function macro disables the Image Enhancement core instance.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_Disable(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_Disable(InstancePtr) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET), \
XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET)) & (~(XENH_CTL_SW_EN_MASK)))
/*****************************************************************************/
/**
*
* This function macro starts the Image Enhancement core instance.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_Start(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_Start XEnhance_Enable
/*****************************************************************************/
/**
*
* This function macro stops the Image Enhancement core instance.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_Stop(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_Stop XEnhance_Disable
/*****************************************************************************/
/**
*
* This function macro commits all the register value changes made so far by the
* software to the Image Enhancement core instance.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_RegUpdateEnable(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_RegUpdateEnable(InstancePtr) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET), \
(XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET))) | (XENH_CTL_RUE_MASK))
/*****************************************************************************/
/**
*
* This function macro prevents the Image Enhancement core instance from
* committing recent changes made so far by the software. When disabled, changes
* to other configuration registers are stored, but do not effect the behavior
* of the core.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_RegUpdateDisable(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_RegUpdateDisable(InstancePtr) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET), \
((XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET))) & \
(~(XENH_CTL_RUE_MASK))))
/*****************************************************************************/
/**
*
* This function macro resets a Image Enhancement core instance, but differs from
* XEnhance_Reset() in that it automatically synchronizes to the SOF input of
* the core to prevent tearing.
*
* On the next SOF following a call to XEnhance_SyncReset(),
* all of the core's configuration registers and outputs will be reset, then the
* reset flag will be immediately released, allowing the core to immediately
* resume default operation.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void Enhance_SyncReset(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_SyncReset(InstancePtr) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET), (XENH_CTL_AUTORESET_MASK))
/*****************************************************************************/
/**
*
* This function macro resets a Image Enhancement core instance. This reset
* effects the core immediately, and may cause image tearing.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_Reset(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_Reset(InstancePtr) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_CONTROL_OFFSET), (XENH_CTL_RESET_MASK))
/*****************************************************************************/
/**
*
* This function macro returns the pending status of a Enhance core.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return The pending interrupts of the Enhance core. Use XENH_IXR_*_MASK
* constants defined in xenhance_hw.h to interpret this value.
*
* @note C-style signature:
* u32 XEnhance_StatusGePending(XEnhance *InstancePtr).
*
******************************************************************************/
#define XEnhance_StatusGetPending(InstancePtr) \
XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_STATUS_OFFSET)) & (XENH_IXR_ALLINTR_MASK)
/*****************************************************************************/
/**
*
* This function macro clears/acknowledges pending interrupts of a Enhance core.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
* @param IntrType is the pending interrupts to clear/acknowledge. Use
* OR'ing of XENH_IXR_*_MASK constants defined in xEnhance_hw.h
* to create this parameter value.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_IntrClear(XEnhance *InstancePtr, u32 IntrType)
*
******************************************************************************/
#define XEnhance_IntrClear(InstancePtr, IntrType) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_STATUS_OFFSET), ((IntrType) & (XENH_IXR_ALLINTR_MASK)))
/*****************************************************************************/
/**
*
* This function macro enables the given individual interrupt(s) on the Enhance
* core.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
* @param IntrType is the bit-mask of the interrupts to be enabled.
* Bit positions of 1 will be enabled. Bit positions of 0 will
* keep the previous setting. This mask is formed by OR'ing
* XENH_IXR_*_MASK bits defined in xenhance_hw.h.
*
* @return None.
*
* @note The existing enabled interrupt(s) will remain enabled.
* C-style signature:
* void XEnhance_IntrEnable(XEnhance *InstancePtr, u32 IntrType)
*
******************************************************************************/
#define XEnhance_IntrEnable(InstancePtr, IntrType) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_IRQ_EN_OFFSET), \
((IntrType) & (XENH_IXR_ALLINTR_MASK)) | \
(XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_IRQ_EN_OFFSET))))
/*****************************************************************************/
/**
*
* This function macro disables the given individual interrupt(s) on the
* Enhance core by updating Irq_Enable register.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
* @param IntrType is the bit-mask of the interrupts to be disabled.
* Bit positions of 1 will be disabled. Bit positions of 0 will
* keep the previous setting. This mask is formed by OR'ing
* XENH_IXR_*_MASK bits defined in xenhance_hw.h.
*
* @return None.
*
* @note Any other interrupt not covered by parameter IntrType, if
* enabled before this macro is called, will remain enabled.
* C-style signature:
* void XEnhance_IntrDisable(XEnhance *InstancePtr, u32 IntrType)
*
******************************************************************************/
#define XEnhance_IntrDisable(InstancePtr, IntrType) \
XEnhance_WriteReg((InstancePtr)->Config.BaseAddress, \
(XENH_IRQ_EN_OFFSET), \
(XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_IRQ_EN_OFFSET)) & ((~(IntrType)) & \
(XENH_IXR_ALLINTR_MASK))))
/*****************************************************************************/
/**
*
* This function macro returns the pending interrupts of a Enhance core.
*
* @param InstancePtr is a pointer to the Enhance core instance to be
* worked on.
*
* @return The pending interrupts of the Enhance core. Use XENH_IXR_*_MASK
* constants defined in xenhance_hw.h to interpret this value.
*
* @note C-style signature:
* u32 XEnhance_IntrGetPending(XEnhance *InstancePtr)
*
******************************************************************************/
#define XEnhance_IntrGetPending(InstancePtr) \
XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_IRQ_EN_OFFSET)) & \
(XEnhance_ReadReg((InstancePtr)->Config.BaseAddress, \
(XENH_STATUS_OFFSET))) & ((u32)(XENH_IXR_ALLINTR_MASK))
/**************************** Type Definitions *******************************/
/**
* This typedef contains configuration information for a Video Enhance core.
* Each Video Enhance core should have a configuration structure associated.
*
******************************************************************************/
typedef struct {
u16 DeviceId; /**< DeviceId is the unique ID of the
* device */
u32 BaseAddress; /**< BaseAddress is the physical base
* address of the core registers */
u32 SlaveAxisVideoFormat; /**< Slave axis video format */
u32 MasteAxisVideoFoemat; /**< Master axis video format */
u32 SlaveAxiClkFreqHz; /**< Slave axi clock */
u16 HasIntcIf; /**< Has Intc IF */
u16 HasDebug; /**< Has Debug */
u32 MaxColumns; /**< Maximum columns */
u32 ActiveColumns; /**< Active columns */
u32 ActiveRows; /**< Active Rows */
u16 HasNoise; /**< Has noise */
u16 HasEnhance; /**< Has enhance */
u16 HasHalo; /**< Has halo suppression */
u16 HasAlias; /**< Has Alias */
u32 OptSize; /**< Optional size */
u16 NoiseThreshold; /**< Noise Threshold */
u32 EnhanceStrength; /**< Enhance strength */
u16 HaloSuppress; /**< Halo suppression */
} XEnhance_Config;
/*****************************************************************************/
/**
*
* Callback type for all interrupts except error interrupt.
*
* @param CallBackRef is a callback reference passed in by the upper
* layer when setting the callback functions, and passed back to
* the upper layer when the callback is invoked.
*
******************************************************************************/
typedef void (*XEnhance_CallBack)(void *CallBackRef);
/*****************************************************************************/
/**
*
* Callback type for Error interrupt.
*
* @param CallBackRef is a callback reference passed in by the upper
* layer when setting the callback functions, and passed back to
* the upper layer when the callback is invoked.
* @param ErrorMask is a bit mask indicating the cause of the error. Its
* value equals 'OR'ing one or more XENH_IXR_*_MASK values defined in
* xenhance_hw.h
*
******************************************************************************/
typedef void (*XEnhance_ErrorCallBack)(void *CallBackRef, u32 ErrorMask);
/**
* The Enhance driver instance data structure. A pointer to an instance data
* structure is passed around by functions to refer to a specific driver
* instance.
*/
typedef struct {
XEnhance_Config Config; /**< Hardware configuration */
u32 IsReady; /**< Device and the driver instantly
* are initialized */
u16 HSize; /**< Active Video Horizontal Size */
u16 VSize; /**< Active Video Vertical Size */
/* IRQ Callbacks */
XEnhance_CallBack ProcStartCallBack; /**< Callback for Processing
* Start interrupt */
void *ProcStartRef; /**< To be passed to Process
* Start interrupt
* callback */
XEnhance_CallBack FrameDoneCallBack; /**< Callback for Frame Done
* interrupt */
void *FrameDoneRef; /**< To be passed to the Frame
* Done interrupt callback */
XEnhance_ErrorCallBack ErrCallBack; /**< Callback for Error
* interrupt */
void *ErrRef; /**< To be passed to the Error
* interrupt callback */
} XEnhance;
/************************** Function Prototypes ******************************/
int XEnhance_CfgInitialize(XEnhance *InstancePtr, XEnhance_Config *CfgPtr,
u32 EffectiveAddr);
void XEnhance_Setup(XEnhance *InstancePtr);
void XEnhance_EnableDbgByPass(XEnhance *InstancePtr);
int XEnhance_IsDbgByPassEnabled(XEnhance *InstancePtr);
void XEnhance_DisableDbgBypass(XEnhance *InstancePtr);
void XEnhance_EnableDbgTestPattern(XEnhance *InstancePtr);
int XEnhance_IsDbgTestPatternEnabled(XEnhance *InstancePtr);
void XEnhance_DisableDbgTestPattern(XEnhance *InstancePtr);
u32 XEnhance_GetVersion(XEnhance *InstancePtr);
u32 XEnhance_GetDbgFrameCount(XEnhance *InstancePtr);
u32 XEnhance_GetDbgLineCount(XEnhance *InstancePtr);
u32 XEnhance_GetDbgPixelCount(XEnhance *InstancePtr);
void XEnhance_SetActiveSize(XEnhance *InstancePtr, u16 HSize, u16 VSize);
void XEnhance_GetActiveSize(XEnhance *InstancePtr, u16 *HSize, u16 *VSize);
void XEnhance_SetNoiseThreshold(XEnhance *InstancePtr, u32 Threshold);
u32 XEnhance_GetNoiseThreshold(XEnhance *InstancePtr);
void XEnhance_SetEdgeStrength(XEnhance *InstancePtr, u32 Strength);
u32 XEnhance_GetEdgeStrength(XEnhance *InstancePtr);
void XEnhance_SetHaloSuppress(XEnhance *InstancePtr, u32 Suppress);
u32 XEnhance_GetHaloSuppress(XEnhance *InstancePtr);
/* Initialization functions in xEnhance_sinit.c */
XEnhance_Config *XEnhance_LookupConfig(u16 DeviceId);
/* Self test functions in xenhance_selftest.c */
int XEnhance_SelfTest(XEnhance*InstancePtr);
/* Interrupt related functions in xEnhance_intr.c */
void XEnhance_IntrHandler(void *InstancePtr);
int XEnhance_SetCallBack(XEnhance *InstancePtr, u32 HandlerType,
void *CallBackFunc, void *CallBackRef);
/************************** Variable Declarations ****************************/
#ifdef __cplusplus
}
#endif
#endif /* End of protection macro */

View file

@ -0,0 +1,68 @@
/******************************************************************************
*
* Copyright (C) 2010 - 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
#include "xparameters.h"
#include "xenhance.h"
/*
* The configuration table for devices
*/
XEnhance_Config XEnhance_ConfigTable[] =
{
{
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_DEVICE_ID,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_BASEADDR,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_S_AXIS_VIDEO_DATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_M_AXIS_VIDEO_DATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_S_AXIS_VIDEO_FORMAT,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_M_AXIS_VIDEO_FORMAT,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_S_AXIS_VIDEO_TDATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_M_AXIS_VIDEO_TDATA_WIDTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_AXI4_LITE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_INTC_IF,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_DEBUG,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_MAX_COLS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_ACTIVE_COLS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_ACTIVE_ROWS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_NOISE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_ENHANCE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_HALO,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HAS_ALIAS,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_OPT_SIZE,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_NOISE_THRESHOLD,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_ENHANCE_STRENGTH,
XPAR_FMC_SENSOR_INPUT_V_ENHANCE_1_HALO_SUPPRESS
}
};

View file

@ -0,0 +1,287 @@
/******************************************************************************
*
* Copyright (C) 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/*****************************************************************************/
/**
*
* @file xenhance_hw.h
*
* This header file contains identifiers and register-level driver functions (or
* macros) that can be used to access the Xilinx Video Image Enhancement
* core.
*
* For more information about the operation of this core, see the hardware
* specification and documentation in the higher level driver xenhance.h source
* code file.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- --- -------- -------------------------------------------------------
* 7.0 adk 01/07/14 First release.
* Added the register offsets and bit masks for the
* registers and added backward compatibility for macros.
* </pre>
*
******************************************************************************/
#ifndef XENHANCE_HW_H_
#define XENHANCE_HW_H_ /**< Prevent circular inclusions by using
* protection macros */
#ifdef __cplusplus
extern "C" {
#endif
/***************************** Include Files *********************************/
#include "xil_io.h"
/************************** Constant Definitions *****************************/
/** @name Control Registers
* @{
*/
#define XENH_CONTROL_OFFSET 0x0000 /**< Control Offset */
#define XENH_STATUS_OFFSET 0x0004 /**< Status Offset */
#define XENH_ERROR_OFFSET 0x0008 /**< Error Offset */
#define XENH_IRQ_EN_OFFSET 0x000C /**< IRQ Enable Offset */
#define XENH_VERSION_OFFSET 0x0010 /**< Version Offset */
#define XENH_SYSDEBUG0_OFFSET 0x0014 /**< System Debug 0
* Offset */
#define XENH_SYSDEBUG1_OFFSET 0x0018 /**< System Debug 1
* Offset */
#define XENH_SYSDEBUG2_OFFSET 0x001C /**< System Debug 2
* Offset */
/*@}*/
/** @name Timing Control Registers
* @{
*/
#define XENH_ACTIVE_SIZE_OFFSET 0x0020 /**< Horizontal and Vertical
* Active Frame Size Offset */
/*@}*/
/** @name Core Specific Registers
* @{
*/
#define XENH_NOISE_THRESHOLD_OFFSET 0x0100 /**< Noise Reduction
* Control Active */
#define XENH_ENHANCE_STRENGTH_OFFSET 0x0104 /**< Edge Enhancement
* Control Active */
#define XENH_HALO_SUPPRESS_OFFSET 0x0108 /**< Halo Suppression
* Control Active */
/*@}*/
/** @name Enhance Control Register Bit Masks
* @{
*/
#define XENH_CTL_SW_EN_MASK 0x00000001 /**< Enable Mask */
#define XENH_CTL_RUE_MASK 0x00000002 /**< Register
* Update Enable Mask */
#define XENH_CTL_BPE_MASK 0x00000010 /**< Bypass Mask */
#define XENH_CTL_TPE_MASK 0x00000020 /**< Test Pattern Mask */
#define XENH_CTL_AUTORESET_MASK 0x40000000 /**< Software Reset -
* Auto-synchronize to
* SOF Mask */
#define XENH_CTL_RESET_MASK 0x80000000 /**< Software Reset -
* Instantaneous
* Mask */
/*@}*/
/** @name Interrupt Register Bit Masks. It is applicable for
* Status and Irq_Enable Registers
* @{
*/
#define XENH_IXR_PROCS_STARTED_MASK 0x00000001 /**< Process started
* Mask */
#define XENH_IXR_EOF_MASK 0x00000002 /**< End-Of-Frame Mask */
#define XENH_IXR_SE_MASK 0x00010000 /**< Slave Error Mask */
#define XENH_IXR_ALLINTR_MASK 0x00010003 /**< OR'ing of all Mask */
/*@}*/
/** @name Enhance Error Register Bit Masks
* @{
*/
#define XENH_ERR_EOL_EARLY_MASK 0x00000001 /**< Frame EOL early Mask */
#define XENH_ERR_EOL_LATE_MASK 0x00000002 /**< Frame EOL late Mask */
#define XENH_ERR_SOF_EARLY_MASK 0x00000004 /**< Frame SOF early Mask */
#define XENH_ERR_SOF_LATE_MASK 0x00000008 /**< Frame SOF late Mask */
/*@}*/
/** @name Enhance Version Register bit definition
* @{
*/
#define XENH_VER_REV_NUM_MASK 0x000000FF /**< Revision Number Mask */
#define XENH_VER_PID_MASK 0x00000F00 /**< Patch ID Mask */
#define XENH_VER_MINOR_MASK 0x00FF0000 /**< Version Minor Mask */
#define XENH_VER_MAJOR_MASK 0xFF000000 /**< Version Major Mask */
#define XENH_VER_REV_MASK 0x0000F000 /**< VersionRevision Mask */
#define XENH_VER_INTERNAL_SHIFT 8 /**< Version Internal Shift */
#define XENH_VER_REV_SHIFT 12 /**< Version Revision Shift */
#define XENH_VER_MINOR_SHIFT 16 /**< Version Minor Shift */
#define XENH_VER_MAJOR_SHIFT 24 /**< Version Major Shift */
/*@}*/
/** @name Enhance ActiveSize register Masks and Shifts
* @{
*/
#define XENH_ACTSIZE_NUM_PIXEL_MASK 0x00001FFF /**< Active size
* Mask */
#define XENH_ACTSIZE_NUM_LINE_MASK 0x1FFF0000 /**< Number of Active
* lines per Frame
* (Vertical) Mask */
#define XENH_ACTSIZE_NUM_LINE_SHIFT 16 /**< Active size
* Shift */
/*@}*/
/** @name Enhance Noise Threshold Register Bit Masks
* @{
*/
#define XENH_NOISE_THRESHOLD_MASK 0x0000FFFF /**< Noise Threshold
* Mask */
/*@}*/
/** @name Enhance Strength Register Bit Masks
* @{
*/
#define XENH_STRENGTH_MASK 0x0000FFFF /**< Enhance Strength
* Mask */
/*@}*/
/** @name Enhance Halo Suppress Register Bit Masks
* @{
*/
#define XENH_HALO_SUPPRESS_MASK 0x0000FFFF /**< Halo Suppress
* Mask */
/*@}*/
/**@name Backward compatibility macros
* @{
*/
#define ENHANCE_CONTROL XENH_CONTROL_OFFSET
#define ENHANCE_STATUS XENH_STATUS_OFFSET
#define ENHANCE_ERROR XENH_ERROR_OFFSET
#define ENHANCE_IRQ_ENABLE XENH_IRQ_EN_OFFSET
#define ENHANCE_VERSION XENH_VERSION_OFFSET
#define ENHANCE_SYSDEBUG0 XENH_SYSDEBUG0_OFFSET
#define ENHANCE_SYSDEBUG1 XENH_SYSDEBUG1_OFFSET
#define ENHANCE_SYSDEBUG2 XENH_SYSDEBUG2_OFFSET
#define ENHANCE_ACTIVE_SIZE XENH_ACTIVE_SIZE_OFFSET
#define ENHANCE_NOISE_THRESHOLD XENH_NOISE_THRESHOLD_OFFSET
#define ENHANCE_ENHANCE_STRENGTH XENH_ENHANCE_STRENGTH_OFFSET
#define ENHANCE_HALO_SUPPRESS XENH_HALO_SUPPRESS_OFFSET
#define ENHANCE_CTL_EN_MASK XENH_CTL_SW_EN_MASK
#define ENHANCE_CTL_RU_MASK XENH_CTL_RUE_MASK
#define ENHANCE_CTL_RESET XENH_CTL_RESET_MASK
#define ENHANCE_CTL_AUTORESET XENH_CTL_AUTORESET_MASK
#define ENHANCE_In32 XEnhance_In32
#define ENHANCE_Out32 XEnhance_Out32
#define ENHANCE_ReadReg XEnhance_ReadReg
#define ENHANCE_WriteReg XEnhance_WriteReg
/*@}*/
/** @name Interrupt Registers
* @{
*/
/**
* Interrupt status register generates a interrupt if the corresponding bits of
* interrupt enable register bits are set.
*/
#define XENH_ISR_OFFSET XENH_STATUS_OFFSET /**< Interrupt Status
* Register */
#define XENH_IER_OFFSET XENH_IRQ_EN_OFFSET /**< Interrupt Enable
* Register corresponds
* to Status bits */
/*@}*/
/***************** Macros (Inline Functions) Definitions *********************/
#define XEnhance_In32 Xil_In32 /**< Enhance Input Operation. */
#define XEnhance_Out32 Xil_Out32 /**< Enhance Output Operation. */
/*****************************************************************************/
/**
*
* This function macro reads the given register.
*
* @param BaseAddress is the base address of the Image Enhancement core.
* @param RegOffset is the register offset of the core (defined at.
* top of this file).
*
* @return The 32-bit value of the register.
*
* @note C-style signature:2
* u32 XEnhance_ReadReg(u32 BaseAddress, u32 RegOffset).
*
******************************************************************************/
#define XEnhance_ReadReg(BaseAddress, RegOffset) \
XEnhance_In32((BaseAddress) + (u32)(RegOffset))
/*****************************************************************************/
/**
*
* This function macro writes the given register.
*
* @param BaseAddress is the base address of the Image Enhancement core.
* @param RegOffset is the register offset of the core (defined
* at top of this file).
* @param Data is the 32-bit value to write to the register.
*
* @return None.
*
* @note C-style signature:
* void XEnhance_WriteReg(u32 BaseAddress, u32 RegOffset,
* u32 Data).
*
******************************************************************************/
#define XEnhance_WriteReg(BaseAddress, RegOffset, Data) \
XEnhance_Out32((BaseAddress) + (u32)(RegOffset), (Data))
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
/************************** Variable Declarations ****************************/
#ifdef __cplusplus
}
#endif
#endif /* End of protection macro */

View file

@ -0,0 +1,208 @@
/******************************************************************************
*
* Copyright (C) 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/*****************************************************************************/
/**
*
* @file xenhance_intr.c
*
* This code contains interrupt related functions of Xilinx Enhance core.
* Please see xenhance.h for more details of the core.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- --- -------- -----------------------------------------------
* 7.0 adk 02/19/14 First release.
* Implemented the following functions
* XEnhance_IntrHandler
* XEnhance_SetCallBack
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xenhance.h"
/************************** Constant Definitions *****************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
/************************** Variable Definitions *****************************/
/************************** Function Definitions *****************************/
/*****************************************************************************/
/**
*
* This function is the interrupt handler for the Enhance driver.
*
* This handler reads the pending interrupt from the IER/ISR, determines the
* source of the interrupts, calls according callbacks, and finally clears the
* interrupts.
*
* The application is responsible for connecting this function to the interrupt
* system. Application beyond this driver is also responsible for providing
* callbacks to handle interrupts and installing the callbacks using
* XEnhance_SetCallBack() during initialization phase.
*
* @param InstancePtr is a pointer to the XEnhance instance that just
* interrupted.
*
* @return None.
*
* @note Interrupt interface should be enabled.
*
******************************************************************************/
void XEnhance_IntrHandler(void *InstancePtr)
{
u32 PendingIntr;
u32 ErrorStatus;
XEnhance *XEnhancePtr = (XEnhance *)((void *)InstancePtr);
/* Verify arguments. */
Xil_AssertVoid(XEnhancePtr != NULL);
Xil_AssertVoid(XEnhancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(XEnhancePtr->Config.HasIntcIf != (u16)0x0);
/* Get pending interrupts. */
PendingIntr = (u32)(XEnhance_IntrGetPending(XEnhancePtr));
/* A Slave Error interrupt has happened. */
if (((PendingIntr) & (XENH_IXR_SE_MASK)) ==
((XENH_IXR_SE_MASK))) {
ErrorStatus = (PendingIntr) & (XENH_IXR_SE_MASK);
XEnhancePtr->ErrCallBack(XEnhancePtr->ErrRef, ErrorStatus);
}
/* A Processing Start has happened. */
if (((PendingIntr) & (XENH_IXR_PROCS_STARTED_MASK)) ==
(XENH_IXR_PROCS_STARTED_MASK)) {
XEnhancePtr->ProcStartCallBack
(XEnhancePtr->ProcStartRef);
}
/* A Frame Done interrupt has happened */
if (((PendingIntr) & (XENH_IXR_EOF_MASK)) ==
(XENH_IXR_EOF_MASK)) {
XEnhancePtr->FrameDoneCallBack
(XEnhancePtr->FrameDoneRef);
}
/* Clear pending interrupt(s). */
XEnhance_IntrClear(XEnhancePtr, PendingIntr);
}
/*****************************************************************************/
/**
*
* This routine installs an asynchronous callback function for the given
* HandlerType:
*
* <pre>
* HandlerType Callback Function Type
* ----------------------- --------------------------------
* XENH_HANDLER_PROCSTART ProcStartCallBack
* XENH_HANDLER_FRAMEDONE FrameDoneCallBack
* XENH_HANDLER_ERROR ErrCallBack
* </pre>
*
* @param InstancePtr is a pointer to the XEnhance instance to be worked
* on.
* @param HandlerType specifies which callback is to be attached.
* @param CallBackFunc is the address of the callback function.
* @param CallBackRef is a user data item that will be passed to the
* callback function when it is invoked.
*
* @return
* - XST_SUCCESS when handler is installed.
* - XST_INVALID_PARAM when HandlerType is invalid.
*
* @note Invoking this function for a handler that already has been
* installed replaces it with the new handler.
*
******************************************************************************/
int XEnhance_SetCallBack(XEnhance *InstancePtr, u32 HandlerType,
void *CallBackFunc, void *CallBackRef)
{
int Status;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->IsReady ==
(u32)(XIL_COMPONENT_IS_READY));
Xil_AssertNonvoid(CallBackFunc != NULL);
Xil_AssertNonvoid(CallBackRef != NULL);
Xil_AssertNonvoid((HandlerType >= (u32)(XENH_HANDLER_PROCSTART)) &&
(HandlerType <= (u32)(XENH_HANDLER_ERROR)));
/* Calls the respective callbacks according to handler type. */
switch (HandlerType) {
case XENH_HANDLER_PROCSTART:
InstancePtr->ProcStartCallBack =
(XEnhance_CallBack)((void *)CallBackFunc);
InstancePtr->ProcStartRef = CallBackRef;
Status = (XST_SUCCESS);
break;
case XENH_HANDLER_FRAMEDONE:
InstancePtr->FrameDoneCallBack =
(XEnhance_CallBack)((void *)CallBackFunc);
InstancePtr->FrameDoneRef = CallBackRef;
Status = (XST_SUCCESS);
break;
case XENH_HANDLER_ERROR:
InstancePtr->ErrCallBack =
(XEnhance_ErrorCallBack)((void *)CallBackFunc);
InstancePtr->ErrRef = CallBackRef;
Status = (XST_SUCCESS);
break;
default:
Status = (XST_INVALID_PARAM);
break;
}
return Status;
}

View file

@ -1,6 +1,6 @@
/******************************************************************************
*
* Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved.
* Copyright (C) 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@ -32,32 +32,80 @@
/*****************************************************************************/
/**
*
* @file enhance.c
* @file xenhance_selftest.c
*
* This is main code of Xilinx Image Enhancement (ENHANCE)
* device driver. Please see enhance.h for more details of the driver.
* This file contains the self-test functions for the Enhance driver.
* The self test function reads the Version register.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 5.00a vyc 06/19/13 Updated for ENHANCE V8.0
* 4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a
* 3.00a rc 09/11/11 Updated for ENHANCE V3.0
* 2.00a vc 12/14/10 Updated for ENHANCE V2.0
* ----- ---- -------- -----------------------------------------------
* 7.0 adk 19/02/14 First Release.
* Implemented the following function
* XEnhance_SelfTest
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "enhance.h"
#include "xenv.h"
#include "xenhance.h"
#include "xstatus.h"
/************************** Constant Definitions *****************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
/************************** Variable Definitions *****************************/
/************************** Function Definitions *****************************/
/*****************************************************************************/
// Note: All functions are currently implemented as high-performance macros
// within enhance.h
/*****************************************************************************/
/**
*
* This function reads complete Version register of Enhance core and compares
* with zero values as part of self test.
*
* @param InstancePtr is a pointer to the XEnhance instance to be worked
* on.
*
* @return
* - XST_SUCCESS if the test was successful.
* - XST_FAILURE if the test failed.
*
* @note None.
*
******************************************************************************/
int XEnhance_SelfTest(XEnhance *InstancePtr)
{
u32 Version;
int Status;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
/* Read Enhance core version register. */
Version = XEnhance_ReadReg((InstancePtr)->Config.BaseAddress,
(XENH_VERSION_OFFSET));
/* Compare Version with non-zero */
if(Version != (u32)0x00) {
Status = (XST_SUCCESS);
}
else {
Status = (XST_FAILURE);
}
return Status;
}

View file

@ -0,0 +1,110 @@
/******************************************************************************
*
* Copyright (C) 2014 Xilinx, Inc. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* Use of the Software is limited solely to applications:
* (a) running on a Xilinx device, or
* (b) that interact with a Xilinx device through a bus or interconnect.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* XILINX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Xilinx shall not be used
* in advertising or otherwise to promote the sale, use or other dealings in
* this Software without prior written authorization from Xilinx.
*
******************************************************************************/
/*****************************************************************************/
/**
*
* @file xenhance_sinit.c
*
* This file contains static initialization methods for Xilinx Enhance core.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- ------------------------------------------------------
* 7.0 adk 02/19/14 First release.
* Implemented the following function
* XEnhance_LookupConfig
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xenhance.h"
#include "xparameters.h"
/************************** Constant Definitions *****************************/
/**************************** Type Definitions *******************************/
/***************** Macros (Inline Functions) Definitions *********************/
/************************** Function Prototypes ******************************/
/************************** Variable Declaration *****************************/
/************************** Function Definitions *****************************/
/*****************************************************************************/
/**
*
* This function returns a reference to an XEnhance_Config structure
* based on the unique device id, <i>DeviceId</i>. The return value will refer
* to an entry in the device configuration table defined in the xenhance_g.c.
* file.
*
* @param DeviceId is the unique device ID of the device for the lookup
* operation.
*
* @return XEnhance_LookupConfig returns a reference to a config record in
* the configuration table (in xenhance_g.c) corresponding to
* <i>DeviceId</i>, or NULL if no match is found.
*
* @note None.
*
******************************************************************************/
XEnhance_Config *XEnhance_LookupConfig(u16 DeviceId)
{
extern XEnhance_Config
XEnhance_ConfigTable[XPAR_ENHANCE_NUM_INSTANCES];
XEnhance_Config *CfgPtr = NULL;
u32 Index;
/* To get the reference pointer to XEnhance_Config structure */
for (Index = (u32)0x0; Index < (u32)(XPAR_ENHANCE_NUM_INSTANCES);
Index++) {
/* Compare device Id with configTable's device Id */
if (XEnhance_ConfigTable[Index].DeviceId == DeviceId) {
CfgPtr = &XEnhance_ConfigTable[Index];
break;
}
}
return (XEnhance_Config *)CfgPtr;
}