deinterlacer: Added driver source files in deinterlacer driver

Modified the following:
	deinterlacer/src/
	deinterlacer/data/
	deinterlacer/doc/
Added the following:
	deinterlacer/examples/

Signed-off-by: Shravan Kumar A <skumara@xilinx.com>
Acked-by: Srikanth Vemula <svemula@xilinx.com>
This commit is contained in:
Shravan Kumar A 2014-07-15 18:12:32 +05:30 committed by Jagannadha Sutradharudu Teki
parent 28e65b5420
commit 4753d078fd
34 changed files with 5245 additions and 2898 deletions

View file

@ -1,9 +1,9 @@
###############################################################################
##############################################################################
#
# Copyright (C) 2008 - 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,8 +27,8 @@
# 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.
#
###############################################################################
OPTION psf_version = 2.1;
BEGIN driver deinterlacer

View file

@ -1,9 +1,9 @@
###############################################################################
##############################################################################
#
# Copyright (C) 2011 - 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,20 +27,13 @@
# 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.
#
###############################################################################
#
# Modification History
# Ver Who Date Changes
# -------- ------ -------- ----------------------------------------------------
# 3.0 adk 10/12/13 Updated as per the New Tcl API's
#################################################################################
#uses "xillib.tcl"
proc generate {drv_handle} {
xdefine_include_file $drv_handle "xparameters.h" "XDEINT" "NUM_INSTANCES" "DEVICE_ID" "C_DIAG" "C_MOTION" "C_DEPTH" "C_STREAMS" "C_TRIPLE_PORT" "C_MAX_XSIZE" "C_BASEADDR" "C_HIGHADDR"
xdefine_include_file $drv_handle "xparameters.h" "XDEINT" "NUM_INSTANCES" "DEVICE_ID" "C_DIAG" "C_MOTION" "C_DEPTH" "C_STREAMS" "C_TRIPLE_PORT" "C_MAX_XSIZE" "C_BASEADDR" "C_HIGHADDR" "XDeint" "DEVICE_ID" "C_BASEADDR"
xdefine_config_file $drv_handle "xdeint_g.c" "XDeint" "DEVICE_ID" "C_BASEADDR"
xdefine_canonical_xpars $drv_handle "xparameters.h" "Deinterlacer" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR"
xdefine_canonical_xpars $drv_handle "xparameters.h" "Deinterlacer" "DEVICE_ID" "C_BASEADDR" "C_HIGHADDR" "XDeint" "DEVICE_ID" "C_BASEADDR"
}

View file

@ -9,7 +9,7 @@
<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>

View file

