home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / alt / comp / compress / 51 < prev    next >
Encoding:
Internet Message Format  |  1993-01-27  |  3.1 KB

  1. Xref: sparky alt.comp.compression:51 comp.compression.research:399
  2. Path: sparky!uunet!ukma!usenet.ins.cwru.edu!agate!mickey!bsmith
  3. From: bsmith@mickey.NoSubdomain.NoDomain (Brian Smith)
  4. Newsgroups: alt.comp.compression,comp.compression.research
  5. Subject: Re: show_time in berkeley mpeg_play
  6. Date: 28 Jan 1993 02:55:19 GMT
  7. Organization: University of California, Berkeley
  8. Lines: 53
  9. Sender: bsmith@mickey (Brian Smith)
  10. Distribution: world
  11. Message-ID: <1k7hun$gob@agate.berkeley.edu>
  12. References: <lme5v7INNm83@levelland.cs.utexas.edu>
  13. NNTP-Posting-Host: mickey.cs.berkeley.edu
  14.  
  15. |> Hi,
  16. |> 
  17. |> In the Berkeley distribution of mpeg_play, there is a field in the
  18. |> video stream structure called show_time. Apparently, that field is 
  19. |> never used. So is there any real time consideration at all in mpeg_play
  20. |> to ensure a smooth display of the frames, namely that a frame is shown
  21. |> only when its supposed show time is reached? Or is it assumed that 
  22. |> the workstation is never fast enough to display a frame too early so
  23. |> the goal is to get a frame displayed as early as possible?
  24. |> 
  25.  
  26. I think I'm probably qualified to answer this one.  The mpeg_play
  27. program was never really intended to serve as a full function mpeg
  28. player. To wit (from the README file):
  29.  
  30.     The decoder is implemented as a library that will take a video
  31.     stream and display it in an X window on an 8, 24 or 32 bit
  32.     deep display.  The main routine is supplied to demonstrate the
  33.     use of the decoder library.
  34.  
  35. In other words, the mpeg library is meant to be used as part of a system
  36. that handles synchronization with other media.  Such a system exists as
  37. an unreleased prototype (the "player") we're building at Berkeley (we'll
  38. be releasing the system sometime in the future).  A paper briefly
  39. describing the system is available from toe.cs.berkeley.edu
  40. (128.32.149.117) in /pub/multimedia/papers/CMPlayer.ps.Z. The paper
  41. was presented at the "3rd Intl Workshop on Network and OS Support
  42. for Digital Audio and Video", San Diego, CA, Nov 92.
  43.  
  44. The main routine supplied with the distribution, mpeg_play, displays
  45. the pictures as quickly as possible.  Think of it as a simple demo
  46. program (we felt kinda bad about releasing the library without at
  47. least one sample program :-). 
  48.  
  49. So, the answer to you questions is this: the "show_time" field is
  50. prototypical -- it is neither meaningfully set nor used in the
  51. mpeg_play program, but something like it will be used in the player.
  52.  
  53. It shouldn't be too hard to modify mpeg_play so it slows down between
  54. frames.  I'd do it by modifying mpegVidRsrc() to return NULL when it gets
  55. around to actually displaying the picture (ie., put a "return NULL" just
  56. after the DoPictureDisplay call in mpegVidRsrc).  Then, in the main()
  57. routine, when mpegVidRsrc() returns NULL, put the process to sleep
  58. (e.g., with a select()) until it's time to display the next frame.  Simple
  59. enough, but it would be a duplication of effort since we're building that
  60. functionality into the player.
  61.  
  62. I hope this seems at least vaguely intelligible.
  63.  
  64. -------
  65. Brian C. Smith                arpa:  bsmith@cs.Berkeley.EDU
  66. University of California, Berkeley    uucp:  uunet!ucbvax!postgres!bsmith
  67. Computer Sciences Department        phone: (510)642-9585
  68.