[MPlayer-dev-eng] Patches for NUT

Oded Shimon ods15 at ods15.dyndns.org
Thu Feb 9 06:55:54 CET 2006


On Tue, Feb 07, 2006 at 01:48:25PM +0200, Oded Shimon wrote:
> On Tue, Feb 07, 2006 at 12:04:07PM +0100, Michael Niedermayer wrote:
> > On Tue, Feb 07, 2006 at 06:04:11AM +0200, Oded Shimon wrote:
> > > On Mon, Feb 06, 2006 at 03:39:23PM +0100, Michael Niedermayer wrote:
> > > > yep, wanted to comment on that anyway ...
> > > > adler isnt the best checksum around, but its fast and simple
> > > > the adler checksum is made of 2 parts s1 and s2
> > > > 
> > > > [...]
> > > 
> > > So, in conclusion.... ?? What should we do? Add adler32 for the syncpoint? 
> > > Something else?
> > 
> > maybe switch to crc32 everywhere, iam not sure
> 
> I hate the LUT spam of crc32. Although it is ofcourse easy to implement...
> 
> I'm not so paranoid about error detection and this stuff, Adler is good 
> enough for me. We can use a funky 24 bit adler for the syncpoint checksum, 
> 10 bits for s1, 14 bits for s2. Really not hard to implement and not a big 
> complication to spec IMO.

Here's my patch.. Please comment.

Other than this, the last issues I'm aware of are:
1. too big pts - stuck player
2. index_ptr comes out of nowhere when reading the file linearly
3. split up index?
4. info streams and back ptr - imo nothing should really be done about 
   this, just suggest to either use eor or repeat info frames.
5. droppable flag for frames
6. split up index somehow?
7. frame repetition flag?


1 and 2 are the only issues i'm really concerned about, but all issues need 
to be resolved before we lock spec which i hope to be very soon...

- ods15
-------------- next part --------------
--- DOCS/tech/mpcf.txt	2006-02-04 10:14:23.000000000 +0200
+++ DOCS/tech/mpcf.txt	2006-02-04 10:31:46.000000000 +0200
@@ -290,6 +290,7 @@
 
 syncpoint:
     syncpoint_startcode                 f(64)
+    syncpoint_checksum                  u(24)
     coded_pts                           v
     stream = coded_pts % stream_count
     global_key_pts = coded_pts/stream_count
@@ -551,6 +552,12 @@
     including the checksum itself (from first byte after the
     forward_ptr until last byte before the checksum).
 
+syncpoint_checksum
+    adler24 checksum
+    (10 bits for s1, 14 bits for s2, primes are 1021 and 16381)
+    checksum covers from syncpoint timestamp until the end of the frame
+    header immediately following the syncpoint.
+
 back_ptr_div8
     back_ptr = back_ptr_div8 * 8 + 7
     back_ptr must point to a position within 8 bytes of a syncpoint


More information about the MPlayer-dev-eng mailing list