[MPlayer-dev-eng] Finalize NUT spec

Oded Shimon ods15 at ods15.dyndns.org
Sat Jan 28 17:16:04 CET 2006


On Sat, Jan 28, 2006 at 05:07:47PM +0100, Michael Niedermayer wrote:
> On Sat, Jan 28, 2006 at 04:49:57PM +0200, Oded Shimon wrote:
> > On Sat, Jan 28, 2006 at 03:30:33PM +0100, Michael Niedermayer wrote:
> > > id say yes, (A=0,A=pts, B=0) (with my encoding suggestion)
> > 
> > It's a bit wrong, because:
> > 
> > S EOR1 K2 S => just K2 (not K1)
> > 
> > EOR keyframes are supposed to be disregarded for keyframe_pts purposes. But 
> > it works, cause there can be no 2 frames with same pts anyway.
> 
> in case of
> S EOR1 K2 S
> you must store EOR1 not K2 as keyframe otherwise
> 
> S K1 S <100mb> S EOR2 K3 S
> seek to EOR2 would give you K1 and no sign of non relevance ...

Oh, oops, I missed that... ofcourse you should store that EOR2 as K2, not 
EOR2, because stream is still relavent at S...

Ok, new patch...

- ods15
-------------- next part --------------
Index: DOCS/tech/mpcf.txt
===================================================================
RCS file: /cvsroot/mplayer/main/DOCS/tech/mpcf.txt,v
retrieving revision 1.95
diff -u -r1.95 mpcf.txt
--- DOCS/tech/mpcf.txt	27 Jan 2006 19:13:46 -0000	1.95
+++ DOCS/tech/mpcf.txt	28 Jan 2006 16:14:51 -0000
@@ -249,8 +249,14 @@
             for(; j<n && j<syncpoints; j++){
                 if (!has_keyframe[j][i]) continue
                 A                           v
-                last_pts += A
-                keyframe_pts[j][i] = last_pts
+                if(!A){
+                    A                       v
+                    B                       v
+                    eor_pts[j][i] = last_pts + A + B
+                }else
+                    B=0
+                keyframe_pts[j][i] = last_pts + A
+                last_pts += A + B
             }
         }
     }
@@ -557,7 +563,11 @@
 
 keyframe_pts
     The pts of the first keyframe for this stream in the region between the
-    2 syncpoints, in the stream's timebase.
+    2 syncpoints, in the stream's timebase. (EOR frames are also keyframes)
+
+eor_pts
+    Coded only if EOR is set at the position of the syncpoint. The pts of
+    that EOR. EOR is unset by the first keyframe after it.
 
 index_ptr
     Length in bytes from the first byte of the index startcode to the first


More information about the MPlayer-dev-eng mailing list