@ -9,7 +9,7 @@
<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>
@ -21,12 +21,14 @@
<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 documented files with brief descriptions:<table>
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="xdeint_8c.html">xdeint.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint_8h.html">xdeint.h</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint__g_8c.html">xdeint_g.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint__hw_8h.html">xdeint_hw.h</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint__i_8h.html">xdeint_i.h</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint__intr_8c.html">xdeint_intr.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint__selftest_8c.html">xdeint_selftest.c</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xdeint__sinit_8c.html">xdeint_sinit.c</a></td><td class="indexvalue"></td></tr>
</table>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -27,15 +27,16 @@
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
Here is a list of all documented class members with links to the class documentation for each member:
Here is a list of all class members with links to the classes they belong to:
<p>
<ul>
<li>BaseAddress
: <a class="el" href="struct_x_deint___config.html#2fac08c24c8373333b9f2a62008c62f3">XDeint_Config</a><li>Config
: <a class="el" href="struct_x_deint.html#fa535ffb25e1fd20341652f9be21e06e">XDeint</a><li>DeviceId
: <a class="el" href="struct_x_deint___config.html#d0263c6cf0769cabc86cfe88226d204b">XDeint_Config</a><li>IntCallBack
: <a class="el" href="struct_x_deint.html#d0cbfaf7c5a75e55a7960a670476babd">XDeint</a><li>IsReady
: <a class="el" href="struct_x_deint.html#217c41df00b2eee11e1009f5e63905ed">XDeint</a><li>xsize
: <a class="el" href="struct_x_deint.html#4dfb6a3deca28b66a24577fbb4849a41">XDeint</a><li>ysize
: <a class="el" href="struct_x_deint.html#f879fab3cb1540ad7c1e79830445272e">XDeint</a></ul>
: <a class="el" href="struct_x_deint___config.html#a73c277aabb2c67f122dbd231f2b4c9f">XDeint_Config</a><li>Config
: <a class="el" href="struct_x_deint.html#d8300740b9d5ae354ae5cb5a60791871">XDeint</a><li>DeviceId
: <a class="el" href="struct_x_deint___config.html#3bbb266445bc4b42d4deedb5cf0b8bb7">XDeint_Config</a><li>IntCallBack
: <a class="el" href="struct_x_deint.html#0d47f6d9806ff75df2d975b7a69376c2">XDeint</a><li>IntRef
: <a class="el" href="struct_x_deint.html#1db55474454cbc0c13921b44d12b9d68">XDeint</a><li>IsReady
: <a class="el" href="struct_x_deint.html#a2182f326d52b2644f7daf5d3fa7cc39">XDeint</a><li>XSize
: <a class="el" href="struct_x_deint.html#e36414e35e3b99ad1edbf7c472e87cb0">XDeint</a><li>YSize
: <a class="el" href="struct_x_deint.html#289d4ffaaea1bb6003a32c4e1f8d0fda">XDeint</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -31,11 +31,12 @@
<p>
<ul>
<li>BaseAddress
: <a class="el" href="struct_x_deint___config.html#2fac08c24c8373333b9f2a62008c62f3">XDeint_Config</a><li>Config
: <a class="el" href="struct_x_deint.html#fa535ffb25e1fd20341652f9be21e06e">XDeint</a><li>DeviceId
: <a class="el" href="struct_x_deint___config.html#d0263c6cf0769cabc86cfe88226d204b">XDeint_Config</a><li>IntCallBack
: <a class="el" href="struct_x_deint.html#d0cbfaf7c5a75e55a7960a670476babd">XDeint</a><li>IsReady
: <a class="el" href="struct_x_deint.html#217c41df00b2eee11e1009f5e63905ed">XDeint</a><li>xsize
: <a class="el" href="struct_x_deint.html#4dfb6a3deca28b66a24577fbb4849a41">XDeint</a><li>ysize
: <a class="el" href="struct_x_deint.html#f879fab3cb1540ad7c1e79830445272e">XDeint</a></ul>
: <a class="el" href="struct_x_deint___config.html#a73c277aabb2c67f122dbd231f2b4c9f">XDeint_Config</a><li>Config
: <a class="el" href="struct_x_deint.html#d8300740b9d5ae354ae5cb5a60791871">XDeint</a><li>DeviceId
: <a class="el" href="struct_x_deint___config.html#3bbb266445bc4b42d4deedb5cf0b8bb7">XDeint_Config</a><li>IntCallBack
: <a class="el" href="struct_x_deint.html#0d47f6d9806ff75df2d975b7a69376c2">XDeint</a><li>IntRef
: <a class="el" href="struct_x_deint.html#1db55474454cbc0c13921b44d12b9d68">XDeint</a><li>IsReady
: <a class="el" href="struct_x_deint.html#a2182f326d52b2644f7daf5d3fa7cc39">XDeint</a><li>XSize
: <a class="el" href="struct_x_deint.html#e36414e35e3b99ad1edbf7c472e87cb0">XDeint</a><li>YSize
: <a class="el" href="struct_x_deint.html#289d4ffaaea1bb6003a32c4e1f8d0fda">XDeint</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -26,6 +26,7 @@
<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_defs.html"><span>Defines</span></a></li>
</ul>
</div>
@ -36,89 +37,141 @@
</div>
<p>
Here is a list of all documented file members with links to the documentation:
Here is a list of all file members with links to the files they belong to:
<p>
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
<li>XDeint_ConfigInitialize()
: <a class="el" href="xdeint_8c.html#243608553ecfe4c9503a7a164200a9a9">xdeint.c</a><li>XDeint_ConfigTable
: <a class="el" href="xdeint__g_8c.html#d25d416dfb1120327945127c03b46e7a">xdeint_g.c</a><li>XDEINT_CONTROL
: <a class="el" href="xdeint__hw_8h.html#fa600f997ceca5a878386027e8faa9d3">xdeint_hw.h</a><li>XDEINT_CTL_ACCEPT_VIDEO
: <a class="el" href="xdeint__hw_8h.html#c5da414c73b495cd07c28f3121b0b150">xdeint_hw.h</a><li>XDEINT_CTL_ENABLE
: <a class="el" href="xdeint__hw_8h.html#9525420eac86733892be7e41abd7c300">xdeint_hw.h</a><li>XDEINT_CTL_UPDATE_REQ
: <a class="el" href="xdeint__hw_8h.html#561c0a1f4f19a62f5ea83f2442e1c2cb">xdeint_hw.h</a><li>XDEINT_FS_BASE0
: <a class="el" href="xdeint__hw_8h.html#087f0f9a477b7744995d24ed0cf7958a">xdeint_hw.h</a><li>XDEINT_FS_BASE1
: <a class="el" href="xdeint__hw_8h.html#0d00de343f9168b3eeaed9ca965b5699">xdeint_hw.h</a><li>XDEINT_FS_BASE2
: <a class="el" href="xdeint__hw_8h.html#2d25fd23d80ba4899c43351ab03fe490">xdeint_hw.h</a><li>XDEINT_FS_WORDS
: <a class="el" href="xdeint__hw_8h.html#6c0f24844bc8a66701e701deddd9c51e">xdeint_hw.h</a><li>XDeint_GetVersion()
: <a class="el" href="xdeint_8c.html#b91d89518f4234a53ef3c0ee6f3ccac9">xdeint.c</a><li>XDEINT_HEIGHT
: <a class="el" href="xdeint__hw_8h.html#2061f1dde1944039bfd701d3841e2279">xdeint_hw.h</a><li>XDEINT_IER
: <a class="el" href="xdeint__hw_8h.html#90b61c0927c19b3c2b9e257cf5b3cc5e">xdeint_hw.h</a><li>XDeint_IntrHandler()
: <a class="el" href="xdeint__intr_8c.html#257d3634435a8e29cad1e546623dcd1b">xdeint_intr.c</a><li>XDEINT_ISR
: <a class="el" href="xdeint__hw_8h.html#f163c90943a7919e8fb6fa53679f9548">xdeint_hw.h</a><li>XDEINT_IXR_ALLINTR_MASK
: <a class="el" href="xdeint__hw_8h.html#8d23ff5e2b35153997cdaf28091a172b">xdeint_hw.h</a><li>XDEINT_IXR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#732334b02b97b9fae1f7a384b48c1a02">xdeint_hw.h</a><li>XDEINT_IXR_FRAME_MASK
: <a class="el" href="xdeint__hw_8h.html#1031ca7258ec8add34d174c21dd964c5">xdeint_hw.h</a><li>XDEINT_IXR_FS_CFG_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#e4b4bbd293539f7f91fbfc5bdf9d984f">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FIELD_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#0e0cc6992399da9fb465c6ed00f886a4">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FRAME_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#3d1ede59a9d47632919c7af91d8e0094">xdeint_hw.h</a><li>XDEINT_IXR_FS_WR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#43b89c20e39e667b3c0a46160b2cddc2">xdeint_hw.h</a><li>XDEINT_IXR_LOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#26bd287fd531dc0c2f2851186dfa52c6">xdeint_hw.h</a><li>XDEINT_IXR_PULL_OFF_MASK
: <a class="el" href="xdeint__hw_8h.html#69d0c81831cb71c0d460c7667ed49333">xdeint_hw.h</a><li>XDEINT_IXR_PULL_ON_MASK
: <a class="el" href="xdeint__hw_8h.html#3aec4ac218f9f7276b62e7f3c169224a">xdeint_hw.h</a><li>XDEINT_IXR_UNLOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#a6115e555e09af781f05d0faab6ad596">xdeint_hw.h</a><li>XDEINT_IXR_UPDATE_MASK
: <a class="el" href="xdeint__hw_8h.html#ca4be06b053e84ce04cca3e2796df4ed">xdeint_hw.h</a><li>XDeint_LookupConfig()
: <a class="el" href="xdeint__sinit_8c.html#53fb9d6bb5d44204d86866de7dd8f406">xdeint_sinit.c</a><li>XDEINT_MODE
: <a class="el" href="xdeint__hw_8h.html#7d96562ba7c86ce73b87b5b15b5aae97">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_0
: <a class="el" href="xdeint__hw_8h.html#449cf34e8bd98d2551b44f03833a68a1">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_1
: <a class="el" href="xdeint__hw_8h.html#2065b15269b45afaad9e0f5a9b7a6f98">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_DIAG
: <a class="el" href="xdeint__hw_8h.html#d3a342cb7c01fbef8e20e0875d2c03d1">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_FULL
: <a class="el" href="xdeint__hw_8h.html#499a36e763a3fb9ceeceadea379a0299">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MASK
: <a class="el" href="xdeint__hw_8h.html#7fe8c39fa036e5d3daae28bebf88cd91">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MOTION
: <a class="el" href="xdeint__hw_8h.html#7e221c78d9ec5439aa793bb1b8d28f7f">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_RAW
: <a class="el" href="xdeint__hw_8h.html#8cd38792da17128a5d4cbee7753be0fe">xdeint_hw.h</a><li>XDEINT_MODE_COL
: <a class="el" href="xdeint__hw_8h.html#f561a5f445572ff9c1e29282d9708899">xdeint_hw.h</a><li>XDEINT_MODE_COL_MASK
: <a class="el" href="xdeint__hw_8h.html#c0dfcc82ada101c728d7d27e9e9878f0">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_RGB
: <a class="el" href="xdeint__hw_8h.html#c31b55cfdd6728bc311a80b9f8a35af7">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_YUV
: <a class="el" href="xdeint__hw_8h.html#561fa2cef34c4554cfaaa8ca5e59fc7a">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_EVEN_FIRST
: <a class="el" href="xdeint__hw_8h.html#e8c7c831e78ac4da180d9d92db043e96">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ODD_FIRST
: <a class="el" href="xdeint__hw_8h.html#3c7c71a95f3d89a4b8e55659e937baa7">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER
: <a class="el" href="xdeint__hw_8h.html#c0744424cb369912cffd2fcfd009ae8d">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER_MASK
: <a class="el" href="xdeint__hw_8h.html#2a5e65d12da736a4270f5bcc460f1de0">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_0
: <a class="el" href="xdeint__hw_8h.html#1e3a2f5f7d537eabf495bf4aa5db182d">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_1
: <a class="el" href="xdeint__hw_8h.html#f0858b54c68ecc33c322540658c5d5ab">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_420
: <a class="el" href="xdeint__hw_8h.html#1b45105eb3aed73edd2bc7091733762d">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_422
: <a class="el" href="xdeint__hw_8h.html#0c7cb9e991e9f8867b835c7536546844">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_444
: <a class="el" href="xdeint__hw_8h.html#b39af7065efb1cca40e50cfc55f2e812">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_MASK
: <a class="el" href="xdeint__hw_8h.html#d6307fc417eee554c8ada31b2544370d">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE
: <a class="el" href="xdeint__hw_8h.html#7bf07ac5c93016e31a262fd166b39c8c">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#97dfec420ea78d9b536c2788879d1174">xdeint_hw.h</a><li>XDEINT_MODE_PULL_22_ENABLE
: <a class="el" href="xdeint__hw_8h.html#c6fe2951b6ea33b6e68469839e82a089">xdeint_hw.h</a><li>XDEINT_MODE_PULL_32_ENABLE
: <a class="el" href="xdeint__hw_8h.html#fbd22e98b145029980d7a7ce6c5df2f4">xdeint_hw.h</a><li>XDEINT_MODE_PULL_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#ca5abed72a2b7019c84e806596106c15">xdeint_hw.h</a><li>XDeint_ReadReg
: <a class="el" href="xdeint__hw_8h.html#557ab91296551c85ed457f2bec286768">xdeint_hw.h</a><li>XDEINT_RESET
: <a class="el" href="xdeint__hw_8h.html#b81ae4634764b337a7188730ffd5ea48">xdeint_hw.h</a><li>XDEINT_RESET_RESET_MASK
: <a class="el" href="xdeint__hw_8h.html#7d621f55e9f877d9307adcfa75bd010c">xdeint_hw.h</a><li>XDeint_SetCallBack()
: <a class="el" href="xdeint__intr_8c.html#d1ddc0586249fbf95ff83aa38f4205ca">xdeint_intr.c</a><li>XDeint_SetFramestore()
: <a class="el" href="xdeint_8c.html#9d91e01b0f333c0d0d60bf909de7250c">xdeint.c</a><li>XDeint_SetPulldown()
: <a class="el" href="xdeint_8c.html#d6bc359152618e313022022aa22bbe33">xdeint.c</a><li>XDeint_SetSize()
: <a class="el" href="xdeint_8c.html#8eb9c691b2bbc3413d6a84db98b39562">xdeint.c</a><li>XDeint_SetThresholds()
: <a class="el" href="xdeint_8c.html#c592375c48b72516dfb21183c91dcf50">xdeint.c</a><li>XDeint_SetVideo()
: <a class="el" href="xdeint_8c.html#d55eb5ed2114d03ef7dbcdf35a3e2422">xdeint.c</a><li>XDEINT_STS_ERROR
: <a class="el" href="xdeint__hw_8h.html#758fb0c611c9802b25e195975900fea4">xdeint_hw.h</a><li>XDEINT_STS_FS_CFG_ERROR
: <a class="el" href="xdeint__hw_8h.html#61d184420aba645aec0cf924d532f58c">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FIELD_ERROR
: <a class="el" href="xdeint__hw_8h.html#07e19f3e071496dd10d9ef97bf7987dc">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FRAME_ERROR
: <a class="el" href="xdeint__hw_8h.html#c37e28907ce2233fc0a49ffdea507224">xdeint_hw.h</a><li>XDEINT_STS_FS_WR_ERROR
: <a class="el" href="xdeint__hw_8h.html#659e2c14b272a1c6dca2ce2f27d88020">xdeint_hw.h</a><li>XDEINT_T1
: <a class="el" href="xdeint__hw_8h.html#43aa3002216ae4adff5ff56a5cc2c1d8">xdeint_hw.h</a><li>XDEINT_T2
: <a class="el" href="xdeint__hw_8h.html#0aadca480adfa6601d4f0e8df858173b">xdeint_hw.h</a><li>XDEINT_VER
: <a class="el" href="xdeint__hw_8h.html#77ad0df2de3d6555a18aa3ca03850a9d">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_MASK
: <a class="el" href="xdeint__hw_8h.html#809c58d390999fa587cd495b83057652">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#a1c8e00b529d7a9dbe302863bab0f415">xdeint_hw.h</a><li>XDEINT_VER_MINOR_MASK
: <a class="el" href="xdeint__hw_8h.html#d2e1dacc1c931b5bcedd2b4d261b152f">xdeint_hw.h</a><li>XDEINT_VER_MINOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#4e5deca3d17ed41f3153a1230f4c789a">xdeint_hw.h</a><li>XDEINT_VER_REV_MASK
: <a class="el" href="xdeint__hw_8h.html#41ca8d34fc42cfff7aabd1e59379d640">xdeint_hw.h</a><li>XDEINT_VER_REV_SHIFT
: <a class="el" href="xdeint__hw_8h.html#2ae07a390affe7f6000cab4641ce1618">xdeint_hw.h</a><li>XDEINT_WIDTH
: <a class="el" href="xdeint__hw_8h.html#f7a34b219491ebfe49c3c9793ee45703">xdeint_hw.h</a><li>XDeint_WriteReg
: <a class="el" href="xdeint__hw_8h.html#08f2a7e9247bedd6b4e5096e65fc4149">xdeint_hw.h</a><li>XDEINT_XFADE
: <a class="el" href="xdeint__hw_8h.html#bea2b3c7f0bbb158be4a9beab6f18e2b">xdeint_hw.h</a></ul>
<li>XDeint_BaseAddr
: <a class="el" href="xdeint__i_8h.html#2c4797aa3b801f16f03efe0b664f5ee6">xdeint_i.h</a><li>XDEINT_BUF_SIZE_MASK
: <a class="el" href="xdeint__hw_8h.html#1f0e7627d30b1b371e6698fb3b955734">xdeint_hw.h</a><li>XDEINT_BUFFER0_OFFSET
: <a class="el" href="xdeint__hw_8h.html#03b4b43cf5dd6dd88be43e4e13cb615b">xdeint_hw.h</a><li>XDEINT_BUFFER1_OFFSET
: <a class="el" href="xdeint__hw_8h.html#f0891e8ed6b7585d3d109a9820762500">xdeint_hw.h</a><li>XDEINT_BUFFER2_OFFSET
: <a class="el" href="xdeint__hw_8h.html#27eff63cc7775797b9bb9bed0ca3f9f4">xdeint_hw.h</a><li>XDEINT_BUFSIZE_OFFSET
: <a class="el" href="xdeint__hw_8h.html#e826d837a1d6581a11ebf642843a4865">xdeint_hw.h</a><li>XDeint_CallBack
: <a class="el" href="xdeint_8h.html#f9b2720adb70346996216eedd884331b">xdeint.h</a><li>XDeint_ConfigInitialize()
: <a class="el" href="xdeint_8h.html#562450dcb5a67c70cd30618ed35b0b89">xdeint.h</a>, <a class="el" href="xdeint_8c.html#562450dcb5a67c70cd30618ed35b0b89">xdeint.c</a><li>XDeint_ConfigTable
: <a class="el" href="xdeint__g_8c.html#dd4ae53d06ff147bfbea5bbd5dc47535">xdeint_g.c</a><li>XDEINT_CONTROL
: <a class="el" href="xdeint__hw_8h.html#e275b65df47de2b7886fa43a9927f1ed">xdeint_hw.h</a><li>XDEINT_CONTROL_OFFSET
: <a class="el" href="xdeint__hw_8h.html#c1ed7f9d3612ffd5b46f3863492685a2">xdeint_hw.h</a><li>XDEINT_CTL_ACCEPT_VIDEO
: <a class="el" href="xdeint__hw_8h.html#a763670c10570636c02528de7429f574">xdeint_hw.h</a><li>XDEINT_CTL_ENABLE
: <a class="el" href="xdeint__hw_8h.html#dde645c3d0bb6ae9a36b8f55c6091dd5">xdeint_hw.h</a><li>XDEINT_CTL_UPDATE_REQ
: <a class="el" href="xdeint__hw_8h.html#7aecb96e60f2b4eba8902e777c7352cf">xdeint_hw.h</a><li>XDeint_Disable
: <a class="el" href="xdeint_8h.html#d47b6be01abed183912ba5b0864cca6b">xdeint.h</a><li>XDeint_Enable
: <a class="el" href="xdeint_8h.html#d23e3952d5cfa1eadf0b7e7789f1611a">xdeint.h</a><li>XDEINT_FADE_RATIO
: <a class="el" href="xdeint__hw_8h.html#f311250d18c006bbb873c9b155aed3bc">xdeint_hw.h</a><li>XDEINT_FS_BASE0
: <a class="el" href="xdeint__hw_8h.html#307b0247144deec0c7dcd1d7e13fab03">xdeint_hw.h</a><li>XDEINT_FS_BASE1
: <a class="el" href="xdeint__hw_8h.html#e7fac2daacb4fde0310141dbf486ce19">xdeint_hw.h</a><li>XDEINT_FS_BASE2
: <a class="el" href="xdeint__hw_8h.html#abf2cf88f79db0ba44278df7098ac8cd">xdeint_hw.h</a><li>XDEINT_FS_WORDS
: <a class="el" href="xdeint__hw_8h.html#5d0932b4b67032fe5976e03c0edbb31e">xdeint_hw.h</a><li>XDeint_GetAlgorithm
: <a class="el" href="xdeint_8h.html#13222434ea8cc458edea70fcccc8695c">xdeint.h</a><li>XDeint_GetColorSpace
: <a class="el" href="xdeint_8h.html#6600d1eb9d04bbd03edf2bfc046545f3">xdeint.h</a><li>XDeint_GetFramestore()
: <a class="el" href="xdeint_8h.html#e28f8648ed173839b966b9df407a076b">xdeint.h</a>, <a class="el" href="xdeint_8c.html#e28f8648ed173839b966b9df407a076b">xdeint.c</a><li>XDeint_GetPulldown()
: <a class="el" href="xdeint_8h.html#82b511cd2e3bb26360c72b74ead50726">xdeint.h</a>, <a class="el" href="xdeint_8c.html#82b511cd2e3bb26360c72b74ead50726">xdeint.c</a><li>XDeint_GetSize()
: <a class="el" href="xdeint_8h.html#0ed756394ef9c0ca54c631b36db6d5fe">xdeint.h</a>, <a class="el" href="xdeint_8c.html#0ed756394ef9c0ca54c631b36db6d5fe">xdeint.c</a><li>XDeint_GetThresholds()
: <a class="el" href="xdeint_8h.html#f409566e046f4607a9ce4c4fb5c9f4f1">xdeint.h</a>, <a class="el" href="xdeint_8c.html#f409566e046f4607a9ce4c4fb5c9f4f1">xdeint.c</a><li>XDeint_GetVersion()
: <a class="el" href="xdeint_8h.html#a2eda3e3fb71295ce16442feacd6d21c">xdeint.h</a>, <a class="el" href="xdeint_8c.html#a2eda3e3fb71295ce16442feacd6d21c">xdeint.c</a><li>XDeint_GetVideo()
: <a class="el" href="xdeint_8h.html#e48c83a75d38a639ad82671eb0e5aaad">xdeint.h</a>, <a class="el" href="xdeint_8c.html#e48c83a75d38a639ad82671eb0e5aaad">xdeint.c</a><li>XDEINT_H
: <a class="el" href="xdeint_8h.html#0f94ffc2a9550517ac7a86c2f1eea549">xdeint.h</a><li>XDEINT_HANDLER
: <a class="el" href="xdeint_8h.html#cdade711ca6e921adddd47d14c98e0ff">xdeint.h</a><li>XDEINT_HEIGHT
: <a class="el" href="xdeint__hw_8h.html#fc69deee4225e46848e3f56b18d3280e">xdeint_hw.h</a><li>XDEINT_HEIGHT_MASK
: <a class="el" href="xdeint__hw_8h.html#4d0ce94e4a8a3d8d51439aa595f46184">xdeint_hw.h</a><li>XDEINT_HEIGHT_OFFSET
: <a class="el" href="xdeint__hw_8h.html#27f62fb932aebb21fbdf5058a918554c">xdeint_hw.h</a><li>XDEINT_HW_H
: <a class="el" href="xdeint__hw_8h.html#7c408caed4ab5bb7e8b1e048bfee4c9d">xdeint_hw.h</a><li>XDEINT_I_H
: <a class="el" href="xdeint__i_8h.html#79f33418fbbd23dbfd3c4f14962297ab">xdeint_i.h</a><li>XDEINT_IER
: <a class="el" href="xdeint__hw_8h.html#97bcf8ebb67f382274c3e63f509e5f26">xdeint_hw.h</a><li>XDEINT_IER_OFFSET
: <a class="el" href="xdeint__hw_8h.html#064dfe4f2be460786dbe3839dc2c5548">xdeint_hw.h</a><li>XDeint_In32
: <a class="el" href="xdeint__hw_8h.html#a67f40d62cbe96a8252c3f4abb51fc41">xdeint_hw.h</a><li>XDeint_InReset
: <a class="el" href="xdeint_8h.html#0a70555bc99a682448f5d2556f34f952">xdeint.h</a><li>XDeint_IntrClear
: <a class="el" href="xdeint_8h.html#20d880fbfda583ccc274e39dcb68f788">xdeint.h</a><li>XDeint_IntrDisable
: <a class="el" href="xdeint_8h.html#28e6dec8e64a1601589f1313205bc9ec">xdeint.h</a><li>XDeint_IntrEnable
: <a class="el" href="xdeint_8h.html#8eeaadefec5aa5e571a48c6f5d5d04e4">xdeint.h</a><li>XDeint_IntrGetPending
: <a class="el" href="xdeint_8h.html#3430a1986f1ea190d8a501ccf8591e8d">xdeint.h</a><li>XDeint_IntrHandler()
: <a class="el" href="xdeint__intr_8c.html#35e293e47eaac7740eef8c4982f1dac5">xdeint_intr.c</a>, <a class="el" href="xdeint_8h.html#35e293e47eaac7740eef8c4982f1dac5">xdeint.h</a><li>XDEINT_ISR
: <a class="el" href="xdeint__hw_8h.html#12af5b0305d20ae7cfe63c87502342dd">xdeint_hw.h</a><li>XDEINT_ISR_OFFSET
: <a class="el" href="xdeint__hw_8h.html#dd2b35c78b464c2e7ae57774ae739a11">xdeint_hw.h</a><li>XDEINT_IXR_ALLINTR_MASK
: <a class="el" href="xdeint__hw_8h.html#f766950c11d76b491d2817e7b71132d5">xdeint_hw.h</a><li>XDEINT_IXR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#71fddd63213cda129c87deeff4f67de3">xdeint_hw.h</a><li>XDEINT_IXR_FRAME_MASK
: <a class="el" href="xdeint__hw_8h.html#ac21041226b933eefb97830536c04979">xdeint_hw.h</a><li>XDEINT_IXR_FS_CFG_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#ec2e908f3e80d7a05d087ad3cae9f264">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FIELD_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#327cc79c8c1173799e690fa4f51fa019">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FRAME_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#ee536a66cf4273b4ff21bf42139f6359">xdeint_hw.h</a><li>XDEINT_IXR_FS_WR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#3c79f5e21410f7d9903111625d3684b0">xdeint_hw.h</a><li>XDEINT_IXR_LOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#269b6d7cf646ed6341d10deeb615a343">xdeint_hw.h</a><li>XDEINT_IXR_PULL_OFF_MASK
: <a class="el" href="xdeint__hw_8h.html#76124dbe618c740b56aaad9d8633c36a">xdeint_hw.h</a><li>XDEINT_IXR_PULL_ON_MASK
: <a class="el" href="xdeint__hw_8h.html#3e3efe4699a7e5a79d86846b7b544d5f">xdeint_hw.h</a><li>XDEINT_IXR_UNLOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#1fa5aa5648c56c8020ec839b81ab49a1">xdeint_hw.h</a><li>XDEINT_IXR_UPDATE_MASK
: <a class="el" href="xdeint__hw_8h.html#c37229e8fdee32ecbfcfd739dab5d90f">xdeint_hw.h</a><li>XDeint_LookupConfig()
: <a class="el" href="xdeint__sinit_8c.html#47a257757977fcd8270e33dd7b776ce5">xdeint_sinit.c</a>, <a class="el" href="xdeint_8h.html#47a257757977fcd8270e33dd7b776ce5">xdeint.h</a><li>XDEINT_MODE
: <a class="el" href="xdeint__hw_8h.html#92dc2e0d6ba4eac4e5b9ed8ada4f31d2">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_0
: <a class="el" href="xdeint__hw_8h.html#c5e49c0c17a405f7d78c79f6ba20758f">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_1
: <a class="el" href="xdeint__hw_8h.html#33ca86d16c3256b669a87897cb1df3ef">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_DIAG
: <a class="el" href="xdeint__hw_8h.html#de7f3eeb1bbc01e07e48a5aec1cb2311">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_FULL
: <a class="el" href="xdeint__hw_8h.html#549230d42749e45992b13dd7b3b4aa91">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MASK
: <a class="el" href="xdeint__hw_8h.html#875bb8fab1e4784e7959605653484c1c">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MOTION
: <a class="el" href="xdeint__hw_8h.html#fc917b2b1f178545b29d5c20cb81a89b">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_RAW
: <a class="el" href="xdeint__hw_8h.html#6404ad7d41d8f173f028d177f029c19d">xdeint_hw.h</a><li>XDEINT_MODE_COL
: <a class="el" href="xdeint__hw_8h.html#4ba135e2728b4eafc68280dae1bd0f7d">xdeint_hw.h</a><li>XDEINT_MODE_COL_MASK
: <a class="el" href="xdeint__hw_8h.html#8942e3986bcf958a43079aff94dbe1d8">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_RGB
: <a class="el" href="xdeint__hw_8h.html#0a3b9c44cc615bd2a23a7bd364f6a2b1">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_YUV
: <a class="el" href="xdeint__hw_8h.html#95dc03a814c7f9ff2800b5949e0e5f05">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_EVEN_FIRST
: <a class="el" href="xdeint__hw_8h.html#b14f2d09f14efe49f2d2e0202ac92191">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ODD_FIRST
: <a class="el" href="xdeint__hw_8h.html#84e7604c46e4134d67cbc6f0c9d3555c">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER
: <a class="el" href="xdeint__hw_8h.html#bf87aa5c51d09565e169d3936ec0b599">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER_MASK
: <a class="el" href="xdeint__hw_8h.html#bd97964d2b7bcf8b8f3f6943fd77f563">xdeint_hw.h</a><li>XDEINT_MODE_OFFSET
: <a class="el" href="xdeint__hw_8h.html#a4ddf97ec440161ec497fbc15a072e59">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_0
: <a class="el" href="xdeint__hw_8h.html#79369e93f8583d04c1858bfc55307b31">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_1
: <a class="el" href="xdeint__hw_8h.html#6741be3faa157ea70eee354313515f3b">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_420
: <a class="el" href="xdeint__hw_8h.html#ffb5d3620ea2d03b0197f85226420419">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_422
: <a class="el" href="xdeint__hw_8h.html#fd22c2f06c5d195d5ea9f741e95cf125">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_444
: <a class="el" href="xdeint__hw_8h.html#339eedc752491301791deb96cb46abde">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_MASK
: <a class="el" href="xdeint__hw_8h.html#8281f8ba0c42c6f8617a5b48ce4041da">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE
: <a class="el" href="xdeint__hw_8h.html#52dc38cf3956f831588b37ccff3eac53">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#20e0ab22b7aa1ae6259a16294bb13ae7">xdeint_hw.h</a><li>XDEINT_MODE_PULL_22_ENABLE
: <a class="el" href="xdeint__hw_8h.html#e42175ad85410f11cdd07cd857de0e43">xdeint_hw.h</a><li>XDEINT_MODE_PULL_22_FIELDP
: <a class="el" href="xdeint__hw_8h.html#80ea288bb53f964b7c6434f5c167c17d">xdeint_hw.h</a><li>XDEINT_MODE_PULL_32_ENABLE
: <a class="el" href="xdeint__hw_8h.html#5e35a5ef46f3dbf93014a8a45e051cc4">xdeint_hw.h</a><li>XDEINT_MODE_PULL_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#476f310f92e808eab36d5ad3e06cd159">xdeint_hw.h</a><li>XDeint_Out32
: <a class="el" href="xdeint__hw_8h.html#36502aea567ea7a6ae91d77b71b0b166">xdeint_hw.h</a><li>XDeint_ReadReg
: <a class="el" href="xdeint__hw_8h.html#23f0a76b05af8e52c359a2330f0785e1">xdeint_hw.h</a><li>XDeint_RegUpdateReq
: <a class="el" href="xdeint_8h.html#faba51a04dc25a72aaa78bc8c7df4b4a">xdeint.h</a><li>XDeint_Reset
: <a class="el" href="xdeint_8h.html#ffc14a0ac60d7d71a47f002adef58f9d">xdeint.h</a><li>XDEINT_RESET
: <a class="el" href="xdeint__hw_8h.html#99ae4e23159267a567a0c64a727489a7">xdeint_hw.h</a><li>XDEINT_RESET_OFFSET
: <a class="el" href="xdeint__hw_8h.html#8535b5f3d0aa09f4283330f3d8fc5b84">xdeint_hw.h</a><li>XDEINT_RESET_RESET_MASK
: <a class="el" href="xdeint__hw_8h.html#29cda40e0d5cccf062e9af72a58af84c">xdeint_hw.h</a><li>XDeint_Selftest()
: <a class="el" href="xdeint__selftest_8c.html#bdd3e7dca675ef8412788196ca486499">xdeint_selftest.c</a>, <a class="el" href="xdeint_8h.html#bdd3e7dca675ef8412788196ca486499">xdeint.h</a><li>XDeint_SetAlgorithm
: <a class="el" href="xdeint_8h.html#0a6b4867ae6811a89594b819b5e7f061">xdeint.h</a><li>XDeint_SetCallBack()
: <a class="el" href="xdeint__intr_8c.html#1530a20a59c6011ec8f01025b35b677f">xdeint_intr.c</a>, <a class="el" href="xdeint_8h.html#1530a20a59c6011ec8f01025b35b677f">xdeint.h</a><li>XDeint_SetFramestore()
: <a class="el" href="xdeint_8h.html#0cc19e03b76102a6a5ef48c7cc802c23">xdeint.h</a>, <a class="el" href="xdeint_8c.html#0cc19e03b76102a6a5ef48c7cc802c23">xdeint.c</a><li>XDeint_SetPulldown()
: <a class="el" href="xdeint_8h.html#b6e090aa6db878614f03d3562903540b">xdeint.h</a>, <a class="el" href="xdeint_8c.html#b6e090aa6db878614f03d3562903540b">xdeint.c</a><li>XDeint_SetRGB
: <a class="el" href="xdeint_8h.html#117cd16ac14429238fd35635d8fd16a5">xdeint.h</a><li>XDeint_SetSize()
: <a class="el" href="xdeint_8h.html#25a0f63a61e1961271d4420b706cfd05">xdeint.h</a>, <a class="el" href="xdeint_8c.html#25a0f63a61e1961271d4420b706cfd05">xdeint.c</a><li>XDeint_SetThresholds()
: <a class="el" href="xdeint_8h.html#df6e56ffc76191be43316a7e6d672715">xdeint.h</a>, <a class="el" href="xdeint_8c.html#df6e56ffc76191be43316a7e6d672715">xdeint.c</a><li>XDeint_SetVideo()
: <a class="el" href="xdeint_8h.html#53df92875612a37ece7657d7b89c6cec">xdeint.h</a>, <a class="el" href="xdeint_8c.html#53df92875612a37ece7657d7b89c6cec">xdeint.c</a><li>XDeint_SetYUV
: <a class="el" href="xdeint_8h.html#e2fa620c5dff23258179ee09ed159d93">xdeint.h</a><li>XDeint_Start
: <a class="el" href="xdeint_8h.html#dedafdef4050931c92e3065c5fa1c100">xdeint.h</a><li>XDeint_Stop
: <a class="el" href="xdeint_8h.html#6fbcbd6df89bd092c1fb8fefd8aadd86">xdeint.h</a><li>XDEINT_STS_ERROR_OFFSET
: <a class="el" href="xdeint__hw_8h.html#35603928f0e39d24577f5093dc2ae390">xdeint_hw.h</a><li>XDEINT_STS_FS_CFG_ERROR
: <a class="el" href="xdeint__hw_8h.html#1eb13201c639f72548d789bc0482efab">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FIELD_ERROR
: <a class="el" href="xdeint__hw_8h.html#428f4b9198e7290072a02ba136780dec">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FRAME_ERROR
: <a class="el" href="xdeint__hw_8h.html#025d2faf550c2294aa9c3fa46ffc31c1">xdeint_hw.h</a><li>XDEINT_STS_FS_WR_ERROR
: <a class="el" href="xdeint__hw_8h.html#97a0c75624e77861689e6fdd3da09fd4">xdeint_hw.h</a><li>XDEINT_T1
: <a class="el" href="xdeint__hw_8h.html#1565266126bbbb03babbc5a10ffce5eb">xdeint_hw.h</a><li>XDEINT_T2
: <a class="el" href="xdeint__hw_8h.html#776952e57f6a20b110405e5e3b7fb9eb">xdeint_hw.h</a><li>XDEINT_THRESH1_OFFSET
: <a class="el" href="xdeint__hw_8h.html#82db1498e108a0bbc6e87abd3325733a">xdeint_hw.h</a><li>XDEINT_THRESH2_OFFSET
: <a class="el" href="xdeint__hw_8h.html#a8d89f7a0a5ea277d716889b07566352">xdeint_hw.h</a><li>XDEINT_THRESHOLD_MASK
: <a class="el" href="xdeint__hw_8h.html#8ad3a6fb25d6f8ded82b5715052f05fa">xdeint_hw.h</a><li>XDEINT_VER
: <a class="el" href="xdeint__hw_8h.html#12f7f849ed0fcc10913f9b490216bc76">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_MASK
: <a class="el" href="xdeint__hw_8h.html#2d2bb014d89e424d8d75e6517fc22e65">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#242adae9cf3d19d888a7dba37825101f">xdeint_hw.h</a><li>XDEINT_VER_MINOR_MASK
: <a class="el" href="xdeint__hw_8h.html#d642c1f4a5c822380bd42fdccff84609">xdeint_hw.h</a><li>XDEINT_VER_MINOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#eb1fa591fc484a947fa092a6e4122df3">xdeint_hw.h</a><li>XDEINT_VER_OFFSET
: <a class="el" href="xdeint__hw_8h.html#dded5649976055301bc2e0a605d98bdb">xdeint_hw.h</a><li>XDEINT_VER_REV_MASK
: <a class="el" href="xdeint__hw_8h.html#8aa0a0ec0e047c6b7d4c37d62c870117">xdeint_hw.h</a><li>XDEINT_VER_REV_SHIFT
: <a class="el" href="xdeint__hw_8h.html#a31330b609238ea48a7525c7a82c4683">xdeint_hw.h</a><li>XDEINT_WIDTH
: <a class="el" href="xdeint__hw_8h.html#cd26af5551ae897117b1c5f3a94d840f">xdeint_hw.h</a><li>XDEINT_WIDTH_MASK
: <a class="el" href="xdeint__hw_8h.html#97ab1565380047180d0c021d4e519003">xdeint_hw.h</a><li>XDEINT_WIDTH_OFFSET
: <a class="el" href="xdeint__hw_8h.html#e3af3ed13b380412a51b23f3b157a9ca">xdeint_hw.h</a><li>XDeint_WriteReg
: <a class="el" href="xdeint__hw_8h.html#8fcf5f5163b0b7e0e2bdf9a2aa3a63df">xdeint_hw.h</a><li>XDEINT_XFADE
: <a class="el" href="xdeint__hw_8h.html#e1f8d8805fcba87188295497f9ccd8be">xdeint_hw.h</a><li>XDEINT_XFADE_MASK
: <a class="el" href="xdeint__hw_8h.html#107bd28b6dd718124d16fc88ed3f242a">xdeint_hw.h</a><li>XDEINT_XFADE_OFFSET
: <a class="el" href="xdeint__hw_8h.html#0275871cb0e91d0aa3f4672bc36cb60d">xdeint_hw.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -26,6 +26,7 @@
<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_defs.html"><span>Defines</span></a></li>
</ul>
</div>
@ -39,75 +40,120 @@
&nbsp;
<p>
<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
<li>XDEINT_CONTROL
: <a class="el" href="xdeint__hw_8h.html#fa600f997ceca5a878386027e8faa9d3">xdeint_hw.h</a><li>XDEINT_CTL_ACCEPT_VIDEO
: <a class="el" href="xdeint__hw_8h.html#c5da414c73b495cd07c28f3121b0b150">xdeint_hw.h</a><li>XDEINT_CTL_ENABLE
: <a class="el" href="xdeint__hw_8h.html#9525420eac86733892be7e41abd7c300">xdeint_hw.h</a><li>XDEINT_CTL_UPDATE_REQ
: <a class="el" href="xdeint__hw_8h.html#561c0a1f4f19a62f5ea83f2442e1c2cb">xdeint_hw.h</a><li>XDEINT_FS_BASE0
: <a class="el" href="xdeint__hw_8h.html#087f0f9a477b7744995d24ed0cf7958a">xdeint_hw.h</a><li>XDEINT_FS_BASE1
: <a class="el" href="xdeint__hw_8h.html#0d00de343f9168b3eeaed9ca965b5699">xdeint_hw.h</a><li>XDEINT_FS_BASE2
: <a class="el" href="xdeint__hw_8h.html#2d25fd23d80ba4899c43351ab03fe490">xdeint_hw.h</a><li>XDEINT_FS_WORDS
: <a class="el" href="xdeint__hw_8h.html#6c0f24844bc8a66701e701deddd9c51e">xdeint_hw.h</a><li>XDEINT_HEIGHT
: <a class="el" href="xdeint__hw_8h.html#2061f1dde1944039bfd701d3841e2279">xdeint_hw.h</a><li>XDEINT_IER
: <a class="el" href="xdeint__hw_8h.html#90b61c0927c19b3c2b9e257cf5b3cc5e">xdeint_hw.h</a><li>XDEINT_ISR
: <a class="el" href="xdeint__hw_8h.html#f163c90943a7919e8fb6fa53679f9548">xdeint_hw.h</a><li>XDEINT_IXR_ALLINTR_MASK
: <a class="el" href="xdeint__hw_8h.html#8d23ff5e2b35153997cdaf28091a172b">xdeint_hw.h</a><li>XDEINT_IXR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#732334b02b97b9fae1f7a384b48c1a02">xdeint_hw.h</a><li>XDEINT_IXR_FRAME_MASK
: <a class="el" href="xdeint__hw_8h.html#1031ca7258ec8add34d174c21dd964c5">xdeint_hw.h</a><li>XDEINT_IXR_FS_CFG_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#e4b4bbd293539f7f91fbfc5bdf9d984f">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FIELD_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#0e0cc6992399da9fb465c6ed00f886a4">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FRAME_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#3d1ede59a9d47632919c7af91d8e0094">xdeint_hw.h</a><li>XDEINT_IXR_FS_WR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#43b89c20e39e667b3c0a46160b2cddc2">xdeint_hw.h</a><li>XDEINT_IXR_LOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#26bd287fd531dc0c2f2851186dfa52c6">xdeint_hw.h</a><li>XDEINT_IXR_PULL_OFF_MASK
: <a class="el" href="xdeint__hw_8h.html#69d0c81831cb71c0d460c7667ed49333">xdeint_hw.h</a><li>XDEINT_IXR_PULL_ON_MASK
: <a class="el" href="xdeint__hw_8h.html#3aec4ac218f9f7276b62e7f3c169224a">xdeint_hw.h</a><li>XDEINT_IXR_UNLOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#a6115e555e09af781f05d0faab6ad596">xdeint_hw.h</a><li>XDEINT_IXR_UPDATE_MASK
: <a class="el" href="xdeint__hw_8h.html#ca4be06b053e84ce04cca3e2796df4ed">xdeint_hw.h</a><li>XDEINT_MODE
: <a class="el" href="xdeint__hw_8h.html#7d96562ba7c86ce73b87b5b15b5aae97">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_0
: <a class="el" href="xdeint__hw_8h.html#449cf34e8bd98d2551b44f03833a68a1">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_1
: <a class="el" href="xdeint__hw_8h.html#2065b15269b45afaad9e0f5a9b7a6f98">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_DIAG
: <a class="el" href="xdeint__hw_8h.html#d3a342cb7c01fbef8e20e0875d2c03d1">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_FULL
: <a class="el" href="xdeint__hw_8h.html#499a36e763a3fb9ceeceadea379a0299">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MASK
: <a class="el" href="xdeint__hw_8h.html#7fe8c39fa036e5d3daae28bebf88cd91">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MOTION
: <a class="el" href="xdeint__hw_8h.html#7e221c78d9ec5439aa793bb1b8d28f7f">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_RAW
: <a class="el" href="xdeint__hw_8h.html#8cd38792da17128a5d4cbee7753be0fe">xdeint_hw.h</a><li>XDEINT_MODE_COL
: <a class="el" href="xdeint__hw_8h.html#f561a5f445572ff9c1e29282d9708899">xdeint_hw.h</a><li>XDEINT_MODE_COL_MASK
: <a class="el" href="xdeint__hw_8h.html#c0dfcc82ada101c728d7d27e9e9878f0">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_RGB
: <a class="el" href="xdeint__hw_8h.html#c31b55cfdd6728bc311a80b9f8a35af7">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_YUV
: <a class="el" href="xdeint__hw_8h.html#561fa2cef34c4554cfaaa8ca5e59fc7a">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_EVEN_FIRST
: <a class="el" href="xdeint__hw_8h.html#e8c7c831e78ac4da180d9d92db043e96">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ODD_FIRST
: <a class="el" href="xdeint__hw_8h.html#3c7c71a95f3d89a4b8e55659e937baa7">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER
: <a class="el" href="xdeint__hw_8h.html#c0744424cb369912cffd2fcfd009ae8d">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER_MASK
: <a class="el" href="xdeint__hw_8h.html#2a5e65d12da736a4270f5bcc460f1de0">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_0
: <a class="el" href="xdeint__hw_8h.html#1e3a2f5f7d537eabf495bf4aa5db182d">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_1
: <a class="el" href="xdeint__hw_8h.html#f0858b54c68ecc33c322540658c5d5ab">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_420
: <a class="el" href="xdeint__hw_8h.html#1b45105eb3aed73edd2bc7091733762d">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_422
: <a class="el" href="xdeint__hw_8h.html#0c7cb9e991e9f8867b835c7536546844">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_444
: <a class="el" href="xdeint__hw_8h.html#b39af7065efb1cca40e50cfc55f2e812">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_MASK
: <a class="el" href="xdeint__hw_8h.html#d6307fc417eee554c8ada31b2544370d">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE
: <a class="el" href="xdeint__hw_8h.html#7bf07ac5c93016e31a262fd166b39c8c">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#97dfec420ea78d9b536c2788879d1174">xdeint_hw.h</a><li>XDEINT_MODE_PULL_22_ENABLE
: <a class="el" href="xdeint__hw_8h.html#c6fe2951b6ea33b6e68469839e82a089">xdeint_hw.h</a><li>XDEINT_MODE_PULL_32_ENABLE
: <a class="el" href="xdeint__hw_8h.html#fbd22e98b145029980d7a7ce6c5df2f4">xdeint_hw.h</a><li>XDEINT_MODE_PULL_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#ca5abed72a2b7019c84e806596106c15">xdeint_hw.h</a><li>XDeint_ReadReg
: <a class="el" href="xdeint__hw_8h.html#557ab91296551c85ed457f2bec286768">xdeint_hw.h</a><li>XDEINT_RESET
: <a class="el" href="xdeint__hw_8h.html#b81ae4634764b337a7188730ffd5ea48">xdeint_hw.h</a><li>XDEINT_RESET_RESET_MASK
: <a class="el" href="xdeint__hw_8h.html#7d621f55e9f877d9307adcfa75bd010c">xdeint_hw.h</a><li>XDEINT_STS_ERROR
: <a class="el" href="xdeint__hw_8h.html#758fb0c611c9802b25e195975900fea4">xdeint_hw.h</a><li>XDEINT_STS_FS_CFG_ERROR
: <a class="el" href="xdeint__hw_8h.html#61d184420aba645aec0cf924d532f58c">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FIELD_ERROR
: <a class="el" href="xdeint__hw_8h.html#07e19f3e071496dd10d9ef97bf7987dc">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FRAME_ERROR
: <a class="el" href="xdeint__hw_8h.html#c37e28907ce2233fc0a49ffdea507224">xdeint_hw.h</a><li>XDEINT_STS_FS_WR_ERROR
: <a class="el" href="xdeint__hw_8h.html#659e2c14b272a1c6dca2ce2f27d88020">xdeint_hw.h</a><li>XDEINT_T1
: <a class="el" href="xdeint__hw_8h.html#43aa3002216ae4adff5ff56a5cc2c1d8">xdeint_hw.h</a><li>XDEINT_T2
: <a class="el" href="xdeint__hw_8h.html#0aadca480adfa6601d4f0e8df858173b">xdeint_hw.h</a><li>XDEINT_VER
: <a class="el" href="xdeint__hw_8h.html#77ad0df2de3d6555a18aa3ca03850a9d">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_MASK
: <a class="el" href="xdeint__hw_8h.html#809c58d390999fa587cd495b83057652">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#a1c8e00b529d7a9dbe302863bab0f415">xdeint_hw.h</a><li>XDEINT_VER_MINOR_MASK
: <a class="el" href="xdeint__hw_8h.html#d2e1dacc1c931b5bcedd2b4d261b152f">xdeint_hw.h</a><li>XDEINT_VER_MINOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#4e5deca3d17ed41f3153a1230f4c789a">xdeint_hw.h</a><li>XDEINT_VER_REV_MASK
: <a class="el" href="xdeint__hw_8h.html#41ca8d34fc42cfff7aabd1e59379d640">xdeint_hw.h</a><li>XDEINT_VER_REV_SHIFT
: <a class="el" href="xdeint__hw_8h.html#2ae07a390affe7f6000cab4641ce1618">xdeint_hw.h</a><li>XDEINT_WIDTH
: <a class="el" href="xdeint__hw_8h.html#f7a34b219491ebfe49c3c9793ee45703">xdeint_hw.h</a><li>XDeint_WriteReg
: <a class="el" href="xdeint__hw_8h.html#08f2a7e9247bedd6b4e5096e65fc4149">xdeint_hw.h</a><li>XDEINT_XFADE
: <a class="el" href="xdeint__hw_8h.html#bea2b3c7f0bbb158be4a9beab6f18e2b">xdeint_hw.h</a></ul>
<li>XDeint_BaseAddr
: <a class="el" href="xdeint__i_8h.html#2c4797aa3b801f16f03efe0b664f5ee6">xdeint_i.h</a><li>XDEINT_BUF_SIZE_MASK
: <a class="el" href="xdeint__hw_8h.html#1f0e7627d30b1b371e6698fb3b955734">xdeint_hw.h</a><li>XDEINT_BUFFER0_OFFSET
: <a class="el" href="xdeint__hw_8h.html#03b4b43cf5dd6dd88be43e4e13cb615b">xdeint_hw.h</a><li>XDEINT_BUFFER1_OFFSET
: <a class="el" href="xdeint__hw_8h.html#f0891e8ed6b7585d3d109a9820762500">xdeint_hw.h</a><li>XDEINT_BUFFER2_OFFSET
: <a class="el" href="xdeint__hw_8h.html#27eff63cc7775797b9bb9bed0ca3f9f4">xdeint_hw.h</a><li>XDEINT_BUFSIZE_OFFSET
: <a class="el" href="xdeint__hw_8h.html#e826d837a1d6581a11ebf642843a4865">xdeint_hw.h</a><li>XDEINT_CONTROL
: <a class="el" href="xdeint__hw_8h.html#e275b65df47de2b7886fa43a9927f1ed">xdeint_hw.h</a><li>XDEINT_CONTROL_OFFSET
: <a class="el" href="xdeint__hw_8h.html#c1ed7f9d3612ffd5b46f3863492685a2">xdeint_hw.h</a><li>XDEINT_CTL_ACCEPT_VIDEO
: <a class="el" href="xdeint__hw_8h.html#a763670c10570636c02528de7429f574">xdeint_hw.h</a><li>XDEINT_CTL_ENABLE
: <a class="el" href="xdeint__hw_8h.html#dde645c3d0bb6ae9a36b8f55c6091dd5">xdeint_hw.h</a><li>XDEINT_CTL_UPDATE_REQ
: <a class="el" href="xdeint__hw_8h.html#7aecb96e60f2b4eba8902e777c7352cf">xdeint_hw.h</a><li>XDeint_Disable
: <a class="el" href="xdeint_8h.html#d47b6be01abed183912ba5b0864cca6b">xdeint.h</a><li>XDeint_Enable
: <a class="el" href="xdeint_8h.html#d23e3952d5cfa1eadf0b7e7789f1611a">xdeint.h</a><li>XDEINT_FADE_RATIO
: <a class="el" href="xdeint__hw_8h.html#f311250d18c006bbb873c9b155aed3bc">xdeint_hw.h</a><li>XDEINT_FS_BASE0
: <a class="el" href="xdeint__hw_8h.html#307b0247144deec0c7dcd1d7e13fab03">xdeint_hw.h</a><li>XDEINT_FS_BASE1
: <a class="el" href="xdeint__hw_8h.html#e7fac2daacb4fde0310141dbf486ce19">xdeint_hw.h</a><li>XDEINT_FS_BASE2
: <a class="el" href="xdeint__hw_8h.html#abf2cf88f79db0ba44278df7098ac8cd">xdeint_hw.h</a><li>XDEINT_FS_WORDS
: <a class="el" href="xdeint__hw_8h.html#5d0932b4b67032fe5976e03c0edbb31e">xdeint_hw.h</a><li>XDeint_GetAlgorithm
: <a class="el" href="xdeint_8h.html#13222434ea8cc458edea70fcccc8695c">xdeint.h</a><li>XDeint_GetColorSpace
: <a class="el" href="xdeint_8h.html#6600d1eb9d04bbd03edf2bfc046545f3">xdeint.h</a><li>XDEINT_H
: <a class="el" href="xdeint_8h.html#0f94ffc2a9550517ac7a86c2f1eea549">xdeint.h</a><li>XDEINT_HANDLER
: <a class="el" href="xdeint_8h.html#cdade711ca6e921adddd47d14c98e0ff">xdeint.h</a><li>XDEINT_HEIGHT
: <a class="el" href="xdeint__hw_8h.html#fc69deee4225e46848e3f56b18d3280e">xdeint_hw.h</a><li>XDEINT_HEIGHT_MASK
: <a class="el" href="xdeint__hw_8h.html#4d0ce94e4a8a3d8d51439aa595f46184">xdeint_hw.h</a><li>XDEINT_HEIGHT_OFFSET
: <a class="el" href="xdeint__hw_8h.html#27f62fb932aebb21fbdf5058a918554c">xdeint_hw.h</a><li>XDEINT_HW_H
: <a class="el" href="xdeint__hw_8h.html#7c408caed4ab5bb7e8b1e048bfee4c9d">xdeint_hw.h</a><li>XDEINT_I_H
: <a class="el" href="xdeint__i_8h.html#79f33418fbbd23dbfd3c4f14962297ab">xdeint_i.h</a><li>XDEINT_IER
: <a class="el" href="xdeint__hw_8h.html#97bcf8ebb67f382274c3e63f509e5f26">xdeint_hw.h</a><li>XDEINT_IER_OFFSET
: <a class="el" href="xdeint__hw_8h.html#064dfe4f2be460786dbe3839dc2c5548">xdeint_hw.h</a><li>XDeint_In32
: <a class="el" href="xdeint__hw_8h.html#a67f40d62cbe96a8252c3f4abb51fc41">xdeint_hw.h</a><li>XDeint_InReset
: <a class="el" href="xdeint_8h.html#0a70555bc99a682448f5d2556f34f952">xdeint.h</a><li>XDeint_IntrClear
: <a class="el" href="xdeint_8h.html#20d880fbfda583ccc274e39dcb68f788">xdeint.h</a><li>XDeint_IntrDisable
: <a class="el" href="xdeint_8h.html#28e6dec8e64a1601589f1313205bc9ec">xdeint.h</a><li>XDeint_IntrEnable
: <a class="el" href="xdeint_8h.html#8eeaadefec5aa5e571a48c6f5d5d04e4">xdeint.h</a><li>XDeint_IntrGetPending
: <a class="el" href="xdeint_8h.html#3430a1986f1ea190d8a501ccf8591e8d">xdeint.h</a><li>XDEINT_ISR
: <a class="el" href="xdeint__hw_8h.html#12af5b0305d20ae7cfe63c87502342dd">xdeint_hw.h</a><li>XDEINT_ISR_OFFSET
: <a class="el" href="xdeint__hw_8h.html#dd2b35c78b464c2e7ae57774ae739a11">xdeint_hw.h</a><li>XDEINT_IXR_ALLINTR_MASK
: <a class="el" href="xdeint__hw_8h.html#f766950c11d76b491d2817e7b71132d5">xdeint_hw.h</a><li>XDEINT_IXR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#71fddd63213cda129c87deeff4f67de3">xdeint_hw.h</a><li>XDEINT_IXR_FRAME_MASK
: <a class="el" href="xdeint__hw_8h.html#ac21041226b933eefb97830536c04979">xdeint_hw.h</a><li>XDEINT_IXR_FS_CFG_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#ec2e908f3e80d7a05d087ad3cae9f264">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FIELD_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#327cc79c8c1173799e690fa4f51fa019">xdeint_hw.h</a><li>XDEINT_IXR_FS_RD_FRAME_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#ee536a66cf4273b4ff21bf42139f6359">xdeint_hw.h</a><li>XDEINT_IXR_FS_WR_ERROR_MASK
: <a class="el" href="xdeint__hw_8h.html#3c79f5e21410f7d9903111625d3684b0">xdeint_hw.h</a><li>XDEINT_IXR_LOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#269b6d7cf646ed6341d10deeb615a343">xdeint_hw.h</a><li>XDEINT_IXR_PULL_OFF_MASK
: <a class="el" href="xdeint__hw_8h.html#76124dbe618c740b56aaad9d8633c36a">xdeint_hw.h</a><li>XDEINT_IXR_PULL_ON_MASK
: <a class="el" href="xdeint__hw_8h.html#3e3efe4699a7e5a79d86846b7b544d5f">xdeint_hw.h</a><li>XDEINT_IXR_UNLOCKED_MASK
: <a class="el" href="xdeint__hw_8h.html#1fa5aa5648c56c8020ec839b81ab49a1">xdeint_hw.h</a><li>XDEINT_IXR_UPDATE_MASK
: <a class="el" href="xdeint__hw_8h.html#c37229e8fdee32ecbfcfd739dab5d90f">xdeint_hw.h</a><li>XDEINT_MODE
: <a class="el" href="xdeint__hw_8h.html#92dc2e0d6ba4eac4e5b9ed8ada4f31d2">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_0
: <a class="el" href="xdeint__hw_8h.html#c5e49c0c17a405f7d78c79f6ba20758f">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_1
: <a class="el" href="xdeint__hw_8h.html#33ca86d16c3256b669a87897cb1df3ef">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_DIAG
: <a class="el" href="xdeint__hw_8h.html#de7f3eeb1bbc01e07e48a5aec1cb2311">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_FULL
: <a class="el" href="xdeint__hw_8h.html#549230d42749e45992b13dd7b3b4aa91">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MASK
: <a class="el" href="xdeint__hw_8h.html#875bb8fab1e4784e7959605653484c1c">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_MOTION
: <a class="el" href="xdeint__hw_8h.html#fc917b2b1f178545b29d5c20cb81a89b">xdeint_hw.h</a><li>XDEINT_MODE_ALGORITHM_RAW
: <a class="el" href="xdeint__hw_8h.html#6404ad7d41d8f173f028d177f029c19d">xdeint_hw.h</a><li>XDEINT_MODE_COL
: <a class="el" href="xdeint__hw_8h.html#4ba135e2728b4eafc68280dae1bd0f7d">xdeint_hw.h</a><li>XDEINT_MODE_COL_MASK
: <a class="el" href="xdeint__hw_8h.html#8942e3986bcf958a43079aff94dbe1d8">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_RGB
: <a class="el" href="xdeint__hw_8h.html#0a3b9c44cc615bd2a23a7bd364f6a2b1">xdeint_hw.h</a><li>XDEINT_MODE_COLOUR_YUV
: <a class="el" href="xdeint__hw_8h.html#95dc03a814c7f9ff2800b5949e0e5f05">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_EVEN_FIRST
: <a class="el" href="xdeint__hw_8h.html#b14f2d09f14efe49f2d2e0202ac92191">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ODD_FIRST
: <a class="el" href="xdeint__hw_8h.html#84e7604c46e4134d67cbc6f0c9d3555c">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER
: <a class="el" href="xdeint__hw_8h.html#bf87aa5c51d09565e169d3936ec0b599">xdeint_hw.h</a><li>XDEINT_MODE_FIELD_ORDER_MASK
: <a class="el" href="xdeint__hw_8h.html#bd97964d2b7bcf8b8f3f6943fd77f563">xdeint_hw.h</a><li>XDEINT_MODE_OFFSET
: <a class="el" href="xdeint__hw_8h.html#a4ddf97ec440161ec497fbc15a072e59">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_0
: <a class="el" href="xdeint__hw_8h.html#79369e93f8583d04c1858bfc55307b31">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_1
: <a class="el" href="xdeint__hw_8h.html#6741be3faa157ea70eee354313515f3b">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_420
: <a class="el" href="xdeint__hw_8h.html#ffb5d3620ea2d03b0197f85226420419">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_422
: <a class="el" href="xdeint__hw_8h.html#fd22c2f06c5d195d5ea9f741e95cf125">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_444
: <a class="el" href="xdeint__hw_8h.html#339eedc752491301791deb96cb46abde">xdeint_hw.h</a><li>XDEINT_MODE_PACKING_MASK
: <a class="el" href="xdeint__hw_8h.html#8281f8ba0c42c6f8617a5b48ce4041da">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE
: <a class="el" href="xdeint__hw_8h.html#52dc38cf3956f831588b37ccff3eac53">xdeint_hw.h</a><li>XDEINT_MODE_PSF_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#20e0ab22b7aa1ae6259a16294bb13ae7">xdeint_hw.h</a><li>XDEINT_MODE_PULL_22_ENABLE
: <a class="el" href="xdeint__hw_8h.html#e42175ad85410f11cdd07cd857de0e43">xdeint_hw.h</a><li>XDEINT_MODE_PULL_22_FIELDP
: <a class="el" href="xdeint__hw_8h.html#80ea288bb53f964b7c6434f5c167c17d">xdeint_hw.h</a><li>XDEINT_MODE_PULL_32_ENABLE
: <a class="el" href="xdeint__hw_8h.html#5e35a5ef46f3dbf93014a8a45e051cc4">xdeint_hw.h</a><li>XDEINT_MODE_PULL_ENABLE_MASK
: <a class="el" href="xdeint__hw_8h.html#476f310f92e808eab36d5ad3e06cd159">xdeint_hw.h</a><li>XDeint_Out32
: <a class="el" href="xdeint__hw_8h.html#36502aea567ea7a6ae91d77b71b0b166">xdeint_hw.h</a><li>XDeint_ReadReg
: <a class="el" href="xdeint__hw_8h.html#23f0a76b05af8e52c359a2330f0785e1">xdeint_hw.h</a><li>XDeint_RegUpdateReq
: <a class="el" href="xdeint_8h.html#faba51a04dc25a72aaa78bc8c7df4b4a">xdeint.h</a><li>XDeint_Reset
: <a class="el" href="xdeint_8h.html#ffc14a0ac60d7d71a47f002adef58f9d">xdeint.h</a><li>XDEINT_RESET
: <a class="el" href="xdeint__hw_8h.html#99ae4e23159267a567a0c64a727489a7">xdeint_hw.h</a><li>XDEINT_RESET_OFFSET
: <a class="el" href="xdeint__hw_8h.html#8535b5f3d0aa09f4283330f3d8fc5b84">xdeint_hw.h</a><li>XDEINT_RESET_RESET_MASK
: <a class="el" href="xdeint__hw_8h.html#29cda40e0d5cccf062e9af72a58af84c">xdeint_hw.h</a><li>XDeint_SetAlgorithm
: <a class="el" href="xdeint_8h.html#0a6b4867ae6811a89594b819b5e7f061">xdeint.h</a><li>XDeint_SetRGB
: <a class="el" href="xdeint_8h.html#117cd16ac14429238fd35635d8fd16a5">xdeint.h</a><li>XDeint_SetYUV
: <a class="el" href="xdeint_8h.html#e2fa620c5dff23258179ee09ed159d93">xdeint.h</a><li>XDeint_Start
: <a class="el" href="xdeint_8h.html#dedafdef4050931c92e3065c5fa1c100">xdeint.h</a><li>XDeint_Stop
: <a class="el" href="xdeint_8h.html#6fbcbd6df89bd092c1fb8fefd8aadd86">xdeint.h</a><li>XDEINT_STS_ERROR_OFFSET
: <a class="el" href="xdeint__hw_8h.html#35603928f0e39d24577f5093dc2ae390">xdeint_hw.h</a><li>XDEINT_STS_FS_CFG_ERROR
: <a class="el" href="xdeint__hw_8h.html#1eb13201c639f72548d789bc0482efab">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FIELD_ERROR
: <a class="el" href="xdeint__hw_8h.html#428f4b9198e7290072a02ba136780dec">xdeint_hw.h</a><li>XDEINT_STS_FS_RD_FRAME_ERROR
: <a class="el" href="xdeint__hw_8h.html#025d2faf550c2294aa9c3fa46ffc31c1">xdeint_hw.h</a><li>XDEINT_STS_FS_WR_ERROR
: <a class="el" href="xdeint__hw_8h.html#97a0c75624e77861689e6fdd3da09fd4">xdeint_hw.h</a><li>XDEINT_T1
: <a class="el" href="xdeint__hw_8h.html#1565266126bbbb03babbc5a10ffce5eb">xdeint_hw.h</a><li>XDEINT_T2
: <a class="el" href="xdeint__hw_8h.html#776952e57f6a20b110405e5e3b7fb9eb">xdeint_hw.h</a><li>XDEINT_THRESH1_OFFSET
: <a class="el" href="xdeint__hw_8h.html#82db1498e108a0bbc6e87abd3325733a">xdeint_hw.h</a><li>XDEINT_THRESH2_OFFSET
: <a class="el" href="xdeint__hw_8h.html#a8d89f7a0a5ea277d716889b07566352">xdeint_hw.h</a><li>XDEINT_THRESHOLD_MASK
: <a class="el" href="xdeint__hw_8h.html#8ad3a6fb25d6f8ded82b5715052f05fa">xdeint_hw.h</a><li>XDEINT_VER
: <a class="el" href="xdeint__hw_8h.html#12f7f849ed0fcc10913f9b490216bc76">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_MASK
: <a class="el" href="xdeint__hw_8h.html#2d2bb014d89e424d8d75e6517fc22e65">xdeint_hw.h</a><li>XDEINT_VER_MAJOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#242adae9cf3d19d888a7dba37825101f">xdeint_hw.h</a><li>XDEINT_VER_MINOR_MASK
: <a class="el" href="xdeint__hw_8h.html#d642c1f4a5c822380bd42fdccff84609">xdeint_hw.h</a><li>XDEINT_VER_MINOR_SHIFT
: <a class="el" href="xdeint__hw_8h.html#eb1fa591fc484a947fa092a6e4122df3">xdeint_hw.h</a><li>XDEINT_VER_OFFSET
: <a class="el" href="xdeint__hw_8h.html#dded5649976055301bc2e0a605d98bdb">xdeint_hw.h</a><li>XDEINT_VER_REV_MASK
: <a class="el" href="xdeint__hw_8h.html#8aa0a0ec0e047c6b7d4c37d62c870117">xdeint_hw.h</a><li>XDEINT_VER_REV_SHIFT
: <a class="el" href="xdeint__hw_8h.html#a31330b609238ea48a7525c7a82c4683">xdeint_hw.h</a><li>XDEINT_WIDTH
: <a class="el" href="xdeint__hw_8h.html#cd26af5551ae897117b1c5f3a94d840f">xdeint_hw.h</a><li>XDEINT_WIDTH_MASK
: <a class="el" href="xdeint__hw_8h.html#97ab1565380047180d0c021d4e519003">xdeint_hw.h</a><li>XDEINT_WIDTH_OFFSET
: <a class="el" href="xdeint__hw_8h.html#e3af3ed13b380412a51b23f3b157a9ca">xdeint_hw.h</a><li>XDeint_WriteReg
: <a class="el" href="xdeint__hw_8h.html#8fcf5f5163b0b7e0e2bdf9a2aa3a63df">xdeint_hw.h</a><li>XDEINT_XFADE
: <a class="el" href="xdeint__hw_8h.html#e1f8d8805fcba87188295497f9ccd8be">xdeint_hw.h</a><li>XDEINT_XFADE_MASK
: <a class="el" href="xdeint__hw_8h.html#107bd28b6dd718124d16fc88ed3f242a">xdeint_hw.h</a><li>XDEINT_XFADE_OFFSET
: <a class="el" href="xdeint__hw_8h.html#0275871cb0e91d0aa3f4672bc36cb60d">xdeint_hw.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -26,6 +26,7 @@
<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_defs.html"><span>Defines</span></a></li>
</ul>
</div>
@ -33,14 +34,20 @@
<p>
<ul>
<li>XDeint_ConfigInitialize()
: <a class="el" href="xdeint_8c.html#243608553ecfe4c9503a7a164200a9a9">xdeint.c</a><li>XDeint_GetVersion()
: <a class="el" href="xdeint_8c.html#b91d89518f4234a53ef3c0ee6f3ccac9">xdeint.c</a><li>XDeint_IntrHandler()
: <a class="el" href="xdeint__intr_8c.html#257d3634435a8e29cad1e546623dcd1b">xdeint_intr.c</a><li>XDeint_LookupConfig()
: <a class="el" href="xdeint__sinit_8c.html#53fb9d6bb5d44204d86866de7dd8f406">xdeint_sinit.c</a><li>XDeint_SetCallBack()
: <a class="el" href="xdeint__intr_8c.html#d1ddc0586249fbf95ff83aa38f4205ca">xdeint_intr.c</a><li>XDeint_SetFramestore()
: <a class="el" href="xdeint_8c.html#9d91e01b0f333c0d0d60bf909de7250c">xdeint.c</a><li>XDeint_SetPulldown()
: <a class="el" href="xdeint_8c.html#d6bc359152618e313022022aa22bbe33">xdeint.c</a><li>XDeint_SetSize()
: <a class="el" href="xdeint_8c.html#8eb9c691b2bbc3413d6a84db98b39562">xdeint.c</a><li>XDeint_SetThresholds()
: <a class="el" href="xdeint_8c.html#c592375c48b72516dfb21183c91dcf50">xdeint.c</a><li>XDeint_SetVideo()
: <a class="el" href="xdeint_8c.html#d55eb5ed2114d03ef7dbcdf35a3e2422">xdeint.c</a></ul>
: <a class="el" href="xdeint_8h.html#562450dcb5a67c70cd30618ed35b0b89">xdeint.h</a>, <a class="el" href="xdeint_8c.html#562450dcb5a67c70cd30618ed35b0b89">xdeint.c</a><li>XDeint_GetFramestore()
: <a class="el" href="xdeint_8h.html#e28f8648ed173839b966b9df407a076b">xdeint.h</a>, <a class="el" href="xdeint_8c.html#e28f8648ed173839b966b9df407a076b">xdeint.c</a><li>XDeint_GetPulldown()
: <a class="el" href="xdeint_8h.html#82b511cd2e3bb26360c72b74ead50726">xdeint.h</a>, <a class="el" href="xdeint_8c.html#82b511cd2e3bb26360c72b74ead50726">xdeint.c</a><li>XDeint_GetSize()
: <a class="el" href="xdeint_8h.html#0ed756394ef9c0ca54c631b36db6d5fe">xdeint.h</a>, <a class="el" href="xdeint_8c.html#0ed756394ef9c0ca54c631b36db6d5fe">xdeint.c</a><li>XDeint_GetThresholds()
: <a class="el" href="xdeint_8h.html#f409566e046f4607a9ce4c4fb5c9f4f1">xdeint.h</a>, <a class="el" href="xdeint_8c.html#f409566e046f4607a9ce4c4fb5c9f4f1">xdeint.c</a><li>XDeint_GetVersion()
: <a class="el" href="xdeint_8h.html#a2eda3e3fb71295ce16442feacd6d21c">xdeint.h</a>, <a class="el" href="xdeint_8c.html#a2eda3e3fb71295ce16442feacd6d21c">xdeint.c</a><li>XDeint_GetVideo()
: <a class="el" href="xdeint_8h.html#e48c83a75d38a639ad82671eb0e5aaad">xdeint.h</a>, <a class="el" href="xdeint_8c.html#e48c83a75d38a639ad82671eb0e5aaad">xdeint.c</a><li>XDeint_IntrHandler()
: <a class="el" href="xdeint__intr_8c.html#35e293e47eaac7740eef8c4982f1dac5">xdeint_intr.c</a>, <a class="el" href="xdeint_8h.html#35e293e47eaac7740eef8c4982f1dac5">xdeint.h</a><li>XDeint_LookupConfig()
: <a class="el" href="xdeint__sinit_8c.html#47a257757977fcd8270e33dd7b776ce5">xdeint_sinit.c</a>, <a class="el" href="xdeint_8h.html#47a257757977fcd8270e33dd7b776ce5">xdeint.h</a><li>XDeint_Selftest()
: <a class="el" href="xdeint__selftest_8c.html#bdd3e7dca675ef8412788196ca486499">xdeint_selftest.c</a>, <a class="el" href="xdeint_8h.html#bdd3e7dca675ef8412788196ca486499">xdeint.h</a><li>XDeint_SetCallBack()
: <a class="el" href="xdeint__intr_8c.html#1530a20a59c6011ec8f01025b35b677f">xdeint_intr.c</a>, <a class="el" href="xdeint_8h.html#1530a20a59c6011ec8f01025b35b677f">xdeint.h</a><li>XDeint_SetFramestore()
: <a class="el" href="xdeint_8h.html#0cc19e03b76102a6a5ef48c7cc802c23">xdeint.h</a>, <a class="el" href="xdeint_8c.html#0cc19e03b76102a6a5ef48c7cc802c23">xdeint.c</a><li>XDeint_SetPulldown()
: <a class="el" href="xdeint_8h.html#b6e090aa6db878614f03d3562903540b">xdeint.h</a>, <a class="el" href="xdeint_8c.html#b6e090aa6db878614f03d3562903540b">xdeint.c</a><li>XDeint_SetSize()
: <a class="el" href="xdeint_8h.html#25a0f63a61e1961271d4420b706cfd05">xdeint.h</a>, <a class="el" href="xdeint_8c.html#25a0f63a61e1961271d4420b706cfd05">xdeint.c</a><li>XDeint_SetThresholds()
: <a class="el" href="xdeint_8h.html#df6e56ffc76191be43316a7e6d672715">xdeint.h</a>, <a class="el" href="xdeint_8c.html#df6e56ffc76191be43316a7e6d672715">xdeint.c</a><li>XDeint_SetVideo()
: <a class="el" href="xdeint_8h.html#53df92875612a37ece7657d7b89c6cec">xdeint.h</a>, <a class="el" href="xdeint_8c.html#53df92875612a37ece7657d7b89c6cec">xdeint.c</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -0,0 +1,38 @@
<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_defs.html"><span>Defines</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>XDeint_CallBack
: <a class="el" href="xdeint_8h.html#f9b2720adb70346996216eedd884331b">xdeint.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -26,6 +26,7 @@
<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_defs.html"><span>Defines</span></a></li>
</ul>
</div>
@ -33,5 +34,5 @@
<p>
<ul>
<li>XDeint_ConfigTable
: <a class="el" href="xdeint__g_8c.html#d25d416dfb1120327945127c03b46e7a">xdeint_g.c</a></ul>
: <a class="el" href="xdeint__g_8c.html#dd4ae53d06ff147bfbea5bbd5dc47535">xdeint_g.c</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -2,40 +2,60 @@
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
deinterlacer v3_1
Deinterlacer v3_2
</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>deinterlacer v3_1</h1>
<h1>Deinterlacer v3_2</h1>
<p>
This is the main header file of Xilinx Video Deinterlacer device driver<p>
This is the main header file of Xilinx Video Deinterlacer core.<p>
<b>Interrupt Service </b><p>
The Deinterlacer can generate 11 interrupt sources<ul>
<li>Internal Register update done</li><li>Deinterlacer is locked to incoming video</li><li>Deinterlacer has lost lock to incoming video</li><li>Deinterlacer internal fifo error</li><li>Pulldown activated</li><li>Pulldown cancelled</li><li>Frame Tick</li><li>Framestore Write setup error</li><li>Framestore Write fifo overflow</li><li>Framestore Read Field underrun</li><li>Framestore Read Frame underrun</li></ul>
<li>Internal Register update done</li><li>Deinterlacer is locked to incoming video</li><li>Deinterlacer has lost lock to incoming video</li><li>Deinterlacer internal FIFO error</li><li>Pull down activated</li><li>Pull down cancelled</li><li>Frame Tick</li><li>Frame store Write setup error</li><li>Frame store Write FIFO overflow</li><li>Frame store Read Field under run</li><li>Frame store Read Frame under run</li></ul>
<p>
This driver provides functions to install callbacks for the interrupts and enable/disable/clear any of them.<p>
<b> Examples </b><p>
Example(s) are provided with this driver to demonstrate the driver usage.<p>
Example(s) are provided with this driver to demonstrate the self test.<p>
<b>Limitations</b><p>
<b>BUS Interface</b><p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
<pre> Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
3.0 adk 19/12/13 Updated as per the New Tcl API's
3.1 adk 09/05/14 Fixed the CR:798337 driver doesn't support the IP in the
build.Changes are made in the driver mdd file.
</pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
3.0 adk 19/12/13 Updated as per the New Tcl API's.
3.2 adk 02/13/14 Added Doxygen support, adherence to Xilinx
coding standards.</pre><p>
<pre> Modification history of <a class="el" href="xdeint__sinit_8c.html">xdeint_sinit.c</a>:
Added Doxygen support, adherence to Xilinx
coding standards.</pre><p>
<pre> Modification history of <a class="el" href="xdeint__selftest_8c.html">xdeint_selftest.c</a>:
Added the XDeint_Selftest function.</pre><p>
<pre> Modification history of <a class="el" href="xdeint__intr_8c.html">xdeint_intr.c</a>:
Adherence to Xilinx coding, Doxygen guidelines.</pre><p>
<pre> Modification history of <a class="el" href="xdeint__i_8h.html">xdeint_i.h</a>:
Added Doxygen support.</pre><p>
<pre> Modification history of <a class="el" href="xdeint__hw_8h.html">xdeint_hw.h</a>:
Suffixed "_OFFSET" to all register offset macros.
Added bit masks for the registers and added
backward compatibility for macros.</pre><p>
<pre> Modification history of <a class="el" href="xdeint_8c.html">xdeint.c</a>:
Changed the prototype of XDeint_GetVersion
Implemented the following functions:
XDeint_GetFramestore
XDeint_GetVideo
XDeint_GetThresholds
XDeint_GetPulldown
XDeint_GetSize
</pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -22,9 +22,10 @@
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>XDeint Member List</h1>This is the complete list of members for <a class="el" href="struct_x_deint.html">XDeint</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#fa535ffb25e1fd20341652f9be21e06e">Config</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#d0cbfaf7c5a75e55a7960a670476babd">IntCallBack</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#217c41df00b2eee11e1009f5e63905ed">IsReady</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#4dfb6a3deca28b66a24577fbb4849a41">xsize</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#f879fab3cb1540ad7c1e79830445272e">ysize</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#d8300740b9d5ae354ae5cb5a60791871">Config</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#0d47f6d9806ff75df2d975b7a69376c2">IntCallBack</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#1db55474454cbc0c13921b44d12b9d68">IntRef</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#a2182f326d52b2644f7daf5d3fa7cc39">IsReady</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#e36414e35e3b99ad1edbf7c472e87cb0">XSize</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint.html#289d4ffaaea1bb6003a32c4e1f8d0fda">YSize</a></td><td><a class="el" href="struct_x_deint.html">XDeint</a></td><td></td></tr>
</table>Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -24,138 +24,115 @@
<h1>XDeint Struct Reference</h1><!-- doxytag: class="XDeint" --><code>#include &lt;xdeint.h&gt;</code>
<p>
<a href="struct_x_deint-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
The XDeint driver instance data. An instance must be allocated for each DEINT device in use.
The <a class="el" href="struct_x_deint.html">XDeint</a> driver instance data. An instance must be allocated for each Deintlerlacer core in use.
<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_deint___config.html">XDeint_Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_deint.html#fa535ffb25e1fd20341652f9be21e06e">Config</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_deint.html#d8300740b9d5ae354ae5cb5a60791871">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_deint.html#217c41df00b2eee11e1009f5e63905ed">IsReady</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_deint.html#a2182f326d52b2644f7daf5d3fa7cc39">IsReady</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_deint.html#4dfb6a3deca28b66a24577fbb4849a41">xsize</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_deint.html#e36414e35e3b99ad1edbf7c472e87cb0">XSize</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_deint.html#f879fab3cb1540ad7c1e79830445272e">ysize</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_deint.html#289d4ffaaea1bb6003a32c4e1f8d0fda">YSize</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">XDeint_CallBack&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_deint.html#d0cbfaf7c5a75e55a7960a670476babd">IntCallBack</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="xdeint_8h.html#f9b2720adb70346996216eedd884331b">XDeint_CallBack</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_deint.html#0d47f6d9806ff75df2d975b7a69376c2">IntCallBack</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_deint.html#1db55474454cbc0c13921b44d12b9d68">IntRef</a></td></tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="fa535ffb25e1fd20341652f9be21e06e"></a><!-- doxytag: member="XDeint::Config" ref="fa535ffb25e1fd20341652f9be21e06e" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<a class="anchor" name="d8300740b9d5ae354ae5cb5a60791871"></a><!-- doxytag: member="XDeint::Config" ref="d8300740b9d5ae354ae5cb5a60791871" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> <a class="el" href="struct_x_deint.html#fa535ffb25e1fd20341652f9be21e06e">XDeint::Config</a> </td>
<td class="memname"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> <a class="el" href="struct_x_deint.html#d8300740b9d5ae354ae5cb5a60791871">XDeint::Config</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
hardware configuration </td>
</tr>
</table>
<a class="anchor" name="d0cbfaf7c5a75e55a7960a670476babd"></a><!-- doxytag: member="XDeint::IntCallBack" ref="d0cbfaf7c5a75e55a7960a670476babd" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
Hardware configuration
</div>
</div><p>
<a class="anchor" name="0d47f6d9806ff75df2d975b7a69376c2"></a><!-- doxytag: member="XDeint::IntCallBack" ref="0d47f6d9806ff75df2d975b7a69376c2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">XDeint_CallBack <a class="el" href="struct_x_deint.html#d0cbfaf7c5a75e55a7960a670476babd">XDeint::IntCallBack</a> </td>
<td class="memname"><a class="el" href="xdeint_8h.html#f9b2720adb70346996216eedd884331b">XDeint_CallBack</a> <a class="el" href="struct_x_deint.html#0d47f6d9806ff75df2d975b7a69376c2">XDeint::IntCallBack</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
Call back for Status interrupt </td>
</tr>
</table>
<a class="anchor" name="217c41df00b2eee11e1009f5e63905ed"></a><!-- doxytag: member="XDeint::IsReady" ref="217c41df00b2eee11e1009f5e63905ed" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
Call back for Status interrupt
</div>
</div><p>
<a class="anchor" name="1db55474454cbc0c13921b44d12b9d68"></a><!-- doxytag: member="XDeint::IntRef" ref="1db55474454cbc0c13921b44d12b9d68" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">u32 <a class="el" href="struct_x_deint.html#217c41df00b2eee11e1009f5e63905ed">XDeint::IsReady</a> </td>
<td class="memname">void* <a class="el" href="struct_x_deint.html#1db55474454cbc0c13921b44d12b9d68">XDeint::IntRef</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
Device and the driver instance are initialized </td>
</tr>
</table>
<a class="anchor" name="4dfb6a3deca28b66a24577fbb4849a41"></a><!-- doxytag: member="XDeint::xsize" ref="4dfb6a3deca28b66a24577fbb4849a41" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
To be passed to interrupt call back
</div>
</div><p>
<a class="anchor" name="a2182f326d52b2644f7daf5d3fa7cc39"></a><!-- doxytag: member="XDeint::IsReady" ref="a2182f326d52b2644f7daf5d3fa7cc39" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">u32 <a class="el" href="struct_x_deint.html#4dfb6a3deca28b66a24577fbb4849a41">XDeint::xsize</a> </td>
<td class="memname">u32 <a class="el" href="struct_x_deint.html#a2182f326d52b2644f7daf5d3fa7cc39">XDeint::IsReady</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
X Input Dimension </td>
</tr>
</table>
<a class="anchor" name="f879fab3cb1540ad7c1e79830445272e"></a><!-- doxytag: member="XDeint::ysize" ref="f879fab3cb1540ad7c1e79830445272e" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
Core and the driver instance are initialized
</div>
</div><p>
<a class="anchor" name="e36414e35e3b99ad1edbf7c472e87cb0"></a><!-- doxytag: member="XDeint::XSize" ref="e36414e35e3b99ad1edbf7c472e87cb0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">u32 <a class="el" href="struct_x_deint.html#f879fab3cb1540ad7c1e79830445272e">XDeint::ysize</a> </td>
<td class="memname">u32 <a class="el" href="struct_x_deint.html#e36414e35e3b99ad1edbf7c472e87cb0">XDeint::XSize</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
Y Input Dimension </td>
</tr>
</table>
X Input Dimension
</div>
</div><p>
<a class="anchor" name="289d4ffaaea1bb6003a32c4e1f8d0fda"></a><!-- doxytag: member="XDeint::YSize" ref="289d4ffaaea1bb6003a32c4e1f8d0fda" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 <a class="el" href="struct_x_deint.html#289d4ffaaea1bb6003a32c4e1f8d0fda">XDeint::YSize</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Y Input Dimension
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>xdeint.h</ul>
<li><a class="el" href="xdeint_8h.html">xdeint.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -22,6 +22,6 @@
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>XDeint_Config Member List</h1>This is the complete list of members for <a class="el" href="struct_x_deint___config.html">XDeint_Config</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="struct_x_deint___config.html#2fac08c24c8373333b9f2a62008c62f3">BaseAddress</a></td><td><a class="el" href="struct_x_deint___config.html">XDeint_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint___config.html#d0263c6cf0769cabc86cfe88226d204b">DeviceId</a></td><td><a class="el" href="struct_x_deint___config.html">XDeint_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint___config.html#a73c277aabb2c67f122dbd231f2b4c9f">BaseAddress</a></td><td><a class="el" href="struct_x_deint___config.html">XDeint_Config</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct_x_deint___config.html#3bbb266445bc4b42d4deedb5cf0b8bb7">DeviceId</a></td><td><a class="el" href="struct_x_deint___config.html">XDeint_Config</a></td><td></td></tr>
</table>Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -24,63 +24,47 @@
<h1>XDeint_Config Struct Reference</h1><!-- doxytag: class="XDeint_Config" --><code>#include &lt;xdeint.h&gt;</code>
<p>
<a href="struct_x_deint___config-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Deinterlacer device configuration structure. Each Deinterlacer device should have a configuration structure associated.
Deinterlacer core configuration structure. Each Deinterlacer 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_deint___config.html#d0263c6cf0769cabc86cfe88226d204b">DeviceId</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_deint___config.html#3bbb266445bc4b42d4deedb5cf0b8bb7">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_deint___config.html#2fac08c24c8373333b9f2a62008c62f3">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_deint___config.html#a73c277aabb2c67f122dbd231f2b4c9f">BaseAddress</a></td></tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="2fac08c24c8373333b9f2a62008c62f3"></a><!-- doxytag: member="XDeint_Config::BaseAddress" ref="2fac08c24c8373333b9f2a62008c62f3" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<a class="anchor" name="a73c277aabb2c67f122dbd231f2b4c9f"></a><!-- doxytag: member="XDeint_Config::BaseAddress" ref="a73c277aabb2c67f122dbd231f2b4c9f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">u32 <a class="el" href="struct_x_deint___config.html#2fac08c24c8373333b9f2a62008c62f3">XDeint_Config::BaseAddress</a> </td>
<td class="memname">u32 <a class="el" href="struct_x_deint___config.html#a73c277aabb2c67f122dbd231f2b4c9f">XDeint_Config::BaseAddress</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
BaseAddress is the physical base address of the device's registers </td>
</tr>
</table>
<a class="anchor" name="d0263c6cf0769cabc86cfe88226d204b"></a><!-- doxytag: member="XDeint_Config::DeviceId" ref="d0263c6cf0769cabc86cfe88226d204b" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
BaseAddress is the physical base address of the core's registers
</div>
</div><p>
<a class="anchor" name="3bbb266445bc4b42d4deedb5cf0b8bb7"></a><!-- doxytag: member="XDeint_Config::DeviceId" ref="3bbb266445bc4b42d4deedb5cf0b8bb7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">u16 <a class="el" href="struct_x_deint___config.html#d0263c6cf0769cabc86cfe88226d204b">XDeint_Config::DeviceId</a> </td>
<td class="memname">u16 <a class="el" href="struct_x_deint___config.html#3bbb266445bc4b42d4deedb5cf0b8bb7">XDeint_Config::DeviceId</a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
DeviceId is the unique ID of the device </td>
</tr>
</table>
DeviceId is the unique ID of the core
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>xdeint.h</ul>
<li><a class="el" href="xdeint_8h.html">xdeint.h</a></ul>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -22,433 +22,604 @@
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xdeint.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This is main code of Xilinx Vide Deinterlacer device driver. Please see xdeint.h for more details of the driver.<p>
This is main code of Xilinx Vide Deinterlacer core. Please see <a class="el" href="xdeint_8h.html">xdeint.h</a> for more details of the driver.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
<pre> Ver Who Date Changes
----- ---- -------- ------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
3.2 adk 02/13/14 Changed the prototype of XDeint_GetVersion
Implemented the following functions:
XDeint_GetFramestore
XDeint_GetVideo
XDeint_GetThresholds
XDeint_GetPulldown
XDeint_GetSize
</pre>
<p>
<code>#include &quot;xdeint.h&quot;</code><br>
<code>#include &quot;xenv.h&quot;</code><br>
<code>#include &quot;<a class="el" href="xdeint_8h.html">xdeint.h</a>&quot;</code><br>
<code>#include &quot;xil_assert.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="xdeint_8c.html#243608553ecfe4c9503a7a164200a9a9">XDeint_ConfigInitialize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, <a class="el" href="struct_x_deint___config.html">XDeint_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#562450dcb5a67c70cd30618ed35b0b89">XDeint_ConfigInitialize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, <a class="el" href="struct_x_deint___config.html">XDeint_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="xdeint_8c.html#9d91e01b0f333c0d0d60bf909de7250c">XDeint_SetFramestore</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#0cc19e03b76102a6a5ef48c7cc802c23">XDeint_SetFramestore</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#d55eb5ed2114d03ef7dbcdf35a3e2422">XDeint_SetVideo</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Packing, u32 Colour, u32 Order, u32 PSF)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#53df92875612a37ece7657d7b89c6cec">XDeint_SetVideo</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Packing, u32 Color, u32 Order, u32 PSF)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#c592375c48b72516dfb21183c91dcf50">XDeint_SetThresholds</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 t1, u32 t2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#df6e56ffc76191be43316a7e6d672715">XDeint_SetThresholds</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 ThresholdT1, u32 ThresholdT2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#d6bc359152618e313022022aa22bbe33">XDeint_SetPulldown</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 enable_32, u32 enable_22)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#b6e090aa6db878614f03d3562903540b">XDeint_SetPulldown</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Enable_32, u32 Enable_22)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#b91d89518f4234a53ef3c0ee6f3ccac9">XDeint_GetVersion</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u16 *Major, u16 *Minor, u16 *Revision)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#a2eda3e3fb71295ce16442feacd6d21c">XDeint_GetVersion</a> (<a class="el" href="struct_x_deint.html">XDeint</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="xdeint_8c.html#8eb9c691b2bbc3413d6a84db98b39562">XDeint_SetSize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Width, u32 Height)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#25a0f63a61e1961271d4420b706cfd05">XDeint_SetSize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Width, u32 Height)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#e48c83a75d38a639ad82671eb0e5aaad">XDeint_GetVideo</a> (<a class="el" href="struct_x_deint.html">XDeint</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="xdeint_8c.html#82b511cd2e3bb26360c72b74ead50726">XDeint_GetPulldown</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *Enable_32, u32 *Enable_22)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#0ed756394ef9c0ca54c631b36db6d5fe">XDeint_GetSize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *Width, u32 *Height)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#f409566e046f4607a9ce4c4fb5c9f4f1">XDeint_GetThresholds</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *ThresholdT1, u32 *ThresholdT2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#e28f8648ed173839b966b9df407a076b">XDeint_GetFramestore</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *FieldAddr1, u32 *FieldAddr2, u32 *FieldAddr3, u32 *FrameSize)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="243608553ecfe4c9503a7a164200a9a9"></a><!-- doxytag: member="xdeint.c::XDeint_ConfigInitialize" ref="243608553ecfe4c9503a7a164200a9a9" args="(XDeint *InstancePtr, XDeint_Config *CfgPtr, u32 EffectiveAddr)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<a class="anchor" name="562450dcb5a67c70cd30618ed35b0b89"></a><!-- doxytag: member="xdeint.c::XDeint_ConfigInitialize" ref="562450dcb5a67c70cd30618ed35b0b89" args="(XDeint *InstancePtr, XDeint_Config *CfgPtr, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">int XDeint_ConfigInitialize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">int XDeint_ConfigInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>CfgPtr</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> *&nbsp;</td>
<td class="paramname"> <em>CfgPtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>EffectiveAddr</em></td>
<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 class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function initializes an Deinterlacer device. This function must be called prior to using a Deinterlacer device. Initialization of an Deinterlacer includes setting up the instance data, and ensuring the hardware is in a quiescent state.<p>
This function initializes the Deinterlacer core. This function must be called prior to using a Deinterlacer core. Initialization of the Deinterlacer 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 the Deinterlacer device instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em>&nbsp;</td><td>points to the configuration structure associated with the Deinterlacer device. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</td><td>is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em>&nbsp;</td><td>points to the configuration structure associated with the Deinterlacer 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>XST_SUCCESS </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="b91d89518f4234a53ef3c0ee6f3ccac9"></a><!-- doxytag: member="xdeint.c::XDeint_GetVersion" ref="b91d89518f4234a53ef3c0ee6f3ccac9" args="(XDeint *InstancePtr, u16 *Major, u16 *Minor, u16 *Revision)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<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="e28f8648ed173839b966b9df407a076b"></a><!-- doxytag: member="xdeint.c::XDeint_GetFramestore" ref="e28f8648ed173839b966b9df407a076b" args="(XDeint *InstancePtr, u32 *FieldAddr1, u32 *FieldAddr2, u32 *FieldAddr3, u32 *FrameSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_GetVersion </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">void XDeint_GetFramestore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u16 *&nbsp;</td>
<td class="mdname" nowrap> <em>Major</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FieldAddr1</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u16 *&nbsp;</td>
<td class="mdname" nowrap> <em>Minor</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FieldAddr2</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u16 *&nbsp;</td>
<td class="mdname" nowrap> <em>Revision</em></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FieldAddr3</em>, </td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FrameSize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function returns the version of a Deinterlacer device.<p>
This function gets input field buffer addresses of an Deinterlacer 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 the Deinterlacer device instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Major</em>&nbsp;</td><td>points to an unsigned 16-bit variable that will be assigned with the major version number after this function returns. Value range is from 0x0 to 0xF. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Minor</em>&nbsp;</td><td>points to an unsigned 16-bit variable that will be assigned with the minor version number after this function returns. Value range is from 0x00 to 0xFF. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Revision</em>&nbsp;</td><td>points to an unsigned 16-bit variable that will be assigned with the revision version number after this function returns. Value range is from 0xA to 0xF. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr1</em>&nbsp;</td><td>is the pointer to the 1st input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr2</em>&nbsp;</td><td>is the pointer to the 2nd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr3</em>&nbsp;</td><td>is the pointer to the 3rd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FrameSize</em>&nbsp;</td><td>is the pointer to size in 32bit words of a single field buffer.</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="82b511cd2e3bb26360c72b74ead50726"></a><!-- doxytag: member="xdeint.c::XDeint_GetPulldown" ref="82b511cd2e3bb26360c72b74ead50726" args="(XDeint *InstancePtr, u32 *Enable_32, u32 *Enable_22)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetPulldown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Enable_32</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>Enable_22</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 pull down controller of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_32</em>&nbsp;</td><td>is a pointer which holds status of Enable_32 mode.<ul>
<li>FALSE = Disabled.</li><li>TRUE = Enabled. </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_22</em>&nbsp;</td><td>is a pointer which holds status of Enable_22 mode.<ul>
<li>FALSE = Disabled.</li><li>TRUE = Enabled.</li></ul>
</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="0ed756394ef9c0ca54c631b36db6d5fe"></a><!-- doxytag: member="xdeint.c::XDeint_GetSize" ref="0ed756394ef9c0ca54c631b36db6d5fe" args="(XDeint *InstancePtr, u32 *Width, u32 *Height)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>Height</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 input frame size of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Width</em>&nbsp;</td><td>is pointer to the width of the frame. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Height</em>&nbsp;</td><td>is pointer to the height of the frame.</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="f409566e046f4607a9ce4c4fb5c9f4f1"></a><!-- doxytag: member="xdeint.c::XDeint_GetThresholds" ref="f409566e046f4607a9ce4c4fb5c9f4f1" args="(XDeint *InstancePtr, u32 *ThresholdT1, u32 *ThresholdT2)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetThresholds </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>ThresholdT1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>ThresholdT2</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 threshold used by the motion adaptive kernel.<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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT1</em>&nbsp;</td><td>is the pointer to lower threshold of the motion kernel. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT2</em>&nbsp;</td><td>is the pointer to upper threshold of the motion kernel.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Example: Device version should read v2.01.c if major version number is 0x2, minor version number is 0x1, and revision version number is 0xC. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="9d91e01b0f333c0d0d60bf909de7250c"></a><!-- doxytag: member="xdeint.c::XDeint_SetFramestore" ref="9d91e01b0f333c0d0d60bf909de7250c" args="(XDeint *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
</div>
</div><p>
<a class="anchor" name="a2eda3e3fb71295ce16442feacd6d21c"></a><!-- doxytag: member="xdeint.c::XDeint_GetVersion" ref="a2eda3e3fb71295ce16442feacd6d21c" args="(XDeint *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_SetFramestore </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>FieldAddr1</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>FieldAddr2</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>FieldAddr3</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>FrameSize</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td class="memname">u32 XDeint_GetVersion </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function sets up input field buffer addresses of an Deinterlacer device.<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 the DEINT device instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</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="e48c83a75d38a639ad82671eb0e5aaad"></a><!-- doxytag: member="xdeint.c::XDeint_GetVideo" ref="e48c83a75d38a639ad82671eb0e5aaad" args="(XDeint *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XDeint_GetVideo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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 video format of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Returns the video format.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="0cc19e03b76102a6a5ef48c7cc802c23"></a><!-- doxytag: member="xdeint.c::XDeint_SetFramestore" ref="0cc19e03b76102a6a5ef48c7cc802c23" args="(XDeint *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_SetFramestore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>FieldAddr1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>FieldAddr2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>FieldAddr3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>FrameSize</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 input field buffer addresses of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr1</em>&nbsp;</td><td>is the address of the 1st input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr2</em>&nbsp;</td><td>is the address of the 2nd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr3</em>&nbsp;</td><td>is the address of the 3rd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FrameSize</em>&nbsp;</td><td>is the size in 32bit words of a single field buffer </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FrameSize</em>&nbsp;</td><td>is the size in 32bit words of a single field buffer.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="d6bc359152618e313022022aa22bbe33"></a><!-- doxytag: member="xdeint.c::XDeint_SetPulldown" ref="d6bc359152618e313022022aa22bbe33" args="(XDeint *InstancePtr, u32 enable_32, u32 enable_22)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<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="b6e090aa6db878614f03d3562903540b"></a><!-- doxytag: member="xdeint.c::XDeint_SetPulldown" ref="b6e090aa6db878614f03d3562903540b" args="(XDeint *InstancePtr, u32 Enable_32, u32 Enable_22)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_SetPulldown </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">void XDeint_SetPulldown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>enable_32</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Enable_32</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>enable_22</em></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Enable_22</em></td><td>&nbsp;</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function sets up the pulldown controller<p>
This function sets the pull down controller of the Deinterlacer 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 the DEINT device instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>enable</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_32</em>&nbsp;</td><td>allows detectors to automatically control Deinterlacer core. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_22</em>&nbsp;</td><td>allows detectors to automatically control Deinterlacer core.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="8eb9c691b2bbc3413d6a84db98b39562"></a><!-- doxytag: member="xdeint.c::XDeint_SetSize" ref="8eb9c691b2bbc3413d6a84db98b39562" args="(XDeint *InstancePtr, u32 Width, u32 Height)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<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="25a0f63a61e1961271d4420b706cfd05"></a><!-- doxytag: member="xdeint.c::XDeint_SetSize" ref="25a0f63a61e1961271d4420b706cfd05" args="(XDeint *InstancePtr, u32 Width, u32 Height)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_SetSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">void XDeint_SetSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>Width</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Width</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>Height</em></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Height</em></td><td>&nbsp;</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function sets up the input frame size of the deinterlacer<p>
This function sets the input frame size of the Deinterlacer 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 the DEINT device instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Width</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>Height</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Width</em>&nbsp;</td><td>is the width of the frame. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Height</em>&nbsp;</td><td>is the height of the frame.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="c592375c48b72516dfb21183c91dcf50"></a><!-- doxytag: member="xdeint.c::XDeint_SetThresholds" ref="c592375c48b72516dfb21183c91dcf50" args="(XDeint *InstancePtr, u32 t1, u32 t2)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<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="df6e56ffc76191be43316a7e6d672715"></a><!-- doxytag: member="xdeint.c::XDeint_SetThresholds" ref="df6e56ffc76191be43316a7e6d672715" args="(XDeint *InstancePtr, u32 ThresholdT1, u32 ThresholdT2)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_SetThresholds </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">void XDeint_SetThresholds </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>t1</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>ThresholdT1</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>t2</em></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>ThresholdT2</em></td><td>&nbsp;</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function sets up the threshold used by the motion adaptive kernel<p>
This function sets the threshold used by the motion adaptive kernel of the Deinterlacer 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 the DEINT device instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>T1</em>&nbsp;</td><td>is the lower threshold of the motion kernel </td></tr>
<tr><td valign="top"></td><td valign="top"><em>T2</em>&nbsp;</td><td>is the upper threshold of the motion kernel </td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT1</em>&nbsp;</td><td>is the lower threshold of the motion kernel. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT2</em>&nbsp;</td><td>is the upper threshold of the motion kernel.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="d55eb5ed2114d03ef7dbcdf35a3e2422"></a><!-- doxytag: member="xdeint.c::XDeint_SetVideo" ref="d55eb5ed2114d03ef7dbcdf35a3e2422" args="(XDeint *InstancePtr, u32 Packing, u32 Colour, u32 Order, u32 PSF)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<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="53df92875612a37ece7657d7b89c6cec"></a><!-- doxytag: member="xdeint.c::XDeint_SetVideo" ref="53df92875612a37ece7657d7b89c6cec" args="(XDeint *InstancePtr, u32 Packing, u32 Color, u32 Order, u32 PSF)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_SetVideo </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">void XDeint_SetVideo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>Packing</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Packing</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>Colour</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Color</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>Order</em>, </td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Order</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>u32&nbsp;</td>
<td class="mdname" nowrap> <em>PSF</em></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>PSF</em></td><td>&nbsp;</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function sets up the video format<p>
This function sets the video format of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Packing</em>&nbsp;</td><td>selects the XSVI video packing mode. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Colour</em>&nbsp;</td><td>selects what colourspace to use </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Order</em>&nbsp;</td><td>selects which field ordering is being used </td></tr>
<tr><td valign="top"></td><td valign="top"><em>psf</em>&nbsp;</td><td>enables psf (progressive segmented frame mode) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Color</em>&nbsp;</td><td>selects what color space to use. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Order</em>&nbsp;</td><td>selects which field ordering is being used. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>PSF</em>&nbsp;</td><td>enables psf (progressive segmented frame mode).</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
</td>
</tr>
</table>
<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

@ -9,7 +9,7 @@
<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>
@ -25,48 +25,41 @@
This file contains a template for configuration table of Xilinx Video Deinterlacer For a real hardware system, Xilinx Platform Studio (XPS) will automatically generate a real configuration table to match the configuration of the Deinterlacer devices.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
<pre> Ver Who Date Changes
----- ------ -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
3.2 adk 02/13/14 Adherence to Xilinx coding, Doxygen guidelines.
</pre>
<p>
<code>#include &quot;<a class="el" href="xdeint_8h.html">xdeint.h</a>&quot;</code><br>
<code>#include &quot;xparameters.h&quot;</code><br>
<code>#include &quot;xdeint.h&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_deint___config.html">XDeint_Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__g_8c.html#d25d416dfb1120327945127c03b46e7a">XDeint_ConfigTable</a> []</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__g_8c.html#dd4ae53d06ff147bfbea5bbd5dc47535">XDeint_ConfigTable</a> []</td></tr>
</table>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="d25d416dfb1120327945127c03b46e7a"></a><!-- doxytag: member="xdeint_g.c::XDeint_ConfigTable" ref="d25d416dfb1120327945127c03b46e7a" args="[]" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<a class="anchor" name="dd4ae53d06ff147bfbea5bbd5dc47535"></a><!-- doxytag: member="xdeint_g.c::XDeint_ConfigTable" ref="dd4ae53d06ff147bfbea5bbd5dc47535" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> <a class="el" href="xdeint__g_8c.html#d25d416dfb1120327945127c03b46e7a">XDeint_ConfigTable</a>[] </td>
<td class="memname"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> <a class="el" href="xdeint__g_8c.html#dd4ae53d06ff147bfbea5bbd5dc47535">XDeint_ConfigTable</a>[] </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{
XPAR_DEINTERLACER_0_DEVICE_ID,
XPAR_DEINTERLACER_0_BASEADDR
XPAR_FMC_SENSOR_INPUT_V_DEINTERLACER_1_DEVICE_ID,
XPAR_FMC_SENSOR_INPUT_V_DEINTERLACER_1__BASEADDR
}
}
</pre></div>The configuration table for Video Deinterlacers devices </td>
</tr>
</table>
</pre></div>The configuration table for Video Deinterlacers devices
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -22,10 +22,56 @@
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xdeint_i.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This code contains internal functions of the Xilinx Video Deinterlacer device driver. The application should not need the functions in this code to control the Video Deinterlacer device. Read xdeint.h for detailed information about the driver<p>
Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 1.00a rjh 07/10/11 First release 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
This code contains internal functions of the Xilinx Video Deinterlacer core. The application should not need the functions in this code to control the Video Deinterlacer core. Read <a class="el" href="xdeint_8h.html">xdeint.h</a> for detailed information about the core. <pre>
Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release.
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
3.2 adk 02/13/14 Added Doxygen support.
</pre>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__i_8h.html#79f33418fbbd23dbfd3c4f14962297ab">XDEINT_I_H</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__i_8h.html#2c4797aa3b801f16f03efe0b664f5ee6">XDeint_BaseAddr</a>(InstancePtr)&nbsp;&nbsp;&nbsp;((InstancePtr)-&gt;Config.BaseAddress)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="2c4797aa3b801f16f03efe0b664f5ee6"></a><!-- doxytag: member="xdeint_i.h::XDeint_BaseAddr" ref="2c4797aa3b801f16f03efe0b664f5ee6" args="(InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XDeint_BaseAddr </td>
<td>(</td>
<td class="paramtype">InstancePtr&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%">&nbsp;&nbsp;&nbsp;((InstancePtr)-&gt;Config.BaseAddress)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="79f33418fbbd23dbfd3c4f14962297ab"></a><!-- doxytag: member="xdeint_i.h::XDEINT_I_H" ref="79f33418fbbd23dbfd3c4f14962297ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XDEINT_I_H </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Prevent circular inclusions by using protection macros
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -22,110 +22,95 @@
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xdeint_intr.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This code contains interrupt related functions of Xilinx Video Deinterlacer (DEINT) device driver. Please see xdeint.h for more details of the driver.<p>
This code contains interrupt related functions of Xilinx Video Deinterlacer (DEINT) core. Please see <a class="el" href="xdeint_8h.html">xdeint.h</a> for more details of the core.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
<pre> Ver Who Date Changes
----- ----- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release.
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
3.2 adk 02/13/14 Adherence to Xilinx coding, Doxygen guidelines.
</pre>
<p>
<code>#include &quot;xdeint.h&quot;</code><br>
<code>#include &quot;<a class="el" href="xdeint_8h.html">xdeint.h</a>&quot;</code><br>
<code>#include &quot;xil_assert.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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__intr_8c.html#257d3634435a8e29cad1e546623dcd1b">XDeint_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__intr_8c.html#35e293e47eaac7740eef8c4982f1dac5">XDeint_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="xdeint__intr_8c.html#d1ddc0586249fbf95ff83aa38f4205ca">XDeint_SetCallBack</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, void *CallBackFunc)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__intr_8c.html#1530a20a59c6011ec8f01025b35b677f">XDeint_SetCallBack</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, void *CallBackFunc)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="257d3634435a8e29cad1e546623dcd1b"></a><!-- doxytag: member="xdeint_intr.c::XDeint_IntrHandler" ref="257d3634435a8e29cad1e546623dcd1b" args="(void *InstancePtr)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<a class="anchor" name="35e293e47eaac7740eef8c4982f1dac5"></a><!-- doxytag: member="xdeint_intr.c::XDeint_IntrHandler" ref="35e293e47eaac7740eef8c4982f1dac5" args="(void *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">void XDeint_IntrHandler </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>InstancePtr</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
<td class="memname">void XDeint_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>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This function is the interrupt handler for the Deinterlacer<p>
This function is the interrupt handler for the Deinterlacer core.<p>
This handler reads the pending interrupt from the IER/ISR, determines the source of the interrupts, calls according callback, 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="xdeint__intr_8c.html#d1ddc0586249fbf95ff83aa38f4205ca">XDeint_SetCallBack()</a> during initialization phase. An example delivered with this driver demonstrates how this could be done.<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="xdeint_8h.html#1530a20a59c6011ec8f01025b35b677f">XDeint_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_deint.html">XDeint</a> instance that just interrupted. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</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>The Error interrupt callback invoked in case an error interrupt or spurious interrupt happens should reset the DEINT device that just interrupted. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="d1ddc0586249fbf95ff83aa38f4205ca"></a><!-- doxytag: member="xdeint_intr.c::XDeint_SetCallBack" ref="d1ddc0586249fbf95ff83aa38f4205ca" args="(XDeint *InstancePtr, void *CallBackFunc)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>The Error interrupt callback invoked in case an error interrupt or spurious interrupt happens should reset the Deinterlacer core that just interrupted. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1530a20a59c6011ec8f01025b35b677f"></a><!-- doxytag: member="xdeint_intr.c::XDeint_SetCallBack" ref="1530a20a59c6011ec8f01025b35b677f" args="(XDeint *InstancePtr, void *CallBackFunc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top">int XDeint_SetCallBack </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>InstancePtr</em>, </td>
<td class="memname">int XDeint_SetCallBack </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>void *&nbsp;</td>
<td class="mdname" nowrap> <em>CallBackFunc</em></td>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallBackFunc</em></td><td>&nbsp;</td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
This routine installs an asynchronous callback function.<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_deint.html">XDeint</a> instance to be worked on. </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>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_deint.html">XDeint</a> instance to be worked on. </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>
</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>
</td>
</tr>
</table>
</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>
xdeint_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>xdeint_selftest.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains the self-test functions for the XCfa driver.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- ----------------------------------------------
3.2 adk 02/13/14 First Release.
Added the XDeint_Selftest function.
</pre>
<p>
<code>#include &quot;<a class="el" href="xdeint_8h.html">xdeint.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="xdeint__selftest_8c.html#bdd3e7dca675ef8412788196ca486499">XDeint_Selftest</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="bdd3e7dca675ef8412788196ca486499"></a><!-- doxytag: member="xdeint_selftest.c::XDeint_Selftest" ref="bdd3e7dca675ef8412788196ca486499" args="(XDeint *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDeint_Selftest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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 Version register of Deinterlacer core and compares with zero 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 <a class="el" href="struct_x_deint.html">XDeint</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>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.

View file

@ -9,7 +9,7 @@
<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>
@ -22,57 +22,52 @@
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xdeint_sinit.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains static initialization methods for Xilinx Video Deinterlacer (DEINT) device driver.<p>
This file contains static initialization methods for Xilinx Video Deinterlacer (DEINT) core driver.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
<pre> Ver Who Date Changes
----- ----- -------- ------------------------------------------------------
1.00a rjh 07/10/11 First release.
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
3.2 adk 02/13/14 Added Doxygen support, adherence to Xilinx
coding standards.
</pre>
<p>
<code>#include &quot;<a class="el" href="xdeint_8h.html">xdeint.h</a>&quot;</code><br>
<code>#include &quot;xparameters.h&quot;</code><br>
<code>#include &quot;xdeint.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_deint___config.html">XDeint_Config</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__sinit_8c.html#53fb9d6bb5d44204d86866de7dd8f406">XDeint_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint__sinit_8c.html#47a257757977fcd8270e33dd7b776ce5">XDeint_LookupConfig</a> (u16 DeviceId)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="53fb9d6bb5d44204d86866de7dd8f406"></a><!-- doxytag: member="xdeint_sinit.c::XDeint_LookupConfig" ref="53fb9d6bb5d44204d86866de7dd8f406" args="(u16 DeviceId)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<a class="anchor" name="47a257757977fcd8270e33dd7b776ce5"></a><!-- doxytag: member="xdeint_sinit.c::XDeint_LookupConfig" ref="47a257757977fcd8270e33dd7b776ce5" args="(u16 DeviceId)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a>* XDeint_LookupConfig </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">u16&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>DeviceId</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
<td class="memname"><a class="el" href="struct_x_deint___config.html">XDeint_Config</a>* XDeint_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>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
</div>
<div class="memdoc">
<p>
XDeint_LookupConfig returns a reference to an <a class="el" href="struct_x_deint___config.html">XDeint_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="xdeint__g_8c.html">xdeint_g.c</a> file.<p>
This function returns a reference to an <a class="el" href="struct_x_deint___config.html">XDeint_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="xdeint__g_8c.html">xdeint_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>XDeint_LookupConfig returns a reference to a config record in the configuration table (in <a class="el" href="xdeint__g_8c.html">xDEINT_g.c</a>) corresponding to <em>DeviceId</em>, or NULL if no match is found. </dd></dl>
</td>
</tr>
</table>
<dl compact><dt><b>Returns:</b></dt><dd>XDeint_LookupConfig returns a reference to a config record in the configuration table (in <a class="el" href="xdeint__g_8c.html">xDEINT_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,163 @@
/******************************************************************************
*
* (c) Copyright 2014 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 deint_selftest_example.c
*
* This file contains an example using the XDeint driver to do self test
* on the device.
*
* MODIFICATION HISTORY:
* <pre>
* 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
* 3.2 adk 01/15/14 Modified function names as per guidelines
*
* </pre>
******************************************************************************/
/***************************** Include Files *********************************/
#include "xparameters.h"
#include "xdeint.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 ******************************/
int XDeintSelfTestExample(u16 DeviceId);
/************************** Variable Definitions *****************************/
XDeint Deint; /**<Instance of the Deinterlacer core */
/*****************************************************************************/
/**
*
* Main function to call the example.
*
* @return XST_SUCCESS if successful, otherwise XST_FAILURE.
*
* @note None.
*
******************************************************************************/
int main(void)
{
int Status;
/*
* Run the self test example
*/
Status = XDeintSelfTestExample((u16)XPAR_DEINT_0_DEVICE_ID);
if (Status != XST_SUCCESS) {
xil_printf("Deinterlacer Self test Example Failed\r\n");
return XST_FAILURE;
}
xil_printf("Successfully ran Deinterlacer Self test Example\r\n");
return XST_SUCCESS;
}
/*****************************************************************************/
/**
*
* This function does a minimal test on the XDeint driver.
*
*
* @param DeviceId is the XPAR_<DEINT_instance>_DEVICE_ID value from
* xparameters.h.
*
* @return XST_SUCCESS if successful, otherwise XST_FAILURE.
*
* @note None.
*
****************************************************************************/
int XDeintSelfTestExample(u16 DeviceId)
{
int Status;
XDeint_Config *Config;
/*
* Initialize the Deinterlacer driver so that it's ready to use
* Look up the configuration in the config table,
* then initialize it.
*/
Config = XDeint_LookupConfig(DeviceId);
if (NULL == Config) {
return XST_FAILURE;
}
Status = XDeint_ConfigInitialize(&Deint, Config, Config->BaseAddress);
if (Status != XST_SUCCESS) {
return XST_FAILURE;
}
/*
* Perform a self-test to check hardware build.
*/
Status = XDeint_Selftest(&Deint);
if (Status != XST_SUCCESS) {
return XST_FAILURE;
}
return XST_SUCCESS;
}

View file

@ -0,0 +1,18 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Driver example applications</title>
<link rel="stylesheet" type="text/css" href="../help.css">
</head>
<body bgcolor="#FFFFFF">
<h1> Example Applications for the driver deinterlacer </h1>
<HR>
<ul>
<li>deint_selftest_example.c <a href="deint_selftest_example.c">(source)</a> </li>
</ul>
<p><font face="Times New Roman" color="#800000">Copyright ? 1995-2014 Xilinx, Inc. All rights reserved.</font></p>
</body>
</html>

View file

@ -32,18 +32,25 @@
/*****************************************************************************/
/**
*
* @file XDeint.c
* @file xdeint.c
*
* This is main code of Xilinx Vide Deinterlacer
* device driver. Please see xdeint.h for more details of the driver.
* This is main code of Xilinx Vide Deinterlacer core.
* Please see xdeint.h for more details of the driver.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* Ver Who Date Changes
* ----- ---- -------- ------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* 3.2 adk 02/13/14 Changed the prototype of XDeint_GetVersion
* Implemented the following functions:
* XDeint_GetFramestore
* XDeint_GetVideo
* XDeint_GetThresholds
* XDeint_GetPulldown
* XDeint_GetSize
* </pre>
*
******************************************************************************/
@ -51,289 +58,475 @@
/***************************** Include Files *********************************/
#include "xdeint.h"
#include "xenv.h"
#include "xil_assert.h"
/************************** Constant Definitions *****************************/
/**************************** Type Definitions *******************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
static void StubCallBack(void *CallBackRef);
/************************** Function Definition ******************************/
/*****************************************************************************/
/**
* This function initializes an Deinterlacer device. This function must be called
* prior to using a Deinterlacer device. Initialization of an Deinterlacer includes
* setting up the instance data, and ensuring the hardware is in a quiescent
* state.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be
* worked on.
* @param CfgPtr points to the configuration structure associated with the
* Deinterlacer device.
* @param EffectiveAddr is the base address of the device. 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
*
*****************************************************************************/
int XDeint_ConfigInitialize(XDeint *InstancePtr, XDeint_Config *CfgPtr,
u32 EffectiveAddr)
{
/* Verify arguments */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(CfgPtr != NULL);
Xil_AssertNonvoid(EffectiveAddr != (u32)NULL);
/* Setup the instance */
memset((void *)InstancePtr, 0, sizeof(XDeint));
memcpy((void *)&(InstancePtr->Config), (const void *)CfgPtr,
sizeof(XDeint_Config));
InstancePtr->Config.BaseAddress = EffectiveAddr;
/* Set all handlers to stub values, let user configure this data later
*/
InstancePtr->IntCallBack = (XDeint_CallBack) StubCallBack;
/* Reset the hardware and set the flag to indicate the driver is ready
*/
XDeint_Disable(InstancePtr);
/* Reset the deinterlacer
*/
XDeint_Reset(InstancePtr);
/* Wait for Soft reset to complete
*/
while(XDeint_InReset(InstancePtr));
InstancePtr->IsReady = XIL_COMPONENT_IS_READY;
return XST_SUCCESS;
}
/*****************************************************************************/
/**
* This function sets up input field buffer addresses of an Deinterlacer device.
*
* @param InstancePtr is a pointer to the DEINT device instance to be
* worked on.
* @param FieldAddr1 is the address of the 1st input field buffer.
* @param FieldAddr2 is the address of the 2nd input field buffer.
* @param FieldAddr3 is the address of the 3rd input field buffer.
* @param FrameSize is the size in 32bit words of a single field buffer
* @return None.
*
*****************************************************************************/
void XDeint_SetFramestore(XDeint *InstancePtr,
u32 FieldAddr1, u32 FieldAddr2,
u32 FieldAddr3, u32 FrameSize)
{
/* Verify arguments */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
Xil_AssertVoid(FrameSize != (u32)NULL);
/* Set the input buffer addresses amd size of all fieldstores */
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_FS_BASE0,FieldAddr1);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_FS_BASE1,FieldAddr2);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_FS_BASE2,FieldAddr3);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_FS_WORDS,FrameSize);
return;
}
/*****************************************************************************/
/**
* This function sets up the video format
*
* @param Packing selects the XSVI video packing mode.
* @param Colour selects what colourspace to use
* @param Order selects which field ordering is being used
* @param psf enables psf (progressive segmented frame mode)
* @return None.
*
*****************************************************************************/
void XDeint_SetVideo(XDeint *InstancePtr,
u32 Packing, u32 Colour, u32 Order, u32 PSF)
{
u32 mode_reg;
/* Verify arguments */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
// Read modify write the mode register.
mode_reg = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,XDEINT_MODE);
mode_reg &= ~(XDEINT_MODE_PACKING_MASK |
XDEINT_MODE_COL_MASK |
XDEINT_MODE_FIELD_ORDER_MASK |
XDEINT_MODE_PSF_ENABLE_MASK);
mode_reg |= Packing | Colour | Order | PSF;
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE,mode_reg);
return;
}
/*****************************************************************************/
/**
* This function sets up the threshold used by the motion adaptive kernel
*
* @param InstancePtr is a pointer to the DEINT device instance to be
* worked on.
* @param T1 is the lower threshold of the motion kernel
* @param T2 is the upper threshold of the motion kernel
* @return None.
*
*****************************************************************************/
void XDeint_SetThresholds(XDeint *InstancePtr,
u32 t1, u32 t2)
{
u32 xfade;
/* Verify arguments */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
Xil_AssertVoid(t1 != (u32)NULL);
Xil_AssertVoid(t2 != (u32)NULL);
// Determine the T1->T2 cross fade setting.
xfade = (256*4096)/(t2-t1);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_T1,t1);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_T2,t2);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_XFADE,xfade);
return;
}
/*****************************************************************************/
/**
* This function sets up the pulldown controller
*
* @param InstancePtr is a pointer to the DEINT device instance to be
* worked on.
* @param enable
* @return None.
*
*****************************************************************************/
void XDeint_SetPulldown(XDeint *InstancePtr,
u32 enable_32,
u32 enable_22)
{
u32 mode_reg;
/* Verify arguments */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
// Read modify write the mode register.
mode_reg = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,XDEINT_MODE);
mode_reg &= ~(XDEINT_MODE_PULL_22_ENABLE | XDEINT_MODE_PULL_32_ENABLE);
if (enable_32)
mode_reg |= XDEINT_MODE_PULL_32_ENABLE;
if (enable_22)
mode_reg |= XDEINT_MODE_PULL_22_ENABLE;
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE,mode_reg);
return;
}
/*****************************************************************************/
/**
*
* This function returns the version of a Deinterlacer device.
* This function initializes the Deinterlacer core. This function must be
* called prior to using a Deinterlacer core. Initialization of the
* Deinterlacer includes setting up the instance data, and ensuring the
* hardware is in a quiescent state.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be
* worked on.
* @param Major points to an unsigned 16-bit variable that will be assigned
* with the major version number after this function returns. Value
* range is from 0x0 to 0xF.
* @param Minor points to an unsigned 16-bit variable that will be assigned
* with the minor version number after this function returns. Value
* range is from 0x00 to 0xFF.
* @param Revision points to an unsigned 16-bit variable that will be assigned
* with the revision version number after this function returns. Value
* range is from 0xA to 0xF.
* @return None.
* @note Example: Device version should read v2.01.c if major version number
* is 0x2, minor version number is 0x1, and revision version number is
* 0xC.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param CfgPtr points to the configuration structure associated with
* the Deinterlacer 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.
*
******************************************************************************/
void XDeint_GetVersion(XDeint *InstancePtr, u16 *Major, u16 *Minor,
u16 *Revision)
int XDeint_ConfigInitialize(XDeint *InstancePtr, XDeint_Config *CfgPtr,
u32 EffectiveAddr)
{
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(CfgPtr != NULL);
Xil_AssertNonvoid(EffectiveAddr != (u32)0x0);
/* Setup the instance */
(void)memset((void *)InstancePtr, 0, sizeof(XDeint));
(void)memcpy((void *)&(InstancePtr->Config), (const void *)CfgPtr,
sizeof(XDeint_Config));
InstancePtr->Config.BaseAddress = EffectiveAddr;
/*
* Set all handlers to stub values, let user configure this data later
*/
InstancePtr->IntCallBack = (XDeint_CallBack)((void *)StubCallBack);
/*
* Reset the hardware and set the flag to indicate the driver is ready
*/
XDeint_Disable(InstancePtr);
/* Reset the Deinterlacer */
XDeint_Reset(InstancePtr);
/* Wait for Soft reset to complete */
while(XDeint_InReset(InstancePtr));
InstancePtr->IsReady = (u32)(XIL_COMPONENT_IS_READY);
return (XST_SUCCESS);
}
/*****************************************************************************/
/**
*
* This function sets the input field buffer addresses of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param FieldAddr1 is the address of the 1st input field buffer.
* @param FieldAddr2 is the address of the 2nd input field buffer.
* @param FieldAddr3 is the address of the 3rd input field buffer.
* @param FrameSize is the size in 32bit words of a single field buffer.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_SetFramestore(XDeint *InstancePtr,
u32 FieldAddr1, u32 FieldAddr2,
u32 FieldAddr3, u32 FrameSize)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(FrameSize != (u32)0x0);
Xil_AssertVoid(FieldAddr1 != (u32)0x0);
Xil_AssertVoid(FieldAddr2 != (u32)0x0);
Xil_AssertVoid(FieldAddr3 != (u32)0x0);
/* Set the input buffer addresses and size of all field stores. */
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFFER0_OFFSET), FieldAddr1);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFFER1_OFFSET), FieldAddr2);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFFER2_OFFSET), FieldAddr3);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFSIZE_OFFSET), FrameSize);
}
/*****************************************************************************/
/**
*
* This function sets the video format of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param Packing selects the XSVI video packing mode.
* @param Color selects what color space to use.
* @param Order selects which field ordering is being used.
* @param PSF enables psf (progressive segmented frame mode).
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_SetVideo(XDeint *InstancePtr,
u32 Packing, u32 Color, u32 Order, u32 PSF)
{
u32 ModeReg;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
/* Read modify write the mode register. */
ModeReg = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_MODE_OFFSET));
ModeReg &= ~((XDEINT_MODE_PACKING_MASK) | (XDEINT_MODE_COL_MASK) |
(XDEINT_MODE_FIELD_ORDER_MASK) |
(XDEINT_MODE_PSF_ENABLE_MASK));
ModeReg |= Packing | Color | Order | PSF;
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_MODE_OFFSET), ModeReg);
}
/*****************************************************************************/
/**
*
* This function sets the threshold used by the motion adaptive kernel of the
* Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param ThresholdT1 is the lower threshold of the motion kernel.
* @param ThresholdT2 is the upper threshold of the motion kernel.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_SetThresholds(XDeint *InstancePtr, u32 ThresholdT1,
u32 ThresholdT2)
{
u32 XFade;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(ThresholdT1 != (u32)0x0);
Xil_AssertVoid(ThresholdT2 != (u32)0x0);
/* Determine the T1->T2 cross fade setting. */
XFade = (u32)((XDEINT_FADE_RATIO)/(ThresholdT2 - ThresholdT1));
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_THRESH1_OFFSET), ThresholdT1);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_THRESH2_OFFSET), ThresholdT2);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_XFADE_OFFSET), XFade);
}
/*****************************************************************************/
/**
*
* This function sets the pull down controller of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param Enable_32 allows detectors to automatically control
* Deinterlacer core.
* @param Enable_22 allows detectors to automatically control
* Deinterlacer core.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_SetPulldown(XDeint *InstancePtr, u32 Enable_32,
u32 Enable_22)
{
u32 ModeReg;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady ==
(u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid((Enable_32 == (u32)0x00) || (Enable_32 == (u32)0x01));
Xil_AssertVoid((Enable_22 == (u32)0x00) || (Enable_22 == (u32)0x01));
/* Read modify write the mode register.*/
ModeReg = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_MODE_OFFSET));
ModeReg &= ~(((u32)(XDEINT_MODE_PULL_22_ENABLE)) |
((u32)(XDEINT_MODE_PULL_32_ENABLE)));
/* Checking for Enable_32 */
if (Enable_32 == 1U) {
ModeReg |= ((u32)(XDEINT_MODE_PULL_32_ENABLE));
}
/* Checking for Enable_22 */
if (Enable_22 == 1U) {
ModeReg |= ((u32)(XDEINT_MODE_PULL_22_ENABLE));
}
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_MODE_OFFSET), ModeReg);
}
/*****************************************************************************/
/**
*
* This function returns the contents of Version register.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return Returns the contents of the version register.
*
* @note None.
*
******************************************************************************/
u32 XDeint_GetVersion(XDeint *InstancePtr)
{
u32 Version;
/* Verify arguments */
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(Major != NULL);
Xil_AssertVoid(Minor != NULL);
Xil_AssertVoid(Revision != NULL);
/* Read device version */
Version = XDeint_ReadReg(InstancePtr->Config.BaseAddress, XDEINT_VER);
/* Read core version. */
Version = XDeint_ReadReg(InstancePtr->Config.BaseAddress,
(XDEINT_VER_OFFSET));
/* Parse the version and pass the info to the caller via output
* parameter
*/
*Major = (u16)
((Version & XDEINT_VER_MAJOR_MASK) >> XDEINT_VER_MAJOR_SHIFT);
*Minor = (u16)
((Version & XDEINT_VER_MINOR_MASK) >> XDEINT_VER_MINOR_SHIFT);
*Revision = (u16)
((Version & XDEINT_VER_REV_MASK) >> XDEINT_VER_REV_SHIFT);
return;
return Version;
}
/*****************************************************************************/
/**
* This function sets up the input frame size of the deinterlacer
*
* @param InstancePtr is a pointer to the DEINT device instance to be
* worked on.
* @param Width
* @param Height
* @return None.
*
*****************************************************************************/
void XDeint_SetSize(XDeint *InstancePtr,
u32 Width, u32 Height)
*
* This function sets the input frame size of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param Width is the width of the frame.
* @param Height is the height of the frame.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_SetSize(XDeint *InstancePtr, u32 Width, u32 Height)
{
/* Verify arguments */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
Xil_AssertVoid(Width != (u32)NULL);
Xil_AssertVoid(Height != (u32)NULL);
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(Width != (u32)0x00);
Xil_AssertVoid(Height != (u32)0x00);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_HEIGHT,Height);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_WIDTH,Width);
return;
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_HEIGHT_OFFSET), Height);
XDeint_WriteReg((InstancePtr)->Config.BaseAddress,
(XDEINT_WIDTH_OFFSET), Width);
}
/*****************************************************************************/
/*
* This routine is a stub for the frame done interrupt callback. The stub is
* here in case the upper layer forgot to set the handler. On initialization,
* the frame done interrupt handler is set to this callback. It is considered
* an error for this handler to be invoked.
*
*****************************************************************************/
/**
*
* This routine is a stub for the interrupt callback. The stub is here in case
* the upper layer forgot to set the handler. On initialization,
* interrupt handler is set to this callback. It is considered an error for
* this handler to be invoked.
*
*****************************************************************************/
static void StubCallBack(void *CallBackRef)
{
Xil_AssertVoidAlways();
(void)CallBackRef;
Xil_AssertVoidAlways();
}
/*****************************************************************************/
/**
*
* This function gets the video format of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return Returns the video format.
*
* @note None.
*
******************************************************************************/
u32 XDeint_GetVideo(XDeint *InstancePtr)
{
u32 ModeReg;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->IsReady ==
(u32)(XIL_COMPONENT_IS_READY));
/* Read modify write the mode register. */
ModeReg = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_MODE_OFFSET));
return ModeReg;
}
/*****************************************************************************/
/**
*
* This function gets the pull down controller of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param Enable_32 is a pointer which holds status of Enable_32 mode.
* - FALSE = Disabled.
* - TRUE = Enabled.
* @param Enable_22 is a pointer which holds status of Enable_22 mode.
* - FALSE = Disabled.
* - TRUE = Enabled.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_GetPulldown(XDeint *InstancePtr, u32 *Enable_32,
u32 *Enable_22)
{
u32 ModeReg;
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady ==
(u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(Enable_32 != NULL);
Xil_AssertVoid(Enable_22 != NULL);
/* Read modify write the mode register.*/
ModeReg = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_MODE_OFFSET));
*Enable_32 = FALSE;
*Enable_22 = FALSE;
if (((ModeReg) & (XDEINT_MODE_PULL_32_ENABLE)) ==
XDEINT_MODE_PULL_32_ENABLE) {
*Enable_32 = TRUE;
}
if (((ModeReg) & (XDEINT_MODE_PULL_22_ENABLE)) ==
XDEINT_MODE_PULL_22_ENABLE) {
*Enable_22 = TRUE;
}
}
/*****************************************************************************/
/**
*
* This function gets the input frame size of the Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param Width is pointer to the width of the frame.
* @param Height is pointer to the height of the frame.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_GetSize(XDeint *InstancePtr, u32 *Width, u32 *Height)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(Width != NULL);
Xil_AssertVoid(Height != NULL);
*Height = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_HEIGHT_OFFSET));
*Width = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_WIDTH_OFFSET));
}
/*****************************************************************************/
/**
*
* This function gets the threshold used by the motion adaptive kernel.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param ThresholdT1 is the pointer to lower threshold of the
* motion kernel.
* @param ThresholdT2 is the pointer to upper threshold of the
* motion kernel.
*
* @return None.
*
******************************************************************************/
void XDeint_GetThresholds(XDeint *InstancePtr, u32 *ThresholdT1,
u32 *ThresholdT2)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady ==
(u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(ThresholdT1 != NULL);
Xil_AssertVoid(ThresholdT2 != NULL);
/* Determine the T1->T2 cross fade setting.*/
*ThresholdT1 = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_THRESH1_OFFSET));
*ThresholdT2 = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_THRESH2_OFFSET));
}
/*****************************************************************************/
/**
*
* This function gets input field buffer addresses of an Deinterlacer core.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param FieldAddr1 is the pointer to the 1st input field buffer.
* @param FieldAddr2 is the pointer to the 2nd input field buffer.
* @param FieldAddr3 is the pointer to the 3rd input field buffer.
* @param FrameSize is the pointer to size in 32bit words of a single
* field buffer.
*
* @return None.
*
* @note None.
*
******************************************************************************/
void XDeint_GetFramestore(XDeint *InstancePtr,
u32 *FieldAddr1, u32 *FieldAddr2,
u32 *FieldAddr3, u32 *FrameSize)
{
/* Verify arguments. */
Xil_AssertVoid(InstancePtr != NULL);
Xil_AssertVoid(InstancePtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
Xil_AssertVoid(FrameSize != NULL);
Xil_AssertVoid(FieldAddr1 != NULL);
Xil_AssertVoid(FieldAddr2 != NULL);
Xil_AssertVoid(FieldAddr3 != NULL);
/* Get the input buffer addresses and size of all field stores. */
*FieldAddr1 = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFFER0_OFFSET));
*FieldAddr2 = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFFER1_OFFSET));
*FieldAddr3 = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFFER2_OFFSET));
*FrameSize = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_BUFSIZE_OFFSET));
}

