check_error();
OperatingPoint op;
- if (flow_initialized_interpolation_quality == 1) {
+ if (global_flags.interpolation_quality == 0 ||
+ global_flags.interpolation_quality == 1) {
op = operating_point1;
- } else if (flow_initialized_interpolation_quality == 2) {
+ } else if (global_flags.interpolation_quality == 2) {
op = operating_point2;
- } else if (flow_initialized_interpolation_quality == 3) {
+ } else if (global_flags.interpolation_quality == 3) {
op = operating_point3;
- } else if (flow_initialized_interpolation_quality == 4) {
+ } else if (global_flags.interpolation_quality == 4) {
op = operating_point4;
} else {
// Quality 0 will be changed to 1 in flags.cpp.
pkt.stream_index = 0;
pkt.data = (uint8_t *)jpeg.data();
pkt.size = jpeg.size();
+ pkt.flags = AV_PKT_FLAG_KEY;
mux->add_packet(pkt, qf.output_pts, qf.output_pts);
last_frame.assign(&jpeg[0], &jpeg[0] + jpeg.size());
pkt.stream_index = 0;
pkt.data = (uint8_t *)jpeg.data();
pkt.size = jpeg.size();
+ pkt.flags = AV_PKT_FLAG_KEY;
mux->add_packet(pkt, qf.output_pts, qf.output_pts);
last_frame = move(jpeg);
} else if (qf.type == QueuedFrame::INTERPOLATED || qf.type == QueuedFrame::FADED_INTERPOLATED) {
pkt.stream_index = 0;
pkt.data = (uint8_t *)jpeg.data();
pkt.size = jpeg.size();
+ pkt.flags = AV_PKT_FLAG_KEY;
mux->add_packet(pkt, qf.output_pts, qf.output_pts);
last_frame = move(jpeg);
} else if (qf.type == QueuedFrame::REFRESH) {
pkt.stream_index = 0;
pkt.data = (uint8_t *)last_frame.data();
pkt.size = last_frame.size();
+ pkt.flags = AV_PKT_FLAG_KEY;
mux->add_packet(pkt, qf.output_pts, qf.output_pts);
} else {
assert(false);