diff options
-rw-r--r-- | vp9/common/vp9_onyxc_int.h | 28 | ||||
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 2 | ||||
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 1 |
3 files changed, 31 insertions, 0 deletions
diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h index 94c9b3f26..f3942a8f0 100644 --- a/vp9/common/vp9_onyxc_int.h +++ b/vp9/common/vp9_onyxc_int.h @@ -254,6 +254,34 @@ typedef struct VP9Common { int lf_row; } VP9_COMMON; +typedef struct { + int frame_width; + int frame_height; + int render_frame_width; + int render_frame_height; + int mi_rows; + int mi_cols; + int mb_rows; + int mb_cols; + int num_mbs; + vpx_bit_depth_t bit_depth; +} FRAME_INFO; + +static INLINE void init_frame_info(FRAME_INFO *frame_info, + const VP9_COMMON *cm) { + frame_info->frame_width = cm->width; + frame_info->frame_height = cm->height; + frame_info->render_frame_width = cm->render_width; + frame_info->render_frame_height = cm->render_height; + frame_info->mi_cols = cm->mi_cols; + frame_info->mi_rows = cm->mi_rows; + frame_info->mb_cols = cm->mb_cols; + frame_info->mb_rows = cm->mb_rows; + frame_info->num_mbs = cm->MBs; + frame_info->bit_depth = cm->bit_depth; + // TODO(angiebird): Figure out how to get subsampling_x/y here +} + static INLINE YV12_BUFFER_CONFIG *get_buf_frame(VP9_COMMON *cm, int index) { if (index < 0 || index >= FRAME_BUFFERS) return NULL; if (cm->error.error_code != VPX_CODEC_OK) return NULL; diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index af81d9b72..e7cfc82f7 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -2196,6 +2196,8 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf, cpi->force_update_segmentation = 0; init_config(cpi, oxcf); + init_frame_info(&cpi->frame_info, cm); + vp9_rc_init(&cpi->oxcf, oxcf->pass, &cpi->rc); cm->current_video_frame = 0; diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h index e49bf9a06..b0ea921ba 100644 --- a/vp9/encoder/vp9_encoder.h +++ b/vp9/encoder/vp9_encoder.h @@ -514,6 +514,7 @@ typedef struct KMEANS_DATA { } KMEANS_DATA; typedef struct VP9_COMP { + FRAME_INFO frame_info; QUANTS quants; ThreadData td; MB_MODE_INFO_EXT *mbmi_ext_base; |