View file

@ -34,7 +34,7 @@
*
* @file xdeint.h
*
* This is the main header file of Xilinx Video Deinterlacer device driver
* This is the main header file of Xilinx Video Deinterlacer core.
*
* <b>Interrupt Service </b>
*
@ -42,21 +42,21 @@
* - Internal Register update done
* - Deinterlacer is locked to incoming video
* - Deinterlacer has lost lock to incoming video
* - Deinterlacer internal fifo error
* - Pulldown activated
* - Pulldown cancelled
* - Deinterlacer internal FIFO error
* - Pull down activated
* - Pull down cancelled
* - Frame Tick
* - Framestore Write setup error
* - Framestore Write fifo overflow
* - Framestore Read Field underrun
* - Framestore Read Frame underrun
* - Frame store Write setup error
* - Frame store Write FIFO overflow
* - Frame store Read Field under run
* - Frame store Read Frame under run
*
* This driver provides functions to install callbacks for the interrupts and
* enable/disable/clear any of them.
*
* <b> Examples </b>
*
* Example(s) are provided with this driver to demonstrate the driver usage.
* Example(s) are provided with this driver to demonstrate the self test.
*
* <b>Limitations</b>
*
@ -65,19 +65,47 @@
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* 3.0 adk 19/12/13 Updated as per the New Tcl API's
* 3.1 adk 09/05/14 Fixed the CR:798337 driver doesn't support the IP in the
* build.Changes are made in the driver mdd file.
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* 3.0 adk 19/12/13 Updated as per the New Tcl API's.
* 3.2 adk 02/13/14 Added Doxygen support, adherence to Xilinx
* coding standards.
*
* Modification history of xdeint_sinit.c:
* Added Doxygen support, adherence to Xilinx
* coding standards.
*
* Modification history of xdeint_selftest.c:
* Added the XDeint_Selftest function.
*
* Modification history of xdeint_intr.c:
* Adherence to Xilinx coding, Doxygen guidelines.
*
* Modification history of xdeint_i.h:
* Added Doxygen support.
*
* Modification history of xdeint_hw.h:
* Suffixed "_OFFSET" to all register offset macros.
* Added bit masks for the registers and added
* backward compatibility for macros.
*
* Modification history of xdeint.c:
* Changed the prototype of XDeint_GetVersion
* Implemented the following functions:
* XDeint_GetFramestore
* XDeint_GetVideo
* XDeint_GetThresholds
* XDeint_GetPulldown
* XDeint_GetSize
* </pre>
*
******************************************************************************/
#ifndef XDeint_H /* prevent circular inclusions */
#define XDeint_H /* by using protection macros */
#ifndef XDEINT_H
#define XDEINT_H /**< Prevent circular inclusions
* by using protection macros */
#ifdef __cplusplus
extern "C" {
@ -87,380 +115,426 @@ extern "C" {
#include "xdeint_hw.h"
#include "xstatus.h"
#include "xil_assert.h"
/************************** Constant Definitions *****************************/
/** @name Interrupt types for setting up callbacks
* @{
*/
#define XDeint_HANDLER /**< Internal Register update done */
#define XDEINT_HANDLER /**< Internal Register update done */
/*@}*/
/**************************** Type Definitions *******************************/
/**
* Deinterlacer device configuration structure.
* Each Deinterlacer device should have a configuration structure associated.
* Deinterlacer core configuration structure.
* Each Deinterlacer 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
* device's registers */
u16 DeviceId; /**< DeviceId is the unique ID of the core */
u32 BaseAddress; /**< BaseAddress is the physical base address
* of the core's registers */
} XDeint_Config;
/**
* Callback type for all interrupts
*
* @param none
*/
typedef void (*XDeint_CallBack) (u32 status);
typedef void (*XDeint_CallBack)(u32 status);
/**
* The XDeint driver instance data. An instance must be allocated for each
* DEINT device in use.
* Deintlerlacer core in use.
*/
typedef struct {
XDeint_Config Config; /**< hardware configuration */
u32 IsReady; /**< Device and the driver instance are initialized */
u32 xsize; /**< X Input Dimension */
u32 ysize; /**< Y Input Dimension */
XDeint_CallBack IntCallBack; /**< Call back for Status interrupt */
XDeint_Config Config; /**< Hardware configuration */
u32 IsReady; /**< Core and the driver instance
* are initialized */
u32 XSize; /**< X Input Dimension */
u32 YSize; /**< Y Input Dimension */
XDeint_CallBack IntCallBack; /**< Call back for Status interrupt */
void *IntRef; /**< To be passed to interrupt
* call back */
} XDeint;
/***************** Macros (Inline Functions) Definitions *********************/
/*****************************************************************************/
/**
*
* This macro enables the deinterlacer algorithms
* This macro enables the Deinterlacer algorithms.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Enable(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_Enable(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_Enable(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL) | \
XDEINT_CTL_ENABLE)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET)) | (XDEINT_CTL_ENABLE))
/*****************************************************************************/
/**
*
* This macro disables the deinterlacer algorithms
* This macro disables the Deinterlacer algorithms.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Disable(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_Disable(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_Disable(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL) & \
~XDEINT_CTL_ENABLE)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET)) & (~(XDEINT_CTL_ENABLE)))
/*****************************************************************************/
/**
*
* This macro enables the deinterlacer to accept video
* This macro enables the Deinterlacer core to accept video.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Start(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_Start(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_Start(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL) | \
XDEINT_CTL_ACCEPT_VIDEO)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET)) | (XDEINT_CTL_ACCEPT_VIDEO))
/*****************************************************************************/
/**
*
* This macro halts the deinterlacer on the next frame boundary
* This macro halts the Deinterlacer core on the next frame boundary.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Stop(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_Stop(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_Stop(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL) & \
~XDEINT_CTL_ACCEPT_VIDEO)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET)) & \
(~(XDEINT_CTL_ACCEPT_VIDEO)))
/*****************************************************************************/
/**
*
* This macro soft resets the deinterlacer to its default mode. This register will clear
* once the reset is complete. Software should poll here until the reset has completed
* NOTE : Attempting to alter CPU registers during a soft reset will result in no register
* changes due to the CPU interface being reset...
* This macro soft resets the Deinterlacer to its default mode. This register
* will clear once the reset is complete. Software should poll here until the
* reset has completed.
* NOTE : Attempting to alter CPU registers during a soft reset will result
* in no register changes due to the CPU interface being reset.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Reset(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_Reset(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_Reset(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_RESET,XDEINT_RESET_RESET_MASK)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_RESET_OFFSET), (u32)(XDEINT_RESET_RESET_MASK))
/*****************************************************************************/
/**
*
* This macro returns the current soft-reset state
* This macro returns the current soft-reset state.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return 1=In Reset, 0=Ready.
* @return 1=In Reset, 0=Ready.
*
* @note
* C-style signature:
* void XDeint_InReset(XDeint *InstancePtr);
* @note C-style signature:
* u32 XDeint_InReset(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_InReset(InstancePtr) \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_RESET)
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_RESET_OFFSET))
/*****************************************************************************/
/**
*
* This macro tells an DEINT device to pick up all the register value changes
* made so far by the software at the next frame boundary.
* This macro tells the Deinterlacer core to pick up all the register value
* changes made so far by the software at the next frame boundary.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_RegUpdateReq(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_RegUpdateReq(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_RegUpdateReq(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_CONTROL) | \
0x00000001)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_CONTROL_OFFSET)) | (XDEINT_CTL_UPDATE_REQ))
/*****************************************************************************/
/**
*
* This macro enables interrupts of an DEINT device.
* This macro enables the given individual interrupt(s) on the
* Deinterlacer core.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint 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 post ions of 0 will keep
* the previous setting.This mask is formed by OR'ing
* XDEINT_IXR_*_MASK constants defined in xdeint_hw.h to create
* this parameter value.
*
* @param IntrType is the type of the interrupts to enable. Use OR'ing of
* XDeint_IXR_* constants defined in xdeint_hw.h to create this parameter
* value.
* @return None.
*
* @return None
* @note The existing enabled interrupt(s) will remain enabled.
*
* @note
*
* The existing enabled interrupt(s) will remain enabled.
*
* C-style signature:
* void XDeint_IntrEnable(XDeint *InstancePtr, u32 IntrType);
* C-style signature:
* void XDeint_IntrEnable(XDeint *InstancePtr, u32 IntrType)
*
******************************************************************************/
#define XDeint_IntrEnable(InstancePtr, IntrType) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_IER, \
((IntrType) & XDEINT_IXR_ALLINTR_MASK) | \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_IER))
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_IER_OFFSET), ((IntrType) & \
(XDEINT_IXR_ALLINTR_MASK)) | \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, (XDEINT_IER_OFFSET)))
/*****************************************************************************/
/**
*
* This macro disables interrupts of an DEINT device.
* This macro disables the given individual interrupt(s) on the
* Deinterlacer core.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param IntrType is the bit-mask of the interrupts to be enabled.
* Bit positions of 1 will be disabled. Bit post ions of 0 will keep
* the previous setting.This mask is formed by OR'ing
* XDEINT_IXR_*_MASK constants defined in xdeint_hw.h to create
* this parameter value.
*
* @param IntrType is the type of the interrupts to disable. Use OR'ing of
* XDeint_IXR_* constants defined in xdeint_hw.h to create this parameter
* value.
* @return None.
*
* @return None
* @note Any other interrupt not covered by parameter IntrType, if
* enabled before this macro is called, will remain enabled.
*
* @note
*
* Any other interrupt not covered by parameter IntrType, if enabled before
* this macro is called, will remain enabled.
*
* C-style signature:
* void XDeint_IntrDisable(XDeint *InstancePtr, u32 IntrType);
* C-style signature:
* void XDeint_IntrDisable(XDeint *InstancePtr, u32 IntrType)
*
******************************************************************************/
#define XDeint_IntrDisable(InstancePtr, IntrType) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_IER, \
((~(IntrType)) & XDEINT_IXR_ALLINTR_MASK) & \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_ISR))
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_IER_OFFSET), ((~(IntrType)) & \
(XDEINT_IXR_ALLINTR_MASK)) & \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, (XDEINT_ISR_OFFSET)))
/*****************************************************************************/
/**
*
* This macro returns the pending interrupts of an DEINT device.
* This macro returns the pending interrupts of the Deinterlacer core.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return The pending interrupts of the DEINT. Use XDEINT_IXR_* constants
* defined in xdeint_hw.h to interpret this value.
* @return The pending interrupts of the Deinterlacer core. Use
* XDEINT_IXR_*_MASK constants defined in xdeint_hw.h to interpret
* this value.
*
* @note
*
* C-style signature:
* u32 XDeint_IntrGetPending(XDeint *InstancePtr);
* @note C-style signature:
* u32 XDeint_IntrGetPending(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_IntrGetPending(InstancePtr) \
(XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_IER) & \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_ISR) \
& XDEINT_IXR_ALLINTR_MASK)
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_IER_OFFSET)) & \
(XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_ISR_OFFSET)) & (XDEINT_IXR_ALLINTR_MASK))
/*****************************************************************************/
/**
*
* This macro clears/acknowledges pending interrupts of an DEINT device.
* This macro clears/acknowledges pending interrupts of the
* Deinterlacer core.
*
* @param InstancePtr is a pointer to the DEINT device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param IntrType is the pending interrupts to clear/acknowledge.
* Use OR'ing of XDEINT_IXR_*_MASK constants defined in
* xdeint_hw.h to create this parameter value.
*
* @param IntrType is the pending interrupts to clear/acknowledge. Use OR'ing
* of XDeint_IXR_* constants defined in xdeint_hw.h to create this
* parameter value.
* @return None.
*
* @return None
*
* @note
*
* C-style signature:
* void XDeint_IntrClear(XDeint *InstancePtr, u32 IntrType);
* @note C-style signature:
* void XDeint_IntrClear(XDeint *InstancePtr, u32 IntrType)
*
******************************************************************************/
#define XDeint_IntrClear(InstancePtr, IntrType) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_ISR, \
(IntrType) & XDeint_IntrGetPending(InstancePtr))
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_ISR_OFFSET), (IntrType) & \
(XDeint_IntrGetPending(InstancePtr)))
/*****************************************************************************/
/**
*
* This macro set the deinterlacers colour space RGB.
* This macro sets the Deinterlacer's color space to RGB.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Enable(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_SetRGB(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_SetRGB(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE) \
| XDEINT_MODE_COLOUR_RGB)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET)) | (XDEINT_MODE_COLOUR_RGB))
/*****************************************************************************/
/**
*
* This macro set the deinterlacers colour space to YUV.
* This macro sets the Deinterlacer's color space to YUV.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be worked on.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Enable(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_SetYUV(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_SetYUV(InstancePtr) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE, \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE) \
& ~XDEINT_MODE_COLOUR_RGB)
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET), \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET)) & (~(XDEINT_MODE_COLOUR_RGB)))
/*****************************************************************************/
/**
*
* This macro set the deinterlacers processing algorithm
* This macro sets the Deinterlacer's processing algorithm.
*
* @param InstancePtr is a pointer to the Deinterlacer device instance to be worked on.
* @param Alg is a algorthim setting from XDEINT_MODE_ALGORITHM_????
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param Alg is a algorithm setting from XDEINT_MODE_ALGORITHM_????
*
* @return None.
* @return None.
*
* @note
* C-style signature:
* void XDeint_Enable(XDeint *InstancePtr);
* @note C-style signature:
* void XDeint_SetAlgorithm(XDeint *InstancePtr, u32 Alg)
*
******************************************************************************/
#define XDeint_SetAlgorithm(InstancePtr,Alg) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE, \
(XDeint_ReadReg((InstancePtr)->Config.BaseAddress, XDEINT_MODE) \
& ~XDEINT_MODE_ALGORITHM_FULL) | Alg)
#define XDeint_SetAlgorithm(InstancePtr, Alg) \
XDeint_WriteReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET), \
(XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET)) & \
(~(XDEINT_MODE_ALGORITHM_FULL))) | \
(Alg))
/*****************************************************************************/
/**
*
* This macro gets the Deinterlacer's color space.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return Returns the color space.
* 0x00000004 - YUV color space,
* 0x00000000 - RGB color space.
*
* @note C-style signature:
* u32 XDeint_GetColorSpace(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_GetColorSpace(InstancePtr) \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET)) & (XDEINT_MODE_COLOUR_YUV)
/*****************************************************************************/
/**
*
* This macro gets the Deinterlacer's processing algorithm.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return Returns algorithm for deinterlacing method.
* - 0x00000000 = Pure field interpolating technique is used.
* - 0x00000001 = Diagonal engine is used.
* - 0x00000002 = Motion adaptive engine is used.
* - 0x00000003 = Motion and Diagonal engines are used.
*
* @note C-style signature:
* u32 XDeint_GetAlgorithm(XDeint *InstancePtr)
*
******************************************************************************/
#define XDeint_GetAlgorithm(InstancePtr) \
XDeint_ReadReg((InstancePtr)->Config.BaseAddress, \
(XDEINT_MODE_OFFSET)) & (~(XDEINT_MODE_ALGORITHM_FULL))
/************************** Function Prototypes ******************************/
/*
* Initialization and control functions in xdeint.c
*/
/* Initialization */
int XDeint_ConfigInitialize(XDeint *InstancePtr, XDeint_Config *CfgPtr,
u32 EffectiveAddr);
u32 EffectiveAddr);
/*
* Initialization functions in xdeint_sinit.c
*/
XDeint_Config *XDeint_LookupConfig(u16 DeviceId);
// Framestore management
void XDeint_SetFramestore(XDeint *InstancePtr,
u32 FieldAddr1, u32 FieldAddr2,
u32 FieldAddr3, u32 FrameSize);
// Deinterlacer Management
void XDeint_SetSize(XDeint *InstancePtr,
u32 Width, u32 Height);
void XDeint_SetPulldown(XDeint *InstancePtr,
u32 enable_32,
u32 enable_22);
void XDeint_SetThresholds(XDeint *InstancePtr,
u32 t1, u32 t2);
void XDeint_SetVideo(XDeint *InstancePtr,
u32 Packing, u32 Colour, u32 Order, u32 PSF);
/* Frame store management*/
void XDeint_SetFramestore(XDeint *InstancePtr, u32 FieldAddr1, u32 FieldAddr2,
u32 FieldAddr3, u32 FrameSize);
/* Deinterlacer Management */
void XDeint_SetSize(XDeint *InstancePtr, u32 Width, u32 Height);
void XDeint_SetPulldown(XDeint *InstancePtr, u32 Enable_32, u32 Enable_22);
void XDeint_SetThresholds(XDeint *InstancePtr, u32 ThresholdT1,
u32 ThresholdT2);
void XDeint_SetVideo(XDeint *InstancePtr, u32 Packing, u32 Color, u32 Order,
u32 PSF);
/*
* Interrupt related functions in xdeint_intr.c
*/
void XDeint_IntrHandler(void *InstancePtr);
int XDeint_SetCallBack(XDeint *InstancePtr, void *CallBackFunc);
u32 XDeint_GetVideo(XDeint *InstancePtr);
void XDeint_GetPulldown(XDeint *InstancePtr, u32 *Enable_32, u32 *Enable_22);
void XDeint_GetSize(XDeint *InstancePtr, u32 *Width, u32 *Height);
void XDeint_GetThresholds(XDeint *InstancePtr, u32 *ThresholdT1,
u32 *ThresholdT2);
void XDeint_GetFramestore(XDeint *InstancePtr,
u32 *FieldAddr1, u32 *FieldAddr2,
u32 *FieldAddr3, u32 *FrameSize);
u32 XDeint_GetVersion(XDeint *InstancePtr);
int XDeint_Selftest(XDeint *InstancePtr);
#ifdef __cplusplus
}
#endif
#endif /* end of protection macro */
#endif /* End of protection macro */

