| 
       
        
Patch 2487 : IMPACT Video 6.2 bug fixes : [IRIX 6.2]
 
    INDEX 
 
 RELATIONS 
 
 RELEASE NOTES 
1. Patch SG0002487 Release Note  
       This release note describes patch SG0002487 to IRIX 6.2 with
       IMPACT 10000. It replaces patches SG0001480 and SG0002030
       for IRIX 6.2 with IMPACT 10000.
1.1 Supported Hardware Platforms 
       This patch contains bug fixes for Indigo2 IMPACT Video on
       Indigo2 IMPACT and Indigo2 IMPACT 10000. The software cannot
       be installed on other configurations.
1.2 Supported Software Platforms 
       This patch contains bug fixes for Indigo2 IMPACT Video
       (version 1233007736) on a system running IRIX 6.2 with
       IMPACT 10000.  The software cannot be installed on other
       configurations.
1.3 Bugs Fixed by Patch SG0002487 
       This patch contains fixes for the following bugs in Indigo2
       IMPACT Video on systems running IRIX 6.2 with IMPACT 10000.
       Bug numbers from Silicon Graphics bug tracking system are
       included for reference.
          o 403686 - Stacked fields capture type.
            This capture type is device-specific and may not be
            available in future IMPACT Video releases. It is
            provided as an interim solution for real-time I/O in
            applications requiring field captures (i.e. non-
            interleaved). Developers are encouraged to use the
            readv/writev interface with direct I/O.
            The stacked-fields capture type is available as capture
            type 99, used with the VL_CAP_TYPE control.
            The stacked-fields capture type places two fields in
            one buffer. The effect is as if the two buffers for
            VL_CAPTURE_NONINTERLEAVED were concatenated.
               o The dominant field is always first in the buffer.
               o As with VL_CAPTURE_NONINTERLEAVED, field pairs are
                 always treated as a unit.  Consequently, in the
                 event of a dropped field the software will
                 resynchronize on the dominant field. Under no
                 circunstances will capture or playback of a buffer
                 start on a non-dominant field. In addition, in the
                 capture case two two fields are guaranteed to have
                 been consecutive fields in the video stream.
               o The value of VL_SIZE returned is the field size
               o The value of VL_MGV_BUFFER_QUANTUM must be 1 or a
                 multiple of 8 (this guarantees double-word
                 alignment of the second field). Other values will
                 be rejected when the stacked fields capture type
                 is used.
               o Each *field* is expanded to a multiple of the
                 buffer quantum. This allows easy access to field
                 units if the buffers are written to disk in their
                 entirety, particularly if the quantum is a
                 multiple of miniosz.
               o The value returned by vlGetTransferSize is,
                 consequently:  (field size rounded up to next
                 quantum) * 2
               o Software colorspace conversion or scaling is not
                 supported with this capture type.
                 vlSetControl(VL_PACKING) will accept only
                 hardware-supported packings when stacked fields is
                 used.
               o The MSC increments by one for each pair of fields.
                 The reference point for UST is the F-bit
                 transition for the first field in the buffer.
          o 406689 - Change VGI1 arbitration policy to round robin.
            This change affects the usage of IMPACT Video with
            other slot-shared devices such as IMPACT Compression
            and Ciprico's GIO Ultrascsi adapter. In some cases, the
            external device may want to transfer sufficient data
            that IMPACT Video will be starved.
          o 409654 - Patch 1447 and subsequent patches for IMPACT
            graphics causes the system to panic when video is used
            on IMPACT 10000.
          o 409971 - The VL_SIZE and VL_OFFSET values could not be
            extended to accomodate parts of vertical blanking. In
            addition, it was possible to extend VL_SIZE to a width
            that caused the DMA engine to stall. The maximum
            capture sizes are 856x524 (interleaved), 856x262 (F1
            only), or 856x261 (F2 only)
          o 434350 - The flicker reduction filter can now be
            enabled / disabled via vcp (videopanel). NOTE THAT IN
            PRIOR RELEASES THE FILTER WOULD AUTOMATICALLY BE
            ENABLED WHEN A SCREEN SOURCE WAS USED. THIS IS NO
            LONGER THE CASE.
          o 448403 - vlGetFrontierMSC would sometimes not increment
            properly after a new video field was placed in the
            buffer. This made it impossible to use MSC/UST to do
            media stream synchronization calculations. This fix
            produces the correct behavior, which is that, as long
            as there is no underflow/overflow, the frontier msc
            increments by 1 if and only if a new field is placed in
            the buffer.
          o 455546 - vlGetFrontierMSC does not increment properly
            for type VL_CAPTURE_NONINTERLEAVED. The symptom is the
            same as 448403 above, but is caused by a different bug,
            so that this problem remains even with the fix to
            448403 in place.
          o 464001 - Override gfx attach in vlCreatePath via
            environment variable. For iris GL windows used with
            screen drain nodes, graphics must be attached in the
            application process so that video can be
            enabled/disabled. For OpenGL applications or
            applications not using screen drain nodes, this attach
            is not necessary and may in very rare cases cause
            problems, or the message "_mgvManagedBy:: gfx attach
            failed" in SYSLOG. Setting the environment variable
            MGV_NO_GFX_ATTACH to a non-zero value will prevent
            graphics from being attached in the application space.
            Note that this feature should be used with care and any
            abnormal program operation fixed by it should be
            reported as a bug.
          o 470197 - Exiting videod can cause a kernel panic in
            gfxclose / GfxDetach/ RRM_EXIT. Reference counting of
            the gfx file descriptor is not properly handled on a
            sproc() call, which videod uses to manage video
            transfers.  Sprocing with shared file descriptors works
            around the problem.
          o 474386, 488812 - Certain configurations exposed a
            memory allocation bug in the IMPACT Video device
            driver, leading to a system panic during bootup.
             Reported configurations had 256 MB, a kernel rollup
            patch, an XFS rollup patch, and IMPACT Video installed.
          o 474442 - Repeated invocations of
            vlBeginTransfer/vlEndTransfer on a path failed to reset
            the frontier msc as obtained by vlGetFrontierMSC, but
            did reset the jack msc obtained by vlGetUSTMSCPair.
            Thus the two msc's would no longer track each other
            making msc/ust calculations meaningless. The fix resets
            the frontier MSC on vlEndTransfer, restoring proper
            tracking between the two msc's.
          o 546445, 546446, 547279, 570284 - If a corrupt or mis-
            timed video source is fed to the IMPACT Video board,
            video capture to memory can panic the system or cause
            the video transfer to hang (only the application
            capturing will be affected in the latter case; the
            system is otherwise unaffected). These problems are
            addressed by having the device driver, to the extent
            possible, detect timing errors leading to the panics
            and hangs and report VLSyncLost events to the
            application.
          o 567956 - The IMPACT Video device driver did not
            allocate a properly sized structure for some of it's
            shadow registers. This can lead to kernel memory
            corruption and subsequent panics or other anomalous
            behavior.
          o 568017 - The IMPACT Video device driver leaks memory
            from the kernel heap.
          o 569039 - Back-to-back EndTransfer / BeginTransfer calls
            can result in a transfer starting with a device error
            (VGI1 FIFO over/underflow.)  This may manifest itself
            as a series of "Unexpected Vertical" interrupts.
          o 569303 - Back-to-back errors can cause the IMPACT Video
            driver to not reinstate proper interrupts for the video
            board. A side effect is that the driver will
            continually report unexpected and/or missed verticals,
            and no buffers will be delivered to the application.
