diff options
author | Minghai Shang <minghai@google.com> | 2014-08-25 14:29:49 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-08-25 14:29:49 -0700 |
commit | 42ad07a138d0c0345c08101673f5ad473af48d99 (patch) | |
tree | 0d958004d9d1bc29b276a8d9960646dc27e8b97f /vp9/encoder/vp9_bitstream.c | |
parent | 48d36e9cac21ce2b4c08621b6cab2a4163eddc03 (diff) | |
parent | d4a407c051a1aa85214e7b96c1ad1e0ba41c6e9e (diff) | |
download | libvpx-42ad07a138d0c0345c08101673f5ad473af48d99.tar libvpx-42ad07a138d0c0345c08101673f5ad473af48d99.tar.gz libvpx-42ad07a138d0c0345c08101673f5ad473af48d99.tar.bz2 libvpx-42ad07a138d0c0345c08101673f5ad473af48d99.zip |
Merge "[spatial svc]Multiple frame context feature"
Diffstat (limited to 'vp9/encoder/vp9_bitstream.c')
-rw-r--r-- | vp9/encoder/vp9_bitstream.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c index bdb133882..8ca05c1c0 100644 --- a/vp9/encoder/vp9_bitstream.c +++ b/vp9/encoder/vp9_bitstream.c @@ -1083,7 +1083,16 @@ static void write_uncompressed_header(VP9_COMP *cpi, write_bitdepth_colorspace_sampling(cm, wb); write_frame_size(cm, wb); } else { - if (!cm->show_frame) + // In spatial svc if it's not error_resilient_mode then we need to code all + // visible frames as invisible. But we need to keep the show_frame flag so + // that the publisher could know whether it is supposed to be visible. + // So we will code the show_frame flag as it is. Then code the intra_only + // bit here. This will make the bitstream incompatible. In the player we + // will change to show_frame flag to 0, then add an one byte frame with + // show_existing_frame flag which tells the decoder which frame we want to + // show. + if (!cm->show_frame || + (is_spatial_svc(cpi) && cm->error_resilient_mode == 0)) vp9_wb_write_bit(wb, cm->intra_only); if (!cm->error_resilient_mode) |