View file

@ -34,18 +34,19 @@
*
* @file XDeint_g.c
*
* This file contains a template for configuration table of Xilinx Video Deinterlacer
* For a real hardware system,
* Xilinx Platform Studio (XPS) will automatically generate a real configuration
* table to match the configuration of the Deinterlacer devices.
* This file contains a template for configuration table of Xilinx Video
* Deinterlacer For a real hardware system, Xilinx Platform Studio (XPS) will
* automatically generate a real configuration table to match the configuration
* of the Deinterlacer devices.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* Ver Who Date Changes
* ----- ------ -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* 3.2 adk 02/13/14 Adherence to Xilinx coding, Doxygen guidelines.
* </pre>
*
******************************************************************************/
@ -53,15 +54,15 @@
/***************************** Include Files *********************************/
#include "xparameters.h"
#include "xdeint.h"
#include "xparameters.h"
/**
* The configuration table for Video Deinterlacers devices
*/
* The configuration table for Video Deinterlacers devices
*/
XDeint_Config XDeint_ConfigTable[] = {
{
XPAR_DEINTERLACER_0_DEVICE_ID,
XPAR_DEINTERLACER_0_BASEADDR
XPAR_FMC_SENSOR_INPUT_V_DEINTERLACER_1_DEVICE_ID,
XPAR_FMC_SENSOR_INPUT_V_DEINTERLACER_1__BASEADDR
}
};