1.4 Subsystems Included in Patch SG0002487 
       This patch release includes these subsystems:
          o patchSG0002487.impactvideo_sw.eoe
            patchSG0002487.impactvideo_sw32.eoe
            patchSG0002487.impactdm_sw.common
            patchSG0002487.impactdm_sw32.common
1.5 Installation Instructions 
       Because you want to install only the patches for problems
       you have encountered, patch software is not installed by
       default.  After reading the descriptions of the bugs fixed
       in this patch (see Section 1.3), determine the patches that
       meet your specific needs.
       If, after reading Sections 1.1 and 1.2 of these release
       notes, you are unsure whether your hardware and software
       meet the requirements for installing a particular patch, run
       inst.  The inst program does not allow you to install
       patches that are incompatible with your hardware or
       software.
       Patch software is installed like any other Silicon Graphics
       software product.  Follow the instructions in your Software
       Installation Administrator's Guide to bring up the miniroot
       form of the software installation tools.
       Follow these steps to select a patch for installation:
         1.  At the Inst> prompt, type
             install patchSGxxxxxxx
             where xxxxxxx is the patch number.
         2.  Initiate the installation sequence. Type
             Inst> go
         3.  You may find that two patches have been marked as
             incompatible.  (The installation tools reject an
             installation request if an incompatibility is
             detected.)  If this occurs, you must deselect one of
             the patches.
             Inst> keep patchSGxxxxxxx
             where xxxxxxx is the patch number.
         4.  After completing the installation process, exit the
             inst program by typing
             Inst> quit
1.6 Patch Removal Instructions 
       To remove a patch, use the versions remove command as you
       would for any other software subsystem.  The removal process
       reinstates the original version of software unless you have
       specifically removed the patch history from your system.
       versions remove patchSGxxxxxxx
       where xxxxxxx is the patch number.
       To keep a patch but increase your disk space, use the
       versions removehist command to remove the patch history.
       versions removehist patchSGxxxxxxx
       where xxxxxxx is the patch number.
1.7 Known Problems 
       None
INST SUBSYSTEM REQUIREMENTS No Requirements Information Available. INST SUBSYSTEM CHECKSUMS These checksums help to provide a 'signature' for the patch inst image which can be used to authenticate other inst images. You can obtain this kind of output by running sum -r on the image (from the command line): 13072 6 patchSG0002487 13403 5 patchSG0002487.idb 38484 134 patchSG0002487.impactdm_sw 47193 144 patchSG0002487.impactdm_sw32 22137 994 patchSG0002487.impactvideo_sw 15571 503 patchSG0002487.impactvideo_sw32 INST SUBSYSTEM FILE LISTINGS The following lists the files which get installed from each subsystem in the patch: 
 
 DOWNLOAD PATCH 
  | 
    ||||||||||||||||||||||||||||||||||||
Document Id: 20021117070319-IRIXPatch-1145 
  | 
    ||||||||||||||||||||||||||||||||||||