AV_ROUND_DOWN);
}
}
+
+int64_t ff_lsb2full(StreamContext *stream, int64_t lsb){
+ int64_t mask = (1<<stream->msb_pts_shift)-1;
+ int64_t delta= stream->last_pts - mask/2;
+ return ((lsb - delta)&mask) + delta;
+}
+
unsigned long av_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, unsigned int len);
void ff_nut_reset_ts(NUTContext *nut, AVRational time_base, int64_t val);
+int64_t ff_lsb2full(StreamContext *stream, int64_t lsb);
#endif /* AVFORMAT_NUT_H */
}
}
-static int64_t lsb2full(StreamContext *stream, int64_t lsb){
- int64_t mask = (1<<stream->msb_pts_shift)-1;
- int64_t delta= stream->last_pts - mask/2;
- return ((lsb - delta)&mask) + delta;
-}
-
static int nut_probe(AVProbeData *p){
int i;
uint64_t code= 0;
int coded_pts= get_v(bc);
//FIXME check last_pts validity?
if(coded_pts < (1<<stc->msb_pts_shift)){
- *pts=lsb2full(stc, coded_pts);
+ *pts=ff_lsb2full(stc, coded_pts);
}else
*pts=coded_pts - (1<<stc->msb_pts_shift);
}else