diff options
author | Jingning Han <jingning@google.com> | 2018-10-15 10:11:57 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2018-10-15 14:57:05 -0700 |
commit | 227deb503e381b86fccae3fd92ee92baacec0948 (patch) | |
tree | ff892de3d17c6f8d43da411d6ba382d0136c9916 /vp9/encoder/vp9_encoder.h | |
parent | f6a52bee7db6b54308fa080b84ebfe12977f6b45 (diff) | |
download | libvpx-227deb503e381b86fccae3fd92ee92baacec0948.tar libvpx-227deb503e381b86fccae3fd92ee92baacec0948.tar.gz libvpx-227deb503e381b86fccae3fd92ee92baacec0948.tar.bz2 libvpx-227deb503e381b86fccae3fd92ee92baacec0948.zip |
Add encoder side frame buffer for tpl model
Add an encoder side reference frame buffer pool to store the
reference frames for tpl model. This servces as an intermediate
step to support multi-layer ARF system. The buffer memory size will
be optimized afterwards.
Change-Id: If2d2f095d4911a4996f6c2a0b0a8e3d235ceadb2
Diffstat (limited to 'vp9/encoder/vp9_encoder.h')
-rw-r--r-- | vp9/encoder/vp9_encoder.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h index 45cc97315..79346ed09 100644 --- a/vp9/encoder/vp9_encoder.h +++ b/vp9/encoder/vp9_encoder.h @@ -495,6 +495,12 @@ typedef struct ARNRFilterData { struct scale_factors sf; } ARNRFilterData; +typedef struct EncFrameBuf { + int mem_valid; + int released; + YV12_BUFFER_CONFIG frame; +} EncFrameBuf; + // Maximum operating frame buffer size needed for a GOP using ARF reference. #define MAX_ARF_GOP_SIZE (2 * MAX_LAG_BUFFERS) @@ -522,7 +528,8 @@ typedef struct VP9_COMP { YV12_BUFFER_CONFIG *raw_source_frame; TplDepFrame tpl_stats[MAX_ARF_GOP_SIZE]; - YV12_BUFFER_CONFIG *tpl_recon_frames[REFS_PER_FRAME + 1]; + YV12_BUFFER_CONFIG *tpl_recon_frames[REF_FRAMES]; + EncFrameBuf enc_frame_buf[REF_FRAMES]; TileDataEnc *tile_data; int allocated_tiles; // Keep track of memory allocated for tiles. |