ref: ee37046f1b07a4df47a6943b4750b1ad6115db0e
parent: 99fa889f910f3667d4c9ac0bf95758ecca70c048
author: Marco Paniconi <marpan@google.com>
date: Mon Apr 2 08:46:19 EDT 2018
vp9-svc: Fix to svc sample encoder for write_out. When writing out stream for spatial layer N, make sure to include all spatial layers up to N. Fixes an issue with the streams when frame dropping occurs. Change-Id: I1e20b7dac6b94dcda751043541dd8a12f7df6d8c
--- a/examples/vp9_spatial_svc_encoder.c
+++ b/examples/vp9_spatial_svc_encoder.c
@@ -830,14 +830,17 @@
num_layers_encoded++;
}
}
- tot_size = 0;
for (sl = 0; sl < enc_cfg.ss_number_layers; ++sl) {
- if (cx_pkt->data.frame.spatial_layer_encoded[sl]) {
- tot_size += sizes[sl];
+ unsigned int sl2;
+ tot_size = 0;
+ for (sl2 = 0; sl2 <= sl; ++sl2) {
+ if (cx_pkt->data.frame.spatial_layer_encoded[sl2])
+ tot_size += sizes[sl2];
+ }
+ if (tot_size > 0)
vpx_video_writer_write_frame(
outfile[sl], cx_pkt->data.frame.buf, tot_size,
cx_pkt->data.frame.pts);
- }
}
}
for (sl = 0; sl < enc_cfg.ss_number_layers; ++sl) {