[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