View file

@ -35,25 +35,29 @@
* @file xdeint_hw.h
*
* This header file contains identifiers and register-level driver functions (or
* macros) that can be used to access the Xilinx Video Deinterlacer device.
* macros) that can be used to access the Xilinx Video Deinterlacer core.
*
* For more information about the operation of this device, see the hardware
* specification and documentation in the higher level driver xdeint.h source
* For more information about the operation of this core, see the hardware
* specification and documentation in the higher level core xdeint.h source
* code file.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* Ver Who Date Changes
* ----- ------ -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release.
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
* 3.2 adk 02/13/14 Suffixed "_OFFSET" to all register offset macros.
* Added bit masks for the registers and added
* backward compatibility for macros.
* </pre>
*
******************************************************************************/
#ifndef XDeint_HW_H /* prevent circular inclusions */
#define XDeint_HW_H /* by using protection macros */
#ifndef XDEINT_HW_H
#define XDEINT_HW_H /**< Prevent circular inclusions
* by using protection macros */
#ifdef __cplusplus
extern "C" {
@ -65,180 +69,296 @@ extern "C" {
/************************** Constant Definitions *****************************/
/** @name Register Offsets
/** @name Register Offsets:
* @{
*/
#define XDEINT_CONTROL 0x000 /**< Deinterlacer Main Control */
#define XDEINT_MODE 0x004 /**< Deinterlacer internal Modes */
#define XDEINT_IER 0x008 /**< Interrupt Enable Control */
#define XDEINT_ISR 0x00C /**< Interrupt Enable Status */
#define XDEINT_HEIGHT 0x010 /**< Height */
#define XDEINT_WIDTH 0x014 /**< Width */
#define XDEINT_T1 0x018 /**< T1 Threshold */
#define XDEINT_T2 0x01C /**< T2 Threshold */
#define XDEINT_XFADE 0x020 /**< Cross Fade Ration */
#define XDEINT_FS_BASE0 0x024 /**< VFBC Field Buffer 0 Base */
#define XDEINT_FS_BASE1 0x028 /**< VFBC Field Buffer 1 Base */
#define XDEINT_FS_BASE2 0x02C /**< VFBC Field Buffer 2 Base */
#define XDEINT_FS_WORDS 0x030 /**< VFBC Field Buffer Page size in 32bit Words */
#define XDEINT_VER 0x0F0 /**< Hardware Version ID */
#define XDEINT_RESET 0x100 /**< Soft Reset */
#define XDEINT_CONTROL_OFFSET 0x000 /**< Deinterlacer Main
* Control */
#define XDEINT_MODE_OFFSET 0x004 /**< Deinterlacer internal
* Modes */
#define XDEINT_IER_OFFSET 0x008 /**< Interrupt Enable
* Control */
#define XDEINT_ISR_OFFSET 0x00C /**< Interrupt Enable Status */
#define XDEINT_HEIGHT_OFFSET 0x010 /**< Height */
#define XDEINT_WIDTH_OFFSET 0x014 /**< Width */
#define XDEINT_THRESH1_OFFSET 0x018 /**< T1 Threshold */
#define XDEINT_THRESH2_OFFSET 0x01C /**< T2 Threshold */
#define XDEINT_XFADE_OFFSET 0x020 /**< Cross Fade Ration */
#define XDEINT_BUFFER0_OFFSET 0x024 /**< VFBC Field Buffer 0
* Base */
#define XDEINT_BUFFER1_OFFSET 0x028 /**< VFBC Field Buffer 1
* Base */
#define XDEINT_BUFFER2_OFFSET 0x02C /**< VFBC Field Buffer 2
* Base */
#define XDEINT_BUFSIZE_OFFSET 0x030 /**< VFBC Field Buffer Page
* size in 32bit Words */
#define XDEINT_VER_OFFSET 0x0F0 /**< Hardware Version ID */
#define XDEINT_RESET_OFFSET 0x100 /**< Soft Reset */
/*@}*/
/** @name Interrupt Status/Enable Register bit definition
/** @name Interrupt Status/Enable Register bit definitions:
* @{
*/
#define XDEINT_IXR_UPDATE_MASK 0x00000001 /**< Internal Register update done */
#define XDEINT_IXR_LOCKED_MASK 0x00000002 /**< Deinterlacer is locked to incoming video */
#define XDEINT_IXR_UNLOCKED_MASK 0x00000004 /**< Deinterlacer has lost lock to incoming video */
#define XDEINT_IXR_ERROR_MASK 0x00000008 /**< Deinterlacer internal fifo error */
#define XDEINT_IXR_PULL_ON_MASK 0x00000010 /**< Pulldown activated */
#define XDEINT_IXR_PULL_OFF_MASK 0x00000020 /**< Pulldown cancelled */
#define XDEINT_IXR_FRAME_MASK 0x00000040 /**< Frame Tick */
#define XDEINT_IXR_FS_CFG_ERROR_MASK 0x00000100 /**< Framestore Write setup error */
#define XDEINT_IXR_FS_WR_ERROR_MASK 0x00000200 /**< Framestore Write fifo overflow */
#define XDEINT_IXR_FS_RD_FIELD_ERROR_MASK 0x00000400 /**< Framestore Read Field underrun */
#define XDEINT_IXR_FS_RD_FRAME_ERROR_MASK 0x00000800 /**< Framestore Read Frame underrun */
#define XDEINT_IXR_UPDATE_MASK 0x00000001 /**< Internal Register
* update done */
#define XDEINT_IXR_LOCKED_MASK 0x00000002 /**< Deinterlacer is
* locked to incoming
* video */
#define XDEINT_IXR_UNLOCKED_MASK 0x00000004 /**< Deinterlacer has
* lost lock to
* incoming
* video */
#define XDEINT_IXR_ERROR_MASK 0x00000008 /**< Deinterlacer
* internal
* FIFO error */
#define XDEINT_IXR_PULL_ON_MASK 0x00000010 /**< Pull down
* activated */
#define XDEINT_IXR_PULL_OFF_MASK 0x00000020 /**< Pull down
* cancelled */
#define XDEINT_IXR_FRAME_MASK 0x00000040 /**< Frame Tick */
#define XDEINT_IXR_FS_CFG_ERROR_MASK 0x00000100 /**< Frame store Write
* setup error */
#define XDEINT_IXR_FS_WR_ERROR_MASK 0x00000200 /**< Frame store Write
* FIFO overflow */
#define XDEINT_IXR_FS_RD_FIELD_ERROR_MASK 0x00000400 /**< Frame store Read
* Field under run */
#define XDEINT_IXR_FS_RD_FRAME_ERROR_MASK 0x00000800 /**< Frame store Read
* Frame under run */
#define XDEINT_IXR_ALLINTR_MASK (XDEINT_IXR_UPDATE_MASK | \
XDEINT_IXR_LOCKED_MASK | \
XDEINT_IXR_UNLOCKED_MASK | \
XDEINT_IXR_ERROR_MASK | \
XDEINT_IXR_PULL_ON_MASK | \
XDEINT_IXR_PULL_OFF_MASK | \
XDEINT_IXR_FRAME_MASK | \
XDEINT_IXR_FS_CFG_ERROR_MASK | \
XDEINT_IXR_FS_WR_ERROR_MASK | \
XDEINT_IXR_FS_RD_FIELD_ERROR_MASK | \
XDEINT_IXR_FS_RD_FRAME_ERROR_MASK) /**< Mask for all interrupts */
#define XDEINT_IXR_ALLINTR_MASK (XDEINT_IXR_UPDATE_MASK | \
XDEINT_IXR_LOCKED_MASK | \
XDEINT_IXR_UNLOCKED_MASK| \
XDEINT_IXR_ERROR_MASK | \
XDEINT_IXR_PULL_ON_MASK | \
XDEINT_IXR_PULL_OFF_MASK| \
XDEINT_IXR_FRAME_MASK | \
XDEINT_IXR_FS_CFG_ERROR_MASK | \
XDEINT_IXR_FS_WR_ERROR_MASK | \
XDEINT_IXR_FS_RD_FIELD_ERROR_MASK | \
XDEINT_IXR_FS_RD_FRAME_ERROR_MASK)
/**< Mask for all
* interrupts */
/*@}*/
/** @name Error Status bit definition
/** @name Error Status/ bit definitions:
* @{
*/
#define XDEINT_STS_ERROR 0x00000008 /**< Deinterlacer internal fifo error */
#define XDEINT_STS_FS_CFG_ERROR 0x00000100 /**< Framestore Write setup error */
#define XDEINT_STS_FS_WR_ERROR 0x00000200 /**< Framestore Write fifo overflow */
#define XDEINT_STS_FS_RD_FIELD_ERROR 0x00000400 /**< Framestore Read Field underrun */
#define XDEINT_STS_FS_RD_FRAME_ERROR 0x00000800 /**< Framestore Read Frame underrun */
#define XDEINT_STS_ERROR_OFFSET 0x00000008 /**< Deinterlacer
* internal FIFO
* error */
#define XDEINT_STS_FS_CFG_ERROR 0x00000100 /**< Frame store Write
* setup error */
#define XDEINT_STS_FS_WR_ERROR 0x00000200 /**< Frame store Write
* FIFO overflow */
#define XDEINT_STS_FS_RD_FIELD_ERROR 0x00000400 /**< Frame store Read
* Field under run */
#define XDEINT_STS_FS_RD_FRAME_ERROR 0x00000800 /**< Frame store Read
* Frame under run */
/*@}*/
#define XDEINT_RESET_RESET_MASK 0x00000001 /**< Software Reset */
#define XDEINT_RESET_RESET_MASK 0x00000001 /**< Software Reset */
/** @name Deinterlacer COntrol Fields
/** @name Deinterlacer Control Fields:
* @{
*/
#define XDEINT_VER_MAJOR_MASK 0xF0000000 /**< Major Version */
#define XDEINT_VER_MAJOR_SHIFT 28 /**< Major Bit Shift */
#define XDEINT_VER_MINOR_MASK 0x0FF00000 /**< Minor Version */
#define XDEINT_VER_MINOR_SHIFT 20 /**< Minor Bit Shift */
#define XDEINT_VER_REV_MASK 0x000F0000 /**< Revision Version */
#define XDEINT_VER_REV_SHIFT 16 /**< Revision Bit Shift */
#define XDEINT_VER_MAJOR_MASK 0xF0000000 /**< Major Version */
#define XDEINT_VER_MAJOR_SHIFT 28 /**< Major Bit Shift */
#define XDEINT_VER_MINOR_MASK 0x0FF00000 /**< Minor Version */
#define XDEINT_VER_MINOR_SHIFT 20 /**< Minor Bit Shift */
#define XDEINT_VER_REV_MASK 0x000F0000 /**< Revision
* Version */
#define XDEINT_VER_REV_SHIFT 16 /**< Revision Bit
* Shift */
/*@}*/
/** @name Deinterlacer COntrol Fields
/** @name Deinterlacer Control Fields:
* @{
*/
#define XDEINT_CTL_UPDATE_REQ 0x00000001 /**< Queue a register update request */
#define XDEINT_CTL_ENABLE 0x00000002 /**< Enable/Disable deinterlacer algorithms*/
#define XDEINT_CTL_ACCEPT_VIDEO 0x00000004 /**< Accept Video into the deinterlacer */
#define XDEINT_CTL_UPDATE_REQ 0x00000001 /**< Queue a register update
* request */
#define XDEINT_CTL_ENABLE 0x00000002 /**< Enable/Disable
* Deinterlacer algorithms */
#define XDEINT_CTL_ACCEPT_VIDEO 0x00000004 /**< Accept Video into the
* Deinterlacer */
/*@}*/
/** @name Deinterlacer Mode Fields
/** @name Deinterlacer Mode Fields:
* @{
*/
#define XDEINT_MODE_ALGORITHM_0 0x00000001 /**< Deinterlacer algorithm */
#define XDEINT_MODE_ALGORITHM_1 0x00000002 /**< Deinterlacer algorithm */
#define XDEINT_MODE_COL 0x00000004 /**< Colour Space */
#define XDEINT_MODE_PACKING_0 0x00000008 /**< XSVI Packing */
#define XDEINT_MODE_PACKING_1 0x00000010 /**< XSVI Packing */
#define XDEINT_MODE_FIELD_ORDER 0x00000020 /**< First field order */
#define XDEINT_MODE_PSF_ENABLE 0x00000040 /**< PSF passthrough enable */
#define XDEINT_MODE_PULL_32_ENABLE 0x00000080 /**< Pulldown 3:2 control enable */
#define XDEINT_MODE_PULL_22_ENABLE 0x00000100 /**< Pulldown 3:2 control enable */
#define XDEINT_MODE_COLOUR_RGB 0x00000000 /**< Deinterlacer colour space*/
#define XDEINT_MODE_COLOUR_YUV 0x00000004 /**< Deinterlacer colour space*/
#define XDEINT_MODE_ALGORITHM_RAW 0x00000000 /**< Deinterlacer algorithm option 0*/
#define XDEINT_MODE_ALGORITHM_DIAG 0x00000001 /**< Deinterlacer algorithm option 1*/
#define XDEINT_MODE_ALGORITHM_MOTION 0x00000002 /**< Deinterlacer algorithm option 2*/
#define XDEINT_MODE_ALGORITHM_FULL 0x00000003 /**< Deinterlacer algorithm option 3*/
#define XDEINT_MODE_PACKING_420 0x00000000 /**< XSVI Packing mode 420*/
#define XDEINT_MODE_PACKING_422 0x00000008 /**< XSVI Packing mode 422*/
#define XDEINT_MODE_PACKING_444 0x00000010 /**< XSVI Packing mode 444*/
#define XDEINT_MODE_FIELD_EVEN_FIRST 0x00000020 /**< First field of frame contains even video lines*/
#define XDEINT_MODE_FIELD_ODD_FIRST 0x00000000 /**< First field of frame contains odd video lines*/
// RMW Masking Bits.
#define XDEINT_MODE_ALGORITHM_MASK 0x00000003 /**< Deinterlacer algorithm */
#define XDEINT_MODE_COL_MASK 0x00000004 /**< Colour Space */
#define XDEINT_MODE_PACKING_MASK 0x00000018 /**< XSVI Packing */
#define XDEINT_MODE_FIELD_ORDER_MASK 0x00000020 /**< First field order */
#define XDEINT_MODE_PSF_ENABLE_MASK 0x00000040 /**< PSF passthrough enable */
#define XDEINT_MODE_PULL_ENABLE_MASK 0x00000180 /**< Pulldown control enable */
#define XDEINT_MODE_ALGORITHM_0 0x00000001 /**< Deinterlacer
* algorithm */
#define XDEINT_MODE_ALGORITHM_1 0x00000002 /**< Deinterlacer
* algorithm */
#define XDEINT_MODE_COL 0x00000004 /**< Color Space */
#define XDEINT_MODE_PACKING_0 0x00000008 /**< XSVI Packing */
#define XDEINT_MODE_PACKING_1 0x00000010 /**< XSVI Packing */
#define XDEINT_MODE_FIELD_ORDER 0x00000020 /**< First field
* order */
#define XDEINT_MODE_PSF_ENABLE 0x00000040 /**< PSF pass through
* enable */
#define XDEINT_MODE_PULL_32_ENABLE 0x00000080 /**< Pull down 3:2
* control enable */
#define XDEINT_MODE_PULL_22_ENABLE 0x00000100 /**< Pull down 2:2
* control enable */
#define XDEINT_MODE_PULL_22_FIELDP 0x00000200 /**< Pull down 2:2
* Field
* Precedence */
#define XDEINT_MODE_COLOUR_RGB 0x00000000 /**< Deinterlacer
* color space */
#define XDEINT_MODE_COLOUR_YUV 0x00000004 /**< Deinterlacer
* color space */
#define XDEINT_MODE_ALGORITHM_RAW 0x00000000 /**< Deinterlacer
* algorithm
* option 0 */
#define XDEINT_MODE_ALGORITHM_DIAG 0x00000001 /**< Deinterlacer
* algorithm
* option 1 */
#define XDEINT_MODE_ALGORITHM_MOTION 0x00000002 /**< Deinterlacer
* algorithm
* option 2 */
#define XDEINT_MODE_ALGORITHM_FULL 0x00000003 /**< Deinterlacer
* algorithm
* option 3 */
#define XDEINT_MODE_PACKING_420 0x00000000 /**< XSVI Packing mode
* 420 */
#define XDEINT_MODE_PACKING_422 0x00000008 /**< XSVI Packing mode
* 422 */
#define XDEINT_MODE_PACKING_444 0x00000010 /**< XSVI Packing mode
* 444 */
#define XDEINT_MODE_FIELD_EVEN_FIRST 0x00000020 /**< First field of
* frame
* contains even
* video lines */
#define XDEINT_MODE_FIELD_ODD_FIRST 0x00000000 /**< First field of
* frame
* contains odd
* video lines */
/* RMW Masking Bits.*/
#define XDEINT_MODE_ALGORITHM_MASK 0x00000003 /**< Deinterlacer
* algorithm */
#define XDEINT_MODE_COL_MASK 0x00000004 /**< Color Space */
#define XDEINT_MODE_PACKING_MASK 0x00000018 /**< XSVI Packing */
#define XDEINT_MODE_FIELD_ORDER_MASK 0x00000020 /**< First field
* order */
#define XDEINT_MODE_PSF_ENABLE_MASK 0x00000040 /**< PSF pass through
* enable */
#define XDEINT_MODE_PULL_ENABLE_MASK 0x00000180 /**< Pull down control
* enable */
/*@}*/
/** @name Deinterlacer height bit definitions:
* @{
*/
#define XDEINT_HEIGHT_MASK 0x000007FF /**< Deinterlacer height */
/*@}*/
/** @name Deinterlacer width bit definitions:
* @{
*/
#define XDEINT_WIDTH_MASK 0x000007FF /**< Deinterlacer width */
/*@}*/
/** @name Deinterlacer Threshold T1 /T2 bit definitions:
* @{
*/
#define XDEINT_THRESHOLD_MASK 0x000003FF /**< Deinterlacer threshold */
/*@}*/
/** @name Deinterlacer cross fade cycle bit definitions:
* @{
*/
#define XDEINT_XFADE_MASK 0x0000FFFF /**< Deinterlacer Cross fade
* cycle */
/*@}*/
/** @name Deinterlacer Buffer cycle bit definitions:
* @{
*/
#define XDEINT_BUF_SIZE_MASK 0x00FFFFFF /**< Deinterlacer Buffer
* size mask */
/*@}*/
/* (4096*256) */
#define XDEINT_FADE_RATIO 1048576 /**< Fade ratio */
/**@name Backward compatibility macros
* @{
*/
#define XDEINT_CONTROL XDEINT_CONTROL_OFFSET
#define XDEINT_MODE XDEINT_MODE_OFFSET
#define XDEINT_IER XDEINT_IER_OFFSET
#define XDEINT_ISR XDEINT_ISR_OFFSET
#define XDEINT_HEIGHT XDEINT_HEIGHT_OFFSET
#define XDEINT_WIDTH XDEINT_WIDTH_OFFSET
#define XDEINT_T1 XDEINT_THRESH1_OFFSET
#define XDEINT_T2 XDEINT_THRESH2_OFFSET
#define XDEINT_XFADE XDEINT_XFADE_OFFSET
#define XDEINT_FS_BASE0 XDEINT_BUFFER0_OFFSET
#define XDEINT_FS_BASE1 XDEINT_BUFFER1_OFFSET
#define XDEINT_FS_BASE2 XDEINT_BUFFER2_OFFSET
#define XDEINT_FS_WORDS XDEINT_BUFSIZE_OFFSET
#define XDEINT_VER XDEINT_VER_OFFSET
#define XDEINT_RESET XDEINT_RESET_OFFSET
/*@}*/
/***************** Macros (Inline Functions) Definitions *********************/
/** @name Core register I/O APIs:
* @{
*/
#define XDeint_In32 Xil_In32
#define XDeint_Out32 Xil_Out32
/*****************************************************************************/
/**
*
* This macro reads the given register.
*
* @param BaseAddress is the base address of the core.
* @param RegOffset is the register offset to be read.
*
* @return The 32-bit value of the register.
*
* @note C-style signature:
* u32 XDeint_ReadReg(u32 BaseAddress, u32 RegOffset)
*
******************************************************************************/
#define XDeint_ReadReg(BaseAddress, RegOffset) \
XDeint_In32((BaseAddress) + (u32)(RegOffset))
/*****************************************************************************/
/**
*
* This macro writes the given register.
*
* @param BaseAddress is the base address of the core.
* @param RegOffset is the register offset to be written.
* @param Data is the 32-bit value to write to the register.
*
* @return None.
*
* @note C-style signature:
* void XDeint_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)
*
******************************************************************************/
#define XDeint_WriteReg(BaseAddress, RegOffset, Data) \
XDeint_Out32((BaseAddress) + (u32)(RegOffset), (Data))
/*@}*/
/**************************** Type Definitions *******************************/
/***************** Macros (Inline Functions) Definitions *********************/
/** @name Device register I/O APIs
* @{
*/
#define XDeint_In32 Xil_In32
#define XDeint_Out32 Xil_Out32
/*****************************************************************************/
/**
*
* Read the given register.
*
* @param BaseAddress is the base address of the device
* @param RegOffset is the register offset to be read
*
* @return The 32-bit value of the register
*
* @note
* C-style signature:
* u32 XDeint_ReadReg(u32 BaseAddress, u32 RegOffset)
*
******************************************************************************/
#define XDeint_ReadReg(BaseAddress, RegOffset) \
XDeint_In32((BaseAddress) + (RegOffset))
/*****************************************************************************/
/**
*
* Write the given register.
*
* @param BaseAddress is the base address of the device
* @param RegOffset is the register offset to be written
* @param Data is the 32-bit value to write to the register
*
* @return None.
*
* @note
* C-style signature:
* void XDeint_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)
*
******************************************************************************/
#define XDeint_WriteReg(BaseAddress, RegOffset, Data) \
XDeint_Out32((BaseAddress) + (RegOffset), (Data))
/*@}*/
/************************** Function Prototypes ******************************/
/************************** Variable Declarations ****************************/
#ifdef __cplusplus
}
#endif
#endif /* end of protection macro */
#endif /* End of protection macro */

