[Mp4-tech] Query regarding Microsoft MPEG-4 Reference Decoder to Mr. Stefan A. Goor

Stefan A. Goor stefan.goor ucd.ie
Fri Jul 2 15:38:14 EDT 2004


Dear Saru Malhotra,
Yes I have found a few solutions to this.
The reason that the reference software doesn't work is because the decoders
do not
support error resilience:
"The syntax of MPEG-4 allows you to write error-resilient
decoders. How you do build such decoders is not specified in the standard -
it's an area where vendors can (and do) compete. Some decoders do not
include any error robustness processing, and may indeed fail when
confronted with errors."
(Rob Koenen,
http://lists.mpegif.org/pipermail/mp4-tech/2004-January/003125.html)
However I have found that the microsoft decoder (and possibly the MoMusys
one) will
decode a sequence if a filtering process is used to ensure that only full
frames are passed
to the decoder. So if a packet is lost that contains an Access Unit (AU)
segment rather
than a complete AU, none of the segments for that AU are passed to the
decoder.
You can tell if an AU segment is in a packet from the RTP marker bit.
I have not tried this for enhancement layers but I guess that it may work.
Another alternative is to buy a codec that supports error resilience.  We
obtained the
Dicas SDK and have found it to be robust for lossy situations.
Hope this helps,
Stefan
  -----Original Message-----
  From: mp4-tech-bounces lists.mpegif.org
[mailto:mp4-tech-bounces lists.mpegif.org]On Behalf Of MALHOTRA VINKY
  Sent: 01 July 2023 12:48
  To: mp4-tech lists.mpegif.org
  Subject: [Mp4-tech] Query regarding Microsoft MPEG-4 Reference Decoder to
Mr. Stefan A. Goor
  Mr. Stefan A. Goor
  I have been working on a similar problem as mentioned by u and quoted
below.
  I m using MoMuSys encoder and as soon as I drop a frame from the
enhancement layer
  ,the decoder is unable to decode it.
  Did u find any solutions to the problem.
  Kindly reply at your earliest convenience.
  Saru Malhotra
  > Hey All,
  > Hopefully someone can help me with this.
  > I have used the MPEG4IP tools to create hinted mp4 files that
  > contain mpeg4 bitstreams created with the MS Encoder
  > Reference Software and I have placed these files on the
  > Darwin Streaming Server to allow RTSP access. When I write
  > the payload of the packets received by the RTSP client to a
  > file, I can decode it with the MS Reference Decoder.  However
  > if I drop any packet, the decoder stops with a dialog box on
  > the screen that says "Debug Error!... ...abnormal program
  > termination..." and the decoder prints the following message
  > in the dos window:
  >
  > Assertion failed: iMbType >= 0 && iMbType <= 3, file
  > d:\ms_om\sys\decoder\mbheaddec.cpp, line 476
  ! >
  > >From what I understand, the MPEG-4 decoder should be able to handle
  > >losses
  > and corruption (isn't one of the main goals of MPEG-4 to be
  > highly error resiliant?). Could anyone explain what the
  > problem may be and how I may get around it? I would like to
  > be able to decode content has been sent over a network and
  > that may have approximately 0.5% packet loss. Also, I assume
  > that each packet or at least an integer number of packets
  > corresponds to a single frame, is this true?
  > >From RFC 1889 for RTP, I see that there is a marker bit that
  > generally
  > indicates frame boundaries.  In MPEG-1 and 2 there was a
  > specific code that determined the start of a frame, is there
  > something similar for mpeg4 video stream? Any help with the! se
  > problems and questions would be greatly apreciated, Many
  > thanks, Stefan
----------------------------------------------------------------------------
--
  Do you Yahoo!?
  New and Improved Yahoo! Mail - 100MB free storage!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20040702/3f09e822/attachment-0001.html


More information about the Mp4-tech mailing list