[MPlayer-dev-eng] Finalize NUT spec

Oded Shimon ods15 at ods15.dyndns.org
Sat Jan 28 07:05:29 CET 2006


On Fri, Jan 27, 2006 at 05:40:09PM +0200, Oded Shimon wrote:
> 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.

I think I've got a solution.. Using same method above: Treat EOR same as 
keyframes (they are keyframes after all), however, don't mark the 
syncpoint region as eor'd if there is any non-eor keyframe in it:

S EOR3 K7 EOR10 S => key 3

S frame7 EOR10 S => eor 10

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


and the breaking one from before:

S K7 S ... S ... S EOR10 K13 S => key 7, ..., key 10


Which makes that work...
Not sure if there are other problems...


- ods15




More information about the MPlayer-dev-eng mailing list