From M1Research

Jump to: navigation, search

Configuration file supplied with VZ is used for hardware dependent configuration.

Configuration file has XML format and consists of some section that describes some module behaviour, main sections described bellow.



	<module name="main">
		<!-- output module name -->
<!--		<param name="output" value="bluefish" /> -->
		<param name="output" value="nullvideo" />
<!--		<param name="output" value="streamalpha" />    --> 

		<!-- font (.ttf) files path -->
		<param name="font_path" value="C:\WINDOWS\Fonts" />

This section configure some global vz functionality.

output paramter defines which output module will be used. By default nullvideo is used. For bluefish output module using uncomment string with bluefish value of parameter output.

font_path parameter is used to point to main Truetype storage directory. Override it if you need. Additionaly fonts can be stored in local to vz.exe folder fonts.


	<module name="vzOutput">
			enable to use asyncronous reading of framebuffer
			based on 'GL_EXT_pixel_buffer_object' GL extension
<!--		<param name="use_offscreen_buffer" value="defined" />  -->

This section was used to configure vzOutput.dll. Main purpose of use this section is override method used for rendered surface download: classic glReadPixel or GL_EXT_framebuffer_object. For current moment for modern card i found no difference in using second method. Possible will be dropped in future.


	<module name="vzMain">
		<!--  define field-based rendering mode used -->
		<param name="fields" value="defined" /> 

		<!-- enable -->
		<param name="enable_GL_SRC_ALPHA_SATURATE" value="defined"/>

You can override parameter fields (comment out) to enable "progressive" rendering, not field based (do it with caution - enabling frame-based rendering makes some animation become not smooth) enable_GL_SRC_ALPHA_SATURATE parameter provides additinal configuration of glBlendFuncSeparateEXT function: GL_ONE_MINUS_DST_ALPHA or GL_SRC_ALPHA_SATURATE as parameter for source distination.


	<module name="tvspec">
		<!-- long TV_FRAME_DUR_MS;// frame length (time period) (ms)  -->
		<param name="TV_FRAME_DUR_MS" value="40"/>

		<!-- long TV_FRAME_HEIGHT;	// frame height (px) -->
		<param name="TV_FRAME_HEIGHT" value="576"/>

		<!-- long TV_FRAME_WIDTH;// frame width (px) -->
		<param name="TV_FRAME_WIDTH" value="720"/>

		<!-- long TV_FRAME_1ST;	// first field in frame -->
		<param name="TV_FRAME_1ST" value="0"/>

		<!-- long TV_FRAME_PS;	// frames per seconds -->
		<param name="TV_FRAME_PS" value="25"/>

Defines geometric rendering parameters. By default configured for PAL world.


	<module name="tcpserver">
		<param name="enable" value="defined"/>
		<param name="port" value="8001"/>
		<param name="bufsize" value="8192"/>

This section enables IP Control server, parameters defines port and bufsize. Modify port parameter if you are already has service binded to local IP port 8001.


<!--	<module name="serserver">
		<param name="enable" value="defined"/>
		<param name="serial_port_name" value="COM1:"/>
		<param name="bufsize" value="8192"/>
	</module> -->

This section enables Serial Control server. This section is commented out by default.

If you are going to use serial link to control vz uncomment this section and modify parameter serial_port_name to avoid conflicts with other services.


	<module name="streamalpha">
		<param name="ColorSubcarrierPhase" value="1"/>
		<param name="SDEL" value="1"/>
		<param name="ADEL" value="1"/>

		<param name="PROGRAM_GRAPHICSONLY" value="defined"/>
		<param name="PREVIEW_GRAPHICSONLY" value="defined"/> -->
		<param name="PROGRAM_OVERLAY" value="defined"/>
		<param name="PREVIEW_OVERLAY" value="defined"/>
		<param name="DMUX_OFF" value="defined"/>

		<param name="MODE_BYPASS_OFF" value="defined"/>
		<param name="MEM_4444" value="defined"/>
		<param name="CHROMAKEY_OFF" value="defined"/>
		<param name="MODE_PAL" value="defined"/>
		<param name="MULTIPLY_ALPHA_OFF" value="defined"/>
		<param name="SWITCH_OUPUT_ON_PREVIEW_OFF" value="defined"/>


	<!-- test output module for cpu/bus load -->
	<module name="nullvideo">
<!--		<param name="YUV_CONVERT" value="defined"/> -->
<!--		<param name="OUTPUT_BUF_TRANSFER" value="defined"/>-->
		<param name="INPUTS_COUNT" value="1"/>
<!--		<param name="FIELD_MODE" value="defined"/> -->
<!--		<param name="TWICE_FIELDS" value="defined"/> -->
                <!-- patterns: 0-bars, 1-grid, 2-lines -->
		<param name="INPUT_1_PATTERN" value="2"/>
		<param name="INPUT_2_PATTERN" value="0"/>
		<param name="INPUT_3_PATTERN" value="0"/>
		<param name="INPUT_4_PATTERN" value="0"/>


