Raw video has no timestamps. But we drop frames in sync that have no
timestamps. So detect raw video and extrapolate timestamps from
framerate.
// set if video stream doesn't have IDR frames
#define HBTF_NO_IDR (1 << 0)
#define HBTF_SCAN_COMPLETE (1 << 1)
+#define HBTF_RAW_VIDEO (1 << 2)
// whether OpenCL scaling is supported for this source
int opencl_support;
pv->title = job->title;
else
pv->title = w->title;
+ if (pv->title->flags & HBTF_RAW_VIDEO)
+ pv->next_pts = 0;
hb_buffer_list_clear(&pv->list);
#ifdef USE_QSV
title->video_codec = WORK_DECAVCODECV;
title->video_codec_param = codecpar->codec_id;
+ if (ic->iformat->raw_codec_id != AV_CODEC_ID_NONE)
+ {
+ title->flags |= HBTF_RAW_VIDEO;
+ }
}
else if (ic->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
avcodec_find_decoder( ic->streams[i]->codecpar->codec_id))