summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2016-03-08 16:29:54 -0800
committerMarco <marpan@google.com>2016-03-09 10:15:15 -0800
commit11bf7ea354cb69755e1f0e1a71351b166ae30677 (patch)
treecbd0c3a5cccda8207910d3c2da158880d4419944 /vp9/encoder
parent268ec8dcfbbd23339eea06805aff68a28510a3cd (diff)
downloadlibvpx-11bf7ea354cb69755e1f0e1a71351b166ae30677.tar
libvpx-11bf7ea354cb69755e1f0e1a71351b166ae30677.tar.gz
libvpx-11bf7ea354cb69755e1f0e1a71351b166ae30677.tar.bz2
libvpx-11bf7ea354cb69755e1f0e1a71351b166ae30677.zip
vp9-svc: Fix to frame dropping in svc mode.
Don't advance the svc frame counters on dropped frame, since this can break the referencing scheme and lead to a crash/assert. Updated svc-datarate unittest to add a lower bitrate test. Change only affects 1 pass cbr svc, with frame dropper enabled. Change-Id: Ibb7530b7a587a9344d46898d9286fd9e2ef0779c
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_encoder.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index ac7c6deee..9ebc3a482 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -3999,8 +3999,12 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
++cm->current_video_frame;
cpi->ext_refresh_frame_flags_pending = 0;
cpi->svc.rc_drop_superframe = 1;
- if (cpi->use_svc)
- vp9_inc_frame_in_layer(cpi);
+ // TODO(marpan): Advancing the svc counters on dropped frames can break
+ // the referencing scheme for the fixed svc patterns defined in
+ // vp9_one_pass_cbr_svc_start_layer(). Look into fixing this issue, but
+ // for now, don't advance the svc frame counters on dropped frame.
+ // if (cpi->use_svc)
+ // vp9_inc_frame_in_layer(cpi);
return;
}
}