View file

@ -34,30 +34,47 @@
*
* @file xdeint_i.h
*
* This code contains internal functions of the Xilinx Video Deinterlacer device
* driver. The application should not need the functions in this code to control
* the Video Deinterlacer device. Read xdeint.h for detailed information about the driver
*
* This code contains internal functions of the Xilinx Video Deinterlacer core.
* The application should not need the functions in this code to control
* the Video Deinterlacer core. Read xdeint.h for detailed information about
* the core.
* <pre>
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* 1.00a rjh 07/10/11 First release.
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
* 3.2 adk 02/13/14 Added Doxygen support.
* </pre>
*
******************************************************************************/
#ifndef XDeint_I_H /* prevent circular inclusions */
#define XDeint_I_H /* by using protection macros */
#ifndef XDEINT_I_H
#define XDEINT_I_H /**< Prevent circular inclusions
* by using protection macros */
#ifdef __cplusplus
extern "C" {
#endif
/***************************** Include Files *********************************/
/************************** Constant Definitions *****************************/
/* Base address fetch */
#define XDeint_BaseAddr(InstancePtr) ((InstancePtr)->Config.BaseAddress)
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
#ifdef __cplusplus
}
#endif
#endif /* end of protection macro */
#endif /* End of protection macro */

View file

@ -35,27 +35,46 @@
* @file xdeint_intr.c
*
* This code contains interrupt related functions of Xilinx Video
* Deinterlacer (DEINT) device driver. Please see xdeint.h for
* more details of the driver.
* Deinterlacer (DEINT) core. Please see xdeint.h for more details of the core.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* Ver Who Date Changes
* ----- ----- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release.
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
* 3.2 adk 02/13/14 Adherence to Xilinx coding, Doxygen guidelines.
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xdeint.h"
#include "xil_assert.h"
/************************** Constant Definitions *****************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
/************************** Variable Definitions *****************************/
/************************** Function Definitions *****************************/
/*****************************************************************************/
/**
*
* This function is the interrupt handler for the Deinterlacer
* This function is the interrupt handler for the Deinterlacer core.
*
* This handler reads the pending interrupt from the IER/ISR, determines the
* source of the interrupts, calls according callback, and finally clears the
@ -63,40 +82,38 @@
*
* 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
* XDeint_SetCallBack() during initialization phase. An example delivered with
* this driver demonstrates how this could be done.
* callbacks to handle interrupts and installing the callbacks using
* XDeint_SetCallBack() during initialization phase.
*
* @param InstancePtr is a pointer to the XDeint instance that just
* interrupted.
* @return None.
* @note The Error interrupt callback invoked in case an error interrupt or
* spurious interrupt happens should reset the DEINT device that just
* interrupted.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return None.
*
* @note The Error interrupt callback invoked in case an error interrupt
* or spurious interrupt happens should reset the Deinterlacer
* core that just interrupted.
*
******************************************************************************/
void XDeint_IntrHandler(void *InstancePtr)
{
XDeint *XDeintPtr;
u32 PendingIntr;
u32 ErrorStatus;
XDeint *XDeintPtr;
u32 PendingIntr;
/* Validate parameters */
XDeintPtr = (XDeint *) InstancePtr;
Xil_AssertVoid(XDeintPtr != NULL);
Xil_AssertVoid(XDeintPtr->IsReady == XIL_COMPONENT_IS_READY);
/* Verify arguments. */
XDeintPtr = (XDeint *)((void *)InstancePtr);
Xil_AssertVoid(XDeintPtr != NULL);
Xil_AssertVoid(XDeintPtr->IsReady == (u32)(XIL_COMPONENT_IS_READY));
/* Get pending interrupts */
PendingIntr = XDeint_IntrGetPending(XDeintPtr);
/* Get pending interrupts. */
PendingIntr = XDeint_IntrGetPending(XDeintPtr);
/* Clear pending interrupt(s) */
XDeint_IntrClear(XDeintPtr, PendingIntr);
/* A known interrupt has happened. */
if (PendingIntr == (u32)1) {
XDeintPtr->IntCallBack(PendingIntr);
}
/* A known interrupt has happened */
if (PendingIntr)
XDeintPtr->IntCallBack(PendingIntr);
return;
/* Clear pending interrupt(s). */
XDeint_IntrClear(XDeintPtr, PendingIntr);
}
/*****************************************************************************/
@ -104,25 +121,26 @@ void XDeint_IntrHandler(void *InstancePtr)
*
* This routine installs an asynchronous callback function.
*
* @param InstancePtr is a pointer to the XDeint instance to be worked on.
* @param CallbackFunc is the address of the callback function.
* @param InstancePtr is a pointer to XDeint instance to be worked on.
* @param CallBackFunc is the address of the callback function.
*
* @return
* - XST_SUCCESS when handler is installed.
* - XST_INVALID_PARAM when HandlerType is invalid.
* - 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.
* @note Invoking this function for a handler that already has been
* installed replaces it with the new handler.
*
******************************************************************************/
int XDeint_SetCallBack(XDeint *InstancePtr,void *CallBackFunc)
int XDeint_SetCallBack(XDeint *InstancePtr, void *CallBackFunc)
{
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY);
Xil_AssertNonvoid(CallBackFunc != NULL);
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Xil_AssertNonvoid(InstancePtr->IsReady ==
(u32)(XIL_COMPONENT_IS_READY));
Xil_AssertNonvoid(CallBackFunc != NULL);
InstancePtr->IntCallBack = (XDeint_CallBack) CallBackFunc;
InstancePtr->IntCallBack = (XDeint_CallBack)((void *)CallBackFunc);
return XST_SUCCESS;
return (XST_SUCCESS);
}

