[MPlayer-dev-eng] Finalize NUT spec

Oded Shimon ods15 at ods15.dyndns.org
Fri Jan 27 16:40:09 CET 2006


We're almost there.

1) EOR in index.
I propose, in this section of index:
            for(; j<n && j<syncpoints; j++){
                if (!has_keyframe[j][i]) continue
                A                           v
                last_pts += A
                keyframe_pts[j][i] = last_pts
            }

Change to:

            for(; j<n && j<syncpoints; j++){
                if (!has_keyframe[j][i]) continue
                A                           v
                if (A) {
                    last_pts += A
                    keyframe_pts[j][i] = last_pts
                } else {
                    A                       v
                    last_pts += A
                    eor_pts[j][i] = last_pts
                }
            }

Where EOR pts should only be given if there isn't any keyframe in the 
_entire_ syncpoint region (between this syncpoint and the last syncpoint)

S EOR3 K7 EOR10 S => key 7

S frame7 EOR10 S => eor 10

S K7 EOR10 S .... S .... S K13 S => key 7, eor 10, no key, key 13

I think this breaks optimal seeking in some silly situations, I'm not sure, 
maybe strict interleaving saves you from that. Either way, I don't think it 
is worth fixing.
Found it:
S K7 S ... S ... S EOR10 K13 S

We want pts 11, we'll end up at K7 cause EOR10 is "silenced" by the K13. 
Only question left, do we care. I don't.


2) info streams
They make single back_ptr rediculously big if you don't ignore them, and it 
wouldn't make sense to special case them. You can use EOR closely after the 
info frame, or you can repeat the info frame over and over... All solutions 
are non-ideal (and not theoretically correct)..

3) compare_ts
Could someone give an "accurate" code for this? I'm no good at this 
overflowing math. :)

4) what is a fourcc
Maybe it should be a seperate document from NUT spec, tied with it.

5) index repetition
It can appear at any arbitrary point in the file, if it appears at all, it 
must be pointed to by index_ptr at EOF.

6) ??? (anything else)

7) profit!


Michael you said you had some minor comments? Now would be the time...


Seems I'll fail my goal to finalize NUT before end of January, damn...

- ods15




More information about the MPlayer-dev-eng mailing list