Do you have a question about the H-DVP and is the answer not in the manual?
Questions and answers
Subscribe to Our Youtube Channel
Summary of Contents for Visual Circuits H-DVP
Page 1
H-DVP System User Manual Visual Circuits Corporation...
Page 2
The Visual Circuits logo is a registered trademark in the United States and other countries. All other products, services or company names mentioned herein are claimed as trademarks and trade names by their respective companies. Visual Circuits, 1999-2000. All rights reserved. No portion of this manual may be copied by any means without the prior consent of Visual Circuits.
Page 3
Consult the dealer or an experienced radio/television technician for help. This H-DVP system complies with Part 15 of the FCC rules and regulations. Operation is subject to the following two conditions: This device may not cause harmful interference.
Page 4
This Class A digital appartus meets all requirements of the Canadian Interference-Causing Equipment Regulations. Cet appareil numerique de la classe A respecte toutes les exigences du Regulement sur le materiel brouilleur du Canada. The CE mark is affixed to this Visual Circuits Corporation product to confirm compliance with the following European Community Directives: Council Directive 89/336/EEC of 3 May 1989 on the approximation of the laws of Member States relating to electromagnetic compatibility.
Choosing an Appropriate Installation Location ..3 Installing the H-DVP System to a Rack ... .4 Connecting Server Peripherals ....4 Connecting Output and Power Cables .
Page 8
Informational Commands ....32 Configuring the Driver ......37 Common Parameters .
The H-DVP system can play MPEG 1 and MPEG 2 video and audio transport stream files on up to 4 channels. Through cross- channel synchronization, the H-DVP system can synchronize the playback of any number of channels, even when individual channels are temporarily stopped.
Maintain a minimum airflow clearance of 1 (2.5 cm) on all sides of the H-DVP system. Ensure that the air intake of the H-DVP system does not draw directly on the hot air exhaust from another unit. If installed on a rack, the rack must safely support the combined weight of all devices mounted on the rack.
Page 14
The H-DVP system has side rails for installing into a rack. If you use alternate rails for installing, consult the manufacturer of the alternate rails to confirm that they meet the weight and stress requirements to support the H-DVP chassis.
Page 15
The H-DVP system is shipped with either a Universal Cable or a Rackmount Breakout Box, both of which are terminated with a 25- pin male D Sub connector. Each H-DVP channel corresponds to one 25-pin female D Sub connector on the rear panel of the server chassis.
Page 17
Universal Cable’s male D Sub connector. 3. Orient the Universal Cable’s male D Sub connector to the appropriate female D Sub connector on the H-DVP server. 4. Connect the two D Sub connectors by applying gentle, even pressure. Do not force the connectors together, and do not use the set screws to “pull”...
Page 18
2. Completely back out the setscrews on both sides of the Rackmount Breakout Box’s male D Sub connector. 3. Orient the Rackmount Breakout Box’s male D Sub connector to the appropriate female D Sub connector on the H-DVP server. 4. Connect the two D Sub connectors by applying gentle, even pressure.
Page 19
The HDServe application is a sample program that you can use as a model for your own application, or to test your H-DVP system installation. The H-DVP application calls most of the functions of the application programming interface (API) documented in the H- DVP software developer’s kit (SDK).
You should test the installation of the H-DVP system to verify that you have set it up properly. Refer to Troubleshooting on page 41 for solutions to setup, installation, and testing problems. To test the installation: 1. Start the HDServe application.
Page 21
The H-DVP system has the ability to synchronize playback across multiple channels (cross-channel synchronization). When channels are synchronized, the H-DVP system will speed up or slow down the playback of each channel to maintain identical playback positions on every channel.
Page 22
1. Load the desired MPEG file onto every channel. 2. On the Parameters menu, select Sync All Channels. 3. Click the play all button...
Page 23
You can control the playback of a file by selecting some of the checkboxes that appear in the HDServe main window. Table 3 lists the playback features that are controlled by these checkboxes. You can manually set the audio and video program IDs (PIDs). You should not need to set these values manually unless the H- DVP system fails to automatically detect the correct PIDs.
Page 25
The HDCom application provides a way to send text commands into the H-DVP server to load, play, and synchronize MPEG files. You can set up a serial controller to send commands to the HDCom application and direct the operation of the H-DVP server remotely.
Using HDCom, you can send serial commands to the H-DVP server, and you can receive callbacks from the server when certain events are completed. Commands are in ASCII text and are terminated with a decimal 13 character (carriage return). Commands are not case sensitive.
mpgLoad This command loads an MPEG file for playback on the specified channel. This command does not play the file (see the mpgPlay command on page 19). Syntax FDUG FKDQQHO ILOHQDPH Parameters FDUG The playback card FKDQQHO The channel on the playback card ILOHQDPH The full path and file name of the MPEG file to load Return Values...
Page 29
mpgPlay This command plays a previously loaded MPEG file on the specified channel. The file must have already been loaded using the mpgLoad command. Syntax FDUG FKDQQHO Parameters FDUG The playback card FKDQQHO The channel on the playback card Return Values This command returns ACK if playback was started successfully, or NAK if playback could not be started (e.g., no file previously loaded).
Page 30
Return Values This command returns ACK if playback was stopped successfully, or NAK if playback could not be stopped (e.g., no file currently playing). mpgLoadNext This command loads an MPEG file on the specified card and channel, and queues the file so that it will play when the current file finishes.
Page 31
mpgPlayAll This command starts playback on all channels simultaneously. The files for each channel to play must have been previously loaded using the mpgLoad command. Syntax Parameters None Return Values This command returns ACK to indicate that playback was started successfully, or NAK to indicate that playback could not be started on all channels.
Page 32
mpgAutoRepeat This command causes a channel to automatically loop its current file. When the currently playing file is finished, the file is automatically restarted from the beginning. The file continues to loop until the mpgNoRepeat command is issued. Syntax FDUG FKDQQHO Parameters FDUG The playback card...
Page 33
Return Values This command returns ACK if the automatic loop function was turned off, or NAK if the automatic loop function could not be turned off (e.g., automatic loop was already off). mpgClose This command closes and unloads an MPEG file from the specified channel.
Page 34
mpgSeek This command sets the playback position of the currently loaded file to the specified index. Syntax FDUG FKDQQHO SRVLWLRQ Parameters FDUG The playback card FKDQQHO The channel on the playback card SRVLWLRQ The position in the current file where playback should begin Return Values This command returns ACK if the playback position was set successfully, or NAK if the playback position could not be set...
Page 35
Return Values This command returns ACK to indicate that audio output was turned off, or NAK to indicate that audio output could not be turned off (e.g., audio was already off). mpgUnMute This command restores audio output to a previously muted channel.
This command sets the audio program ID to the value specified by pid. Use this command to override the audio PID values detected by the server software. Syntax FDUG FKDQQHO SLG Parameters FDUG The playback card FKDQQHO The channel on the playback card...
Page 37
Parameters FDUG The playback card FKDQQHO The channel on the playback card The new value of the video program ID Return Values This command returns ACK to indicate the video program ID was successfully changed, or NAK to indicate the video program ID could not be changed.
Page 38
mpgColorBarOff This command turns off color bars for the specified channel. You can turn color bars on by using the mpgColorBarOn command. Syntax FDUG FKDQQHO Parameters FDUG The playback card FKDQQHO The channel on the playback card Return Values This command returns ACK if color bars were successfully turned off, or NAK if color bars could not be turned off.
Page 39
mpgSyncChannels This command synchronizes a group of channels. Syntax VFKDQQHO Parameters JURXS A group identifier from 0–32 PFDUG The master playback card PFKDQQHO The channel on the master playback card (always zero) VFDUG The first slave card VFKDQQHO The channel on the first slave card (always zero) Return Values This command returns ACK if the synchronization group is created successfully, or NAK if the group could not be created.
Page 40
mpgUnSyncChannels This command turns off synchronization for the specified group. The group must previously have been set up using the mpgSyncChannels command. Syntax Parameters JURXS The group identifier Return Values This command returns ACK if the group was unsynchronized successfully, or NAK if the group could not be unsynchronized (e.g., no such group).
Page 41
Return Values This command returns ACK if playback was started successfully, or NAK if playback could not be started. mpgStopSyncChannels This command stops playback of all the channels in the specified group. Syntax JURXS Parameters JURXS The group identifier Return Values This command returns ACK if playback was stopped successfully, or NAK if playback could not be stopped.
Page 42
mpgDir This command obtains the names of all the files and directories in the specified path. The path may contain wildcards (e.g., *, ?). The default value of the current directory is the default MPEG directory. Syntax SDWK Parameters SDWK The path of a directory to list Return Values This command returns a list of all the files and directories in the...
Page 43
Return Values This command returns the the letter P, followed by 16 file positions. Remarks All of the return values are separated by spaces. The first file position is for channel #0 on card #0; the second file position is for channel #1 on card #0.
Page 44
Remarks Table 5 shows the values returned by this command, in the order that they appear in the returned list.
Page 45
This command obtains the number of playback cards installed in the server. Syntax Parameters None Return Values This command returns the letter V, followed by a space, followed by the number of cards installed in the server (1–4).
Page 47
Windows NT has a registry editor, go to “start>>run>>regedit”: Then: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service s\VCCHD\Parameters To change a DWORD value double click on it and modify as required. The driver must always be stopped and restarted before changes will take effect. This can be done by accessing the devices through “Control Panel>>Devices”, and stopping and restarting the device.
Page 48
1 for component video, 0 for RGB. (Can be overridden on a channel by channel basis using the mpgSetVideoType function.) 1 to disable cross channel synchronization, 0 to enable (default 0.) (Multi-channel servers only.) 1 to disable audio video synchronization (“lip sync”), 0 to enable (default 0.) This value, along with bJitter, help control the tolerance for A/V sync.
Page 49
A number 1 to 8 to initialize less than the actual number of cards in the bus. (default 8) Indicates the number or group of hard disks available from which MPEG files will be read from. Sets the maximum data delivery size from the system memory buffer to the card.
Page 50
With this set to 1, the driver can read files over the Windows NT network. With it set to 0, it can not. With this set to 0, normal NT file system caching is used. With it set to 1, the cache is not grown when the files are played. This value, along with freeTime, controls the relative time between periods in which the Video Decoder chip is instructed to perform an A/V sync.
Page 51
See Playing MPEG Files on page 10 for instructions on using the HDServe application to play an MPEG file. Q. I played a file, but the H-DVP system didn’t display the video. Why? A. Your HD monitor is possibly not hooked up to the H-DVP system correctly.
Page 52
Q. I get a test pattern on the screen, but my MPEG file still doesn’t play correctly. Why? A. The H-DVP software may be having trouble detecting the audio and video program IDs in the MPEG file. If you know...
Page 53
Q. All my files are set up correctly for cross-channel synchronization, but they are still not synchronizing. Why? A. Two settings in the Windows NT Registry affect cross-channel synchronization. Open the Regedit applet and set HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\VCChd\Parameters\disableC Csync to zero. Restart the VCCHD driver. If your files are still getting slightly out of sync with each other, you can modify HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\VCChd\Parameters\syncToler...
Page 54
Q. How can I tell when a file has finished playing? A. The HDCom application reports callback message 2 (Playback Complete) to indicate when a file has finished playing. However, this callback message will not be sent if the channel is in automatic loop mode, or if the mpgLoadNext command has been issued.
Page 55
If you are experiencing problems with the H-DVP system, consult Troubleshooting on page 41 and the support information available at www.visualcircuits.com first. If you need further assistance, call Visual Circuits technical support at the telephone numbers listed under Technical Support Contact Information on page 46.
Page 56
In the United States, 1-800-250-5533 Outside of the United States, 763-571-7588 If the H-DVP system has problems that cannot be corrected over the telephone by Visual Circuits technical support, you may need to return the H-DVP server to Visual Circuits Corporation. All materials shipped back to Visual Circuits Corporation must be accompanied by a Return Materials Authorization (RMA) number.
Page 59
This document is meant as a resource for information on how to use the functions included in the API for the HD Focus players. Each function has been grouped with other functions of similar usage into a group, allowing you to find related functions quickly.
Page 60
The function definitions include the name of the function, and the arguments that the function must be sent, as well as the variable type of those arguments. For VB programmers, the function must be DECLARED in a module before it can be used. All functions will return a no_error message, unless otherwise stated.
Page 61
Visual Basic Call mpgLoad The mpgLoad function opens an MPEG file and prepares it for playback. If an MPEG is currently playing on the specified channel, playback will be interrupted. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card.
Page 62
Visual Basic Call Remarks A delay should be introduced between the call to mpgLoad and mpgPlay in order to allow the driver memory buffers to be filled from the hard drive. This delay depends on the number of channels playing and the speed of the hard drive. If the file is played to quickly, starvation artifacts may result.
Page 63
Visual Basic Call Remarks When the argument val is set to 1, then upon loading of an MPEG, the video output goes black, buffers are all flushed, and channels requiring cross channel synchronization will start up “tighter.” When the argument val is set to 0, then upon loading of an MPEG, there is a seamless transition to new files but no output reset is available.
Page 64
mpgStop The mpgStop function pauses playback on a channel. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. Visual Basic Call Remarks The MPEG must be have been started with mpgPlay or mpgPlayAll.
Page 65
Visual Basic Call mpgLoadNext The mpgLoadNext function will set the specified channel to start another file immediately when the current one reaches the end. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. FileName The full DOS path to the MPEG file.
Page 66
mpgAutoRepeat The mpgAutoRepeat function sets the specified channel to loop playback to start of file when it reaches the end. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card.
Page 67
Visual Basic Call Remarks The auto repeat functionality won’t be used on the current file as long as another file has been set to play with the mpgLoadNext functionality. mpgNoRepeat The mpgNoRepeat turns off the auto repeat functionality set by mpgAutoRepeat.
Page 68
Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. Visual Basic Call mpgSetVideoType The mpgSetVideoType function overrides the default output video type as set in the registry and allows RGB or component output on a channel by channel basis.
Page 69
Visual Basic Call mpgSetLoopType The mpgSetLoopType function overrides the default looping type as set in the registry. Parameters VidType 0 – standard looping. When a file loops, or two or more files are played together in a list, then the files are transitioned together “smoothly,” in other words, there is no pause between the end of one file and the beginning of another.
Page 70
mpgSetAVSync The mpgSetAVSync function enables/disables audio video synchronization. Parameters enable TRUE – turns on synchronization; FALSE – turns off synchronization. Visual Basic Call mpgGetAVSync The mpgGetAVSync function returns current audio video synchronization setting. Parameters enable TRUE – if synchronization active; FALSE – if synchronization inactive.
Page 71
mpgSetAudioPID The mpgSetAudioPID function selects which audio PID is decoded. VCCCALL mpgSetAudioPID( int CardNum, int ChanNum, int ID Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. The PID of the desired audio stream, or –1 to play all audio streams.
Page 72
mpgSetVideoPID The mpgSetVideoPID function selects the video PID to decode. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. User assigned video PID to decode. –1: all video streams.
Page 73
CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. Visual Basic Call mpgUnMute The mpgUnMute function turns sound back on for the specified channel. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card.
Page 74
mpgColorBarOn The mpgColorBarOn function displays a standard color bar test pattern on the specified channel. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. Visual Basic Call Remarks When this function is used, the screen will display a test pattern of color bars.
Page 75
mpgColorBarOff The mpgColorBarOff function returns video output to the specified channel which had been showing a test pattern of color bars. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. Visual Basic Call These function allow for cross channel synchronization.
Page 76
mpgSyncChannels The mpgSyncChannels function creates a sync group, which, when played together on files of the same size, will be synchronized. Parameters GroupNum User assigned index to address this group (0-32) with other functions. masterCard The card number of the master channel. (0 based) masterChan The channel number of the master channel.
Page 77
Visual Basic Call Remarks This function will synchronize a group of channels. In order to function properly, all the MPEG files being synchronized MUST be the same file size. mpgUnSyncChannels The mpgUnSyncChannels function disables cross channel synchronization on a group of channels. Parameters GroupNum Index of the group to disable.
Page 78
These function allow the driver to send messages directly to the application, to allow the application to take action based on event happening within the driver. The messages and their hexadecimal values are defined as follows: Message MPG_FILE_READ_COMPLETE MPG_FILE_PLAY_COMPLETE MPG_FILE_READ_START Value 0x0001 0x0002...
Page 79
mpgCallback The mpgCallback function will request that callback messages be sent to hwnd. Parameters HWND The windows handle of the window which should receive the callback messages. Visual Basic Call Visual Basic users should use the mpgCallbackFunction to set a function to retrieve the messages.
Page 80
Parameters * pcbfptr A pointer to the address of the function to receive the callback messages. CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. Visual Basic Call Remarks To use this function properly, you must first declare a function in your code like this: Then call mpgCallbackFunction with the address of the function...
Page 81
mpgCallbackMessage The mpgCallbackMessage function will send a callback message directly to hwnd. Parameters wparam The message to be sent back. Visual Basic Call This functionality may not be used from within Visual Basic. Remarks This can send back any of the valid call back messages listed above.
Page 82
Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card. MStatus typedef struct DWORD FileSize; DWORD FilePosition; int System; int Hsize; int Vsize; int PicRate; DWORD BitRate; DWORD TimeCode; DWORD RunTime;...
Page 83
mpgDiagnostic mpgDiagnostic retrieves information about the status of the MPEG card. The function must be supplied with a pointer to a mpgDiagnosticStruct. Once the function is called the mpgDiagnosticStruct’s members will be set. Parameters CardNum 0 based index of the card in the system. ChanNum 0 based index of the channel on the card.
Page 84
Visual Basic Call Remarks mpgCards The mpgCards function returns the number of cards in the system. The function requires a pointer to an int. After the function call is made the int supplied will contain the number of cards in the system.
Page 85
Airflow clearance 3 Ambient temperature 3 API reference serial commands 16 Audio 13, 24, 25 Audio breakouts 7 Audio ID 26 Auto loop 13, 22 Breakout box 5 Breakouts 7 Callbacks 16 messages 17 Cards installed 35 Chassis 1 Choosing install location 3 Clearance airflow 3 Closing a file 23...
Need help?
Do you have a question about the H-DVP and is the answer not in the manual?
Questions and answers