home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / docs6.3 / relnotes / dmedia_dev / ch09.z / ch09
Encoding:
Text File  |  1997-09-04  |  11.1 KB  |  331 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        9.  _M_o_v_i_e__L_i_b_r_a_r_y
  9.  
  10.        This chapter lists information about the Movie Library
  11.        programming interface included IRIS Digital Media
  12.        Development Environment.  It includes known problems and
  13.        workarounds.
  14.  
  15.        The Movie Library (_l_i_b_m_o_v_i_e._a for use with IRIS GL, or
  16.        _l_i_b_m_o_v_i_e_G_L._a for use with OpenGL) is a C-based applications
  17.        programming interface for the creation of programs which
  18.        read, write, and play movies. A movie is a file containing
  19.        sequences of images and/or audio.  A movie is a useful
  20.        display method for graphical sequences which cannot be
  21.        rendered in real time or for any sequenced image data. The
  22.        Movie Library currently provides support for the native
  23.        Silicon Graphics movie file format, QuickTime(*) file
  24.        format, MPEG I Systems Layer, and the AVI format.  Not all
  25.        of the movie library features are available with all file
  26.        formats.  Also, not all Movie Library interfaces are
  27.        supported in the Iris GL version.
  28.  
  29.        The library contains approximately 80 calls.
  30.  
  31.        The main features of the Movie Library (MV) are:
  32.  
  33.           +o Ability to read, write, and play movie files.
  34.  
  35.           +o High level interface to image data compression.
  36.  
  37.           +o Support for several file formats, including
  38.  
  39.                     Apple QuickTime
  40.  
  41.                     SGI Movie
  42.  
  43.                     MPEG I Systems Layer
  44.  
  45.                     AVI (Read Only)
  46.  
  47.           +o File-format independent API.
  48.  
  49.           +o Asynchronous playback support with flexible controls.
  50.  
  51.           +o Basic editing features for image and audio sequences.
  52.  
  53.           +o Support for embedded movies in applications software.
  54.  
  55.        The Movie Library is built upon other libraries which must
  56.        be included by the application.  These include:
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.                - Audio Library (_l_i_b_a_u_d_i_o._a)
  75.  
  76.                - Compression Library (_l_i_b_c_l._s_o)
  77.  
  78.                - Digital Media Library (_l_i_b_d_m_e_d_i_a._s_o)
  79.  
  80.        (*) QuickTime is a registered trademark of Apple Computer,
  81.        Inc.
  82.  
  83.  
  84.        A number of example programs which provide coverage of many
  85.        of the calls in the library are also included. They are
  86.        contained in the dmedia_dev.src.examples portion of the
  87.        install image and get installed in
  88.        /usr/share/src/dmedia/movie. A README file there explains
  89.        each of the example programs.
  90.  
  91.        Debugging versions of the library are available as well
  92.        (/_u_s_r/_l_i_b/_d_e_b_u_g/_l_i_b_m_o_v_i_e._a and /_u_s_r/_l_i_b/_d_e_b_u_g/_l_i_b_m_o_v_i_e_G_L._a).
  93.        They perform extra error checking on all parameters passed
  94.        into the library and provide more extensive feedback to the
  95.        programmer as to what might be wrong.  However, they also
  96.        incur a substantial overhead and it is not recommended that
  97.        they be for anything other than testing.
  98.  
  99.  
  100.        For additional information about the Movie Library see the
  101.        overview manual page mmmmvvvvIIIInnnnttttrrrroooo(3mv).
  102.  
  103.  
  104.        9.1  _C_h_a_n_g_e_s__a_n_d__A_d_d_i_t_i_o_n_s
  105.  
  106.  
  107.        This section lists changes and additions made to the Movie
  108.        Library since the release of IRIX 5.3.
  109.  
  110.           +o Several functions have been added to the Movie Library
  111.             to provide time based access to and editing of movie
  112.             data in addition to the existing frame based calls.
  113.             See the "FRAME, TIME and TIMESCALE" section of
  114.             mmmmvvvvIIIInnnnttttrrrroooo(3dm) for more details.
  115.  
  116.           +o In 5.3 mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) would return different formats
  117.             (eg, pixel packing, orientation, etc), depending upon
  118.             how the data was stored in the file. Now
  119.             mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) ALWAYS returns the same pixel
  120.             formats.
  121.  
  122.             mmmmvvvvIIIInnnnsssseeeerrrrttttFFFFrrrraaaammmmeeeessss(3dm) used to expect its input format
  123.             (eg, pixel packing orientation, etc) to be correlated
  124.             to the file format/codec. Now it ALWAYS expects data to
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             be in the same format.
  141.  
  142.             These changes were made to prevent requiring every
  143.             application to understand how to perform image
  144.             conversions.
  145.  
  146.             See the man page for additional information about
  147.             mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) and mmmmvvvvIIIInnnnsssseeeerrrrttttFFFFrrrraaaammmmeeeessss(3dm).
  148.  
  149.           +o The QuickTime Compressor Library product no longer
  150.             exists.  Applications that link with _l_i_b_m_o_v_i_e._a will
  151.             now be able to read and create movies compressed with
  152.             the Apple Animation and Apple Video compression
  153.             algorithms without linking with _l_i_b_q_t._a or calling
  154.             mmmmvvvvIIIInnnniiiittttQQQQuuuuiiiicccckkkkTTTTiiiimmmmeeee. Applications will also be able to read
  155.             Cinepak (Compact Video) movies on all systems and
  156.             create Cinepak movies on systems that have a Cinepak
  157.             Encoder License installed.  The movie library will also
  158.             recognize and play back QuickTime movies compressed
  159.             with Indeo(tm) compression.
  160.  
  161.           +o The Movie Library now supports multiple audio and video
  162.             tracks in QuickTime files.  New calls allow the
  163.             programmer to find the number of tracks and retrieve
  164.             track handles on each one.  Multiple tracks of a given
  165.             medium may be played simultaneously or sequentially
  166.             under program control.
  167.  
  168.           +o The Movie Library has been extended to allow external
  169.             data references for tracks.  A track that contains an
  170.             external data reference has data that resides in a
  171.             separate file.  The Movie Library access this file as
  172.             necessary during movie editing and playback.
  173.  
  174.           +o The Movie Library no longer requires that each frame in
  175.             an image track have the same duration.  A sequence of
  176.             an image track may be scaled by an application to
  177.             increase or shorten its playback time.
  178.  
  179.           +o In general, many more forms of QuickTime movies are
  180.             recognized.
  181.  
  182.           +o Read only support for MPEG I Systems streams is new in
  183.             this version of the Movie Library.  MPEG movies may be
  184.             played using the Movie Library's playback calls.
  185.             However, most calls that manipulate movie data, such as
  186.             editing or reading compressed images, are not supported
  187.             for MPEG files.
  188.  
  189.           +o AVI read support has been added to the movie library.
  190.             The compression types currently supported for AVI files
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.             are Cinepak, Indeo, and uncompressed.
  207.  
  208.           +o The Movie Library now supports controlling the image
  209.             compression quality, bitrate, and keyframe frequency of
  210.             data in an image track.  These qualities can be
  211.             controlled by setting the appropriate DMparams when the
  212.             image track is created.  See the mmmmvvvvAAAAddddddddTTTTrrrraaaacccckkkk(3dm) man
  213.             page for more details.
  214.  
  215.           +o The Movie Library now supports software scaling of the
  216.             volume of a playing movie.  See
  217.             mmmmvvvvGGGGeeeettttMMMMoooovvvviiiieeeePPPPllllaaaayyyyVVVVoooolllluuuummmmeeee(3dm) for more details.
  218.  
  219.  
  220.        9.2  _B_u_g__F_i_x_e_s__s_i_n_c_e__5_._3
  221.  
  222.        This sections lists some of the known bugs that have been
  223.        fixed since 5.3
  224.  
  225.           +o The problems many users ran into with upside down and
  226.             non-color converted uncompressed QuickTime movies are
  227.             solved by the fact that mvReadFrames now always returns
  228.             XBGR, bottom-to-top, non interlaced data.
  229.  
  230.           +o Stereo audio in QuickTime files is now handled
  231.             correctly.
  232.  
  233.           +o The Movie Library's playback engine has been modified
  234.             to pick up edits made to a movie.  For example, if
  235.             frames are added to a movie that's been bound to a
  236.             window but is currently not playing the playback
  237.             instance will pick up the change and play all the
  238.             frames of the movie.  It should be noted that no edits
  239.             should be made to the movie while the movie is
  240.             currently playing.
  241.  
  242.           +o The Movie Library now supports playing back tracks of
  243.             different lengths.  For example, playing a movie with a
  244.             video track that is longer than its audio track will
  245.             play all the frames of the video track even after the
  246.             audio has stopped playing.
  247.  
  248.           +o Calling mmmmvvvvSSSSttttoooopppp as the playback engine reached the last
  249.             frame of a movie could result in a deadlock condition
  250.             in the 5.3 Movie Library.  This can no longer happen.
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.        9.3  _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
  273.  
  274.  
  275.        This section lists some of the known problems with the Movie
  276.        Library.
  277.  
  278.           +o The SGI movie file format used by the Movie Library is
  279.             different from that used prior to the release of Irix
  280.             5.2.  However, movies in the older format can still be
  281.             read and played by the Movie Library. Only the current
  282.             format can be written.
  283.  
  284.           +o If the machine on which you are playing a movie cannot
  285.             handle the frame rate specified, the audio may sound
  286.             choppy.
  287.  
  288.           +o Setting the play speed of the movie to 0 with
  289.             mvSetPlaySpeed() will cause the movie library to crash.
  290.             The workaround for this is to call mvStop() instead of
  291.             setting the play speed to 0.
  292.  
  293.           +o If a QuickTime movie contains complex elements that the
  294.             Movie Library does not fully support, the movie will be
  295.             opened read only.  The movie must be copied to create a
  296.             movie that can be edited.
  297.  
  298.           +o The Movie Library does not make use of the Cosmo
  299.             Compress option board.  The programs dmplay and
  300.             dmrecord which do make use of Cosmo are shipped in
  301.             source code form as examples of how to use Cosmo.
  302.  
  303.           +o The Movie Library sometimes has problems rendering MPEG
  304.             movies that were opened with PreScan turned off. A
  305.             workaround is to turn on PreScan (the default mode of
  306.             operation is prescan on).
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.