home *** CD-ROM | disk | FTP | other *** search
-
-
-
- - 1 -
-
-
-
- 9. _M_o_v_i_e__L_i_b_r_a_r_y
-
- This chapter lists information about the Movie Library
- programming interface included IRIS Digital Media
- Development Environment. It includes known problems and
- workarounds.
-
- The Movie Library (_l_i_b_m_o_v_i_e._a for use with IRIS GL, or
- _l_i_b_m_o_v_i_e_G_L._a for use with OpenGL) is a C-based applications
- programming interface for the creation of programs which
- read, write, and play movies. A movie is a file containing
- sequences of images and/or audio. A movie is a useful
- display method for graphical sequences which cannot be
- rendered in real time or for any sequenced image data. The
- Movie Library currently provides support for the native
- Silicon Graphics movie file format, QuickTime(*) file
- format, MPEG I Systems Layer, and the AVI format. Not all
- of the movie library features are available with all file
- formats. Also, not all Movie Library interfaces are
- supported in the Iris GL version.
-
- The library contains approximately 80 calls.
-
- The main features of the Movie Library (MV) are:
-
- +o Ability to read, write, and play movie files.
-
- +o High level interface to image data compression.
-
- +o Support for several file formats, including
-
- Apple QuickTime
-
- SGI Movie
-
- MPEG I Systems Layer
-
- AVI (Read Only)
-
- +o File-format independent API.
-
- +o Asynchronous playback support with flexible controls.
-
- +o Basic editing features for image and audio sequences.
-
- +o Support for embedded movies in applications software.
-
- The Movie Library is built upon other libraries which must
- be included by the application. These include:
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
- - Audio Library (_l_i_b_a_u_d_i_o._a)
-
- - Compression Library (_l_i_b_c_l._s_o)
-
- - Digital Media Library (_l_i_b_d_m_e_d_i_a._s_o)
-
- (*) QuickTime is a registered trademark of Apple Computer,
- Inc.
-
-
- A number of example programs which provide coverage of many
- of the calls in the library are also included. They are
- contained in the dmedia_dev.src.examples portion of the
- install image and get installed in
- /usr/share/src/dmedia/movie. A README file there explains
- each of the example programs.
-
- Debugging versions of the library are available as well
- (/_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).
- They perform extra error checking on all parameters passed
- into the library and provide more extensive feedback to the
- programmer as to what might be wrong. However, they also
- incur a substantial overhead and it is not recommended that
- they be for anything other than testing.
-
-
- For additional information about the Movie Library see the
- overview manual page mmmmvvvvIIIInnnnttttrrrroooo(3mv).
-
-
- 9.1 _C_h_a_n_g_e_s__a_n_d__A_d_d_i_t_i_o_n_s
-
-
- This section lists changes and additions made to the Movie
- Library since the release of IRIX 5.3.
-
- +o Several functions have been added to the Movie Library
- to provide time based access to and editing of movie
- data in addition to the existing frame based calls.
- See the "FRAME, TIME and TIMESCALE" section of
- mmmmvvvvIIIInnnnttttrrrroooo(3dm) for more details.
-
- +o In 5.3 mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) would return different formats
- (eg, pixel packing, orientation, etc), depending upon
- how the data was stored in the file. Now
- mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) ALWAYS returns the same pixel
- formats.
-
- mmmmvvvvIIIInnnnsssseeeerrrrttttFFFFrrrraaaammmmeeeessss(3dm) used to expect its input format
- (eg, pixel packing orientation, etc) to be correlated
- to the file format/codec. Now it ALWAYS expects data to
-
-
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
-
- be in the same format.
-
- These changes were made to prevent requiring every
- application to understand how to perform image
- conversions.
-
- See the man page for additional information about
- mmmmvvvvRRRReeeeaaaaddddFFFFrrrraaaammmmeeeessss(3dm) and mmmmvvvvIIIInnnnsssseeeerrrrttttFFFFrrrraaaammmmeeeessss(3dm).
-
- +o The QuickTime Compressor Library product no longer
- exists. Applications that link with _l_i_b_m_o_v_i_e._a will
- now be able to read and create movies compressed with
- the Apple Animation and Apple Video compression
- algorithms without linking with _l_i_b_q_t._a or calling
- mmmmvvvvIIIInnnniiiittttQQQQuuuuiiiicccckkkkTTTTiiiimmmmeeee. Applications will also be able to read
- Cinepak (Compact Video) movies on all systems and
- create Cinepak movies on systems that have a Cinepak
- Encoder License installed. The movie library will also
- recognize and play back QuickTime movies compressed
- with Indeo(tm) compression.
-
- +o The Movie Library now supports multiple audio and video
- tracks in QuickTime files. New calls allow the
- programmer to find the number of tracks and retrieve
- track handles on each one. Multiple tracks of a given
- medium may be played simultaneously or sequentially
- under program control.
-
- +o The Movie Library has been extended to allow external
- data references for tracks. A track that contains an
- external data reference has data that resides in a
- separate file. The Movie Library access this file as
- necessary during movie editing and playback.
-
- +o The Movie Library no longer requires that each frame in
- an image track have the same duration. A sequence of
- an image track may be scaled by an application to
- increase or shorten its playback time.
-
- +o In general, many more forms of QuickTime movies are
- recognized.
-
- +o Read only support for MPEG I Systems streams is new in
- this version of the Movie Library. MPEG movies may be
- played using the Movie Library's playback calls.
- However, most calls that manipulate movie data, such as
- editing or reading compressed images, are not supported
- for MPEG files.
-
- +o AVI read support has been added to the movie library.
- The compression types currently supported for AVI files
-
-
-
-
-
-
-
-
-
-
-
- - 4 -
-
-
-
- are Cinepak, Indeo, and uncompressed.
-
- +o The Movie Library now supports controlling the image
- compression quality, bitrate, and keyframe frequency of
- data in an image track. These qualities can be
- controlled by setting the appropriate DMparams when the
- image track is created. See the mmmmvvvvAAAAddddddddTTTTrrrraaaacccckkkk(3dm) man
- page for more details.
-
- +o The Movie Library now supports software scaling of the
- volume of a playing movie. See
- mmmmvvvvGGGGeeeettttMMMMoooovvvviiiieeeePPPPllllaaaayyyyVVVVoooolllluuuummmmeeee(3dm) for more details.
-
-
- 9.2 _B_u_g__F_i_x_e_s__s_i_n_c_e__5_._3
-
- This sections lists some of the known bugs that have been
- fixed since 5.3
-
- +o The problems many users ran into with upside down and
- non-color converted uncompressed QuickTime movies are
- solved by the fact that mvReadFrames now always returns
- XBGR, bottom-to-top, non interlaced data.
-
- +o Stereo audio in QuickTime files is now handled
- correctly.
-
- +o The Movie Library's playback engine has been modified
- to pick up edits made to a movie. For example, if
- frames are added to a movie that's been bound to a
- window but is currently not playing the playback
- instance will pick up the change and play all the
- frames of the movie. It should be noted that no edits
- should be made to the movie while the movie is
- currently playing.
-
- +o The Movie Library now supports playing back tracks of
- different lengths. For example, playing a movie with a
- video track that is longer than its audio track will
- play all the frames of the video track even after the
- audio has stopped playing.
-
- +o Calling mmmmvvvvSSSSttttoooopppp as the playback engine reached the last
- frame of a movie could result in a deadlock condition
- in the 5.3 Movie Library. This can no longer happen.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 5 -
-
-
-
- 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
-
-
- This section lists some of the known problems with the Movie
- Library.
-
- +o The SGI movie file format used by the Movie Library is
- different from that used prior to the release of Irix
- 5.2. However, movies in the older format can still be
- read and played by the Movie Library. Only the current
- format can be written.
-
- +o If the machine on which you are playing a movie cannot
- handle the frame rate specified, the audio may sound
- choppy.
-
- +o Setting the play speed of the movie to 0 with
- mvSetPlaySpeed() will cause the movie library to crash.
- The workaround for this is to call mvStop() instead of
- setting the play speed to 0.
-
- +o If a QuickTime movie contains complex elements that the
- Movie Library does not fully support, the movie will be
- opened read only. The movie must be copied to create a
- movie that can be edited.
-
- +o The Movie Library does not make use of the Cosmo
- Compress option board. The programs dmplay and
- dmrecord which do make use of Cosmo are shipped in
- source code form as examples of how to use Cosmo.
-
- +o The Movie Library sometimes has problems rendering MPEG
- movies that were opened with PreScan turned off. A
- workaround is to turn on PreScan (the default mode of
- operation is prescan on).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-