summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngie Chiang <angiebird@google.com>2021-01-19 17:48:07 -0800
committerAngie Chiang <angiebird@google.com>2021-01-19 18:54:07 -0800
commit27f1838519ea1354bb8a038ec4e9d2c6da0da994 (patch)
treeeb18f02a9f668889a732dac83b6c4ccbc4276afe
parentf4fc562489bcee227403ca00f589e70043ebc5dc (diff)
downloadlibvpx-27f1838519ea1354bb8a038ec4e9d2c6da0da994.tar
libvpx-27f1838519ea1354bb8a038ec4e9d2c6da0da994.tar.gz
libvpx-27f1838519ea1354bb8a038ec4e9d2c6da0da994.tar.bz2
libvpx-27f1838519ea1354bb8a038ec4e9d2c6da0da994.zip
Return status in vp9_extrc_send_firstpass_stats
Bug: webm:1716 Change-Id: I96b18436c58ed888fcf677097819cc0093b6f41d
-rw-r--r--vp9/encoder/vp9_ext_ratectrl.c16
-rw-r--r--vp9/encoder/vp9_ext_ratectrl.h4
2 files changed, 14 insertions, 6 deletions
diff --git a/vp9/encoder/vp9_ext_ratectrl.c b/vp9/encoder/vp9_ext_ratectrl.c
index d93abd60d..4a2e1b82d 100644
--- a/vp9/encoder/vp9_ext_ratectrl.c
+++ b/vp9/encoder/vp9_ext_ratectrl.c
@@ -94,9 +94,13 @@ static void gen_rc_firstpass_stats(const FIRSTPASS_STATS *stats,
rc_frame_stats->count = stats->count;
}
-void vp9_extrc_send_firstpass_stats(EXT_RATECTRL *ext_ratectrl,
- const FIRST_PASS_INFO *first_pass_info) {
+vpx_codec_err_t vp9_extrc_send_firstpass_stats(
+ EXT_RATECTRL *ext_ratectrl, const FIRST_PASS_INFO *first_pass_info) {
+ if (ext_ratectrl == NULL) {
+ return VPX_CODEC_ERROR;
+ }
if (ext_ratectrl->ready) {
+ vpx_rc_status_t rc_status;
vpx_rc_firstpass_stats_t *rc_firstpass_stats =
&ext_ratectrl->rc_firstpass_stats;
int i;
@@ -105,9 +109,13 @@ void vp9_extrc_send_firstpass_stats(EXT_RATECTRL *ext_ratectrl,
gen_rc_firstpass_stats(&first_pass_info->stats[i],
&rc_firstpass_stats->frame_stats[i]);
}
- ext_ratectrl->funcs.send_firstpass_stats(ext_ratectrl->model,
- rc_firstpass_stats);
+ rc_status = ext_ratectrl->funcs.send_firstpass_stats(ext_ratectrl->model,
+ rc_firstpass_stats);
+ if (rc_status == VPX_RC_ERROR) {
+ return VPX_CODEC_ERROR;
+ }
}
+ return VPX_CODEC_OK;
}
static int extrc_get_frame_type(FRAME_UPDATE_TYPE update_type) {
diff --git a/vp9/encoder/vp9_ext_ratectrl.h b/vp9/encoder/vp9_ext_ratectrl.h
index e4d56c0b2..fbb5ebf05 100644
--- a/vp9/encoder/vp9_ext_ratectrl.h
+++ b/vp9/encoder/vp9_ext_ratectrl.h
@@ -30,8 +30,8 @@ vpx_codec_err_t vp9_extrc_create(vpx_rc_funcs_t funcs,
vpx_codec_err_t vp9_extrc_delete(EXT_RATECTRL *ext_ratectrl);
-void vp9_extrc_send_firstpass_stats(EXT_RATECTRL *ext_ratectrl,
- const FIRST_PASS_INFO *first_pass_info);
+vpx_codec_err_t vp9_extrc_send_firstpass_stats(
+ EXT_RATECTRL *ext_ratectrl, const FIRST_PASS_INFO *first_pass_info);
void vp9_extrc_get_encodeframe_decision(
EXT_RATECTRL *ext_ratectrl, int show_index, int coding_index, int gop_index,