View file

@ -0,0 +1,105 @@
/******************************************************************************
*
* 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 xdeint_selftest.c
*
* This file contains the self-test functions for the XCfa driver.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- ----------------------------------------------
* 3.2 adk 02/13/14 First Release.
* Added the XDeint_Selftest function.
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xdeint.h"
#include "xstatus.h"
/************************** Constant Definitions *****************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
/************************** Variable Definitions *****************************/
/************************** Function Definitions *****************************/
/*****************************************************************************/
/**
*
* This function reads Version register of Deinterlacer core and compares
* with zero as part of self test.
*
* @param InstancePtr is a pointer to XDeint instance to be worked on.
*
* @return
* - XST_SUCCESS if the test was successful.
* - XST_FAILURE if the test failed.
*
******************************************************************************/
int XDeint_Selftest(XDeint *InstancePtr)
{
u32 Version;
int Status;
/* Verify arguments. */
Xil_AssertNonvoid(InstancePtr != NULL);
Version = XDeint_ReadReg((InstancePtr)->Config.BaseAddress,
(XDEINT_VER_OFFSET));
/* Compare Version with zero */
if (Version != (u32)0x0) {
Status = (XST_SUCCESS);
}
else {
Status = (XST_FAILURE);
}
return Status;
}

View file

@ -31,66 +31,81 @@
******************************************************************************/
/*****************************************************************************/
/**
*
* @file xdeint_sinit.c
*
* This file contains static initialization methods for Xilinx Video
* Deinterlacer (DEINT) device driver.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ---- -------- -------------------------------------------------------
* 1.00a rjh 07/10/11 First release
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
* </pre>
*
******************************************************************************/
*
* @file xdeint_sinit.c
*
* This file contains static initialization methods for Xilinx Video
* Deinterlacer (DEINT) core driver.
*
* <pre>
* MODIFICATION HISTORY:
*
* Ver Who Date Changes
* ----- ----- -------- ------------------------------------------------------
* 1.00a rjh 07/10/11 First release.
* 2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00.
* 3.2 adk 02/13/14 Added Doxygen support, adherence to Xilinx
* coding standards.
* </pre>
*
******************************************************************************/
/***************************** Include Files *********************************/
#include "xparameters.h"
#include "xdeint.h"
#include "xparameters.h"
/************************** Constant Definitions *****************************/
/**************************** Type Definitions *******************************/
/***************** Macros (Inline Functions) Definitions *********************/
/**************************** Type Definitions *******************************/
/************************** Function Prototypes ******************************/
/************************** Variable Definitions *****************************/
/************************** Function Definitions *****************************/
/*****************************************************************************/
/**
* XDeint_LookupConfig returns a reference to an XDeint_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 xdeint_g.c
* file.
*
* @param DeviceId is the unique device ID of the device for the lookup
* operation.
*
* @return XDeint_LookupConfig returns a reference to a config record in the
* configuration table (in xDEINT_g.c) corresponding to <i>DeviceId</i>,
* or NULL if no match is found.
*
******************************************************************************/
*
* This function returns a reference to an XDeint_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 xdeint_g.c
* file.
*
* @param DeviceId is the unique device ID of the device for the lookup
* operation.
*
* @return XDeint_LookupConfig returns a reference to a config record
* in the configuration table (in xDEINT_g.c) corresponding to
* <i>DeviceId</i> or NULL if no match is found.
*
* @note None.
*
******************************************************************************/
XDeint_Config *XDeint_LookupConfig(u16 DeviceId)
{
extern XDeint_Config XDeint_ConfigTable[];
extern XDeint_Config XDeint_ConfigTable[XPAR_XDEINT_NUM_INSTANCES];
XDeint_Config *CfgPtr = NULL;
int i;
u32 Index;
for (i = 0; i < XPAR_XDEINT_NUM_INSTANCES; i++) {
if (XDeint_ConfigTable[i].DeviceId == DeviceId) {
CfgPtr = &XDeint_ConfigTable[i];
/* To get the reference pointer to XDeint_Config structure */
for (Index = (u32)0x0; Index < (u32)(XPAR_XDEINT_NUM_INSTANCES);
Index++) {
/* Compare device Id with configTable's device Id */
if (XDeint_ConfigTable[Index].DeviceId == DeviceId) {
CfgPtr = &XDeint_ConfigTable[Index];
break;
}
}
return (CfgPtr);
return (XDeint_Config *)(CfgPtr);
}