Nullvideo module is used to emulate real output module with all deficiency and CPU consumtions on some operations. Most usefull are:

  • INPUTS_COUNT defines number of inputs.
  • INPUT_?_PATTERN defines pattern loaded into input buffer for that channel: 0-bars, 1-grid, 2-lines


	<module name="bluefish">
		<!-- video -->
<!--		<param name="KEY_INVERT" value="defined"/> -->
<!--		<param name="KEY_WHITE" value="defined"/> -->
<!--		<param name="SINGLE_INPUT" value="defined"/> -->
		<param name="DUAL_INPUT" value="defined"/>
<!--		<param name="VIDEO_MODE" value="defined"/> -->
<!--		<param name="PAL" value="defined"/> -->
<!--		<param name="ONBOARD_KEYER" value="defined"/> -->
<!--		<param name="H_PHASE_OFFSET" value="0"/> -->
<!--		<param name="V_PHAZE_OFFSET" value="0"/> -->
<!--		<param name="VERTICAL_FLIP" value="defined"/> -->
		<param name="SCALED_RGB" value="defined"/>
<!--		<param name="SWAP_INPUT_CONNECTORS" value="defined"/> -->

<!--		<param name="SOFT_FIELD_MODE" value="defined"/>
		<param name="SOFT_TWICE_FIELDS" value="defined"/> -->

			0 - Composite, 
			1 - S-Video, 
			2 - Component -->
<!--		<param name="ANALOG_INPUT" value="0"/> -->

			1: Composite + s-video
			2: Component
			3: RGB
			4: Composite + s-video + Component
			5: Composite + s-video + RGB -->
<!--		<param name="PROGRAM_ANALOG_OUTPUT" value="0"/> -->
<!--		<param name="PROGRAM_SDI_DUPLICATE" value="defined"/> -->
<!--		<param name="PROGRAM_OUTPUT_SWAP" value="defined"/> -->

		<!-- audio -->
		<param name="AUDIO_OUTPUT_ENABLE" value="defined"/>
		<param name="AUDIO_OUTPUT_EMBED" value="defined"/>
		<param name="AUDIO_INPUT_ENABLE" value="defined"/>
		<param name="AUDIO_INPUT_EMBED" value="defined"/>
			0: AES
			1: Analouge
			2: SDI A
			3: SDI B -->
<!--		<param name="AUDIO_INPUT_SIGNAL" value="0"/> -->

This section define parameters used for bluefish output module.

Most of parameters has human-named identificator, but some paramters and some situation should be explained:


Very CPU consumption methods for preparing interlaced input picture for loading as texture.

SOFT_FIELD_MODE option makes module split grabbed frame buffer into two portion, where each portion of resulting framebuffer contains one field of grabbed frame. Rendering engine perform scaling resilting texture on OpenGL level. As result we got smooth picture without interlaces.

SOFT_TWICE_FIELDS options makes module split and duplicate lines in picture, as result from one grabbed frame with got two frame - first contains duplicated odd/even fields, seconds even/odds fields. Most nice results on high mothing live input video.

If you are not going to provide partial screen DVE - do not uncomment.


This options defines audio operations. Comment out them if you do not use audio.


This parameters needs to be uncommented and modified to adjust output signal to current condition. Some switcher and keyers required fine phaze tuning.


This parameters defines how many inputs will be used. If you use one input SINGLE_INPUT should be uncommented only, for two inputs DUAL_INPUT should be uncommented only. If you do not use any input signal - comment out both.


Makes Analog output supported board duplicate program output to defined analouge output, usefull for monitoring.


Duplicates program (FILL) output on both FILL (DVID_1) and ALPHA (DVID_2) outputs


Swap fill and alpha outputs.

Live input + Onboard keyer

For dual input board it possible to use input A as background for internal keyer and input B for live video input. For this situation you need to uncomment also option SWAP_INPUT_CONNECTORS:

		<param name="SINGLE_INPUT" value="defined"/>
<!--		<param name="DUAL_INPUT" value="defined"/> -->
		<param name="SWAP_INPUT_CONNECTORS" value="defined"/>
		<param name="ONBOARD_KEYER" value="defined"/>


	<module name="decklink">
		<!-- enable onboard keyer -->
<!--		<param name="O_ONBOARD_KEYER" value="defined"/> -->

		<!-- Analouge output:
			0 - COMPOSITE, 
			1 - SVIDEO, 
			2 - COMPONENT -->
<!--		<param name="O_ANALOGUE_OUTPUT" value="0"/> -->

		<!-- A boolean value, TRUE for SMPTE component levels or FALSE for Betacam component levels -->
<!--		<param name="O_COMPONENT_LEVEL_SMPTE" value="defined"/> -->

		<!-- A boolean value, TRUE for 7.5 IRE or FALSE for 0.0 IRE -->
<!--		<param name="O_SETUP_IS_75" value="defined"/> -->

		<!-- Adjusts the timing of the genlock input. An integer 
		value in the range (+|-)9.435us in steps of 37ns -->
<!--		<param name="TIMING_OFFSET" value="0"/> -->

This section define parameters used for decklink output module. Look for comments to paramters for their explanation.

Personal tools