MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / dv_frame_offset

Function dv_frame_offset

libavformat/dv.c:367–382  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

365}
366
367static int64_t dv_frame_offset(AVFormatContext *s, DVDemuxContext *c,
368 int64_t timestamp, int flags)
369{
370 // FIXME: sys may be wrong if last dv_read_packet() failed (buffer is junk)
371 const DVprofile* sys = ff_dv_codec_profile(c->vst->codec);
372 int64_t offset;
373 int64_t size = url_fsize(s->pb);
374 int64_t max_offset = ((size-1) / sys->frame_size) * sys->frame_size;
375
376 offset = sys->frame_size * timestamp;
377
378 if (size >= 0 && offset > max_offset) offset = max_offset;
379 else if (offset < 0) offset = 0;
380
381 return offset;
382}
383
384void dv_offset_reset(DVDemuxContext *c, int64_t frame_offset)
385{

Callers 1

dv_read_seekFunction · 0.85

Calls 2

ff_dv_codec_profileFunction · 0.85
url_fsizeFunction · 0.85

Tested by

no test coverage detected