diff options
author | Minghai Shang <minghai@google.com> | 2014-09-11 11:28:03 -0700 |
---|---|---|
committer | Minghai Shang <minghai@google.com> | 2014-09-11 16:21:35 -0700 |
commit | e3fff31aff4f6be8aad493bc954f60ad5cc2f8f5 (patch) | |
tree | cd093e856a8447ae7806ac3f740b51a7a1beb2bb /vp9/encoder | |
parent | 12aaff560b0615c6ebce1f707251a1bbead3d7f3 (diff) | |
download | libvpx-e3fff31aff4f6be8aad493bc954f60ad5cc2f8f5.tar libvpx-e3fff31aff4f6be8aad493bc954f60ad5cc2f8f5.tar.gz libvpx-e3fff31aff4f6be8aad493bc954f60ad5cc2f8f5.tar.bz2 libvpx-e3fff31aff4f6be8aad493bc954f60ad5cc2f8f5.zip |
[spatial svc] Output psnr for all layers in one packet.
Change-Id: I97d0cf095e9cfefdfa0f65eb5e96d6848cc9ffca
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 5 | ||||
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index b6e606d78..3eeb3d44c 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -1272,7 +1272,10 @@ static void generate_psnr_packet(VP9_COMP *cpi) { pkt.data.psnr.psnr[i] = psnr.psnr[i]; } pkt.kind = VPX_CODEC_PSNR_PKT; - vpx_codec_pkt_list_add(cpi->output_pkt_list, &pkt); + if (is_two_pass_svc(cpi)) + cpi->svc.layer_context[cpi->svc.spatial_layer_id].psnr_pkt = pkt.data.psnr; + else + vpx_codec_pkt_list_add(cpi->output_pkt_list, &pkt); } int vp9_use_as_reference(VP9_COMP *cpi, int ref_frame_flags) { diff --git a/vp9/encoder/vp9_svc_layercontext.h b/vp9/encoder/vp9_svc_layercontext.h index 1fc43a427..d180d1a8c 100644 --- a/vp9/encoder/vp9_svc_layercontext.h +++ b/vp9/encoder/vp9_svc_layercontext.h @@ -36,6 +36,7 @@ typedef struct { int gold_ref_idx; int has_alt_frame; size_t layer_size; + struct vpx_psnr_pkt psnr_pkt; } LAYER_CONTEXT; typedef struct { |