diff options
author | Jingning Han <jingning@google.com> | 2014-10-23 16:54:45 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2014-10-24 10:00:27 -0700 |
commit | eee201c221cdff90a4e74d4cf8917875684f0e2a (patch) | |
tree | 432e64d7772cf2fe3bff2dcfe44c37b7811b69c0 /vp9/encoder/vp9_encoder.c | |
parent | 9363425daa8311f518184bf516e1f3c709addb8e (diff) | |
download | libvpx-eee201c221cdff90a4e74d4cf8917875684f0e2a.tar libvpx-eee201c221cdff90a4e74d4cf8917875684f0e2a.tar.gz libvpx-eee201c221cdff90a4e74d4cf8917875684f0e2a.tar.bz2 libvpx-eee201c221cdff90a4e74d4cf8917875684f0e2a.zip |
Tile based adaptive mode search in RD loop
Make the spatially adaptive mode search in rate-distortion
optimization loop inter tile independent. Experiments suggest that
this does not significantly change the coding staticstics.
Single tile, speed 3:
pedestrian_area 1080p 1500 kbps
59192 b/f, 40.611 dB, 101689 ms
blue_sky 1080p 1500 kbps
58505 b/f, 36.347 dB, 62458 ms
mobile_cal 720p 1000 kbps
13335 b/f, 35.646 dB, 45655 ms
as compared to 4 column tiles, speed 3:
pedestrian_area 1080p 1500 kbps
59329 b/f, 40.597 dB, 101917 ms
blue_sky 1080p 1500 kbps
58712 b/f, 36.320 dB, 62693 ms
mobile_cal 720p 1000 kbps
13191 b/f, 35.485 dB, 45319 ms
Change-Id: I35c6e1e0a859fece8f4145dec28623cbc6a12325
Diffstat (limited to 'vp9/encoder/vp9_encoder.c')
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 0ea129b90..ff9fc1f17 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -164,6 +164,8 @@ static void dealloc_compressor_data(VP9_COMP *cpi) { cm->fc = NULL; vpx_free(cm->frame_contexts); cm->frame_contexts = NULL; + vpx_free(cpi->tile_data); + cpi->tile_data = NULL; // Delete sementation map vpx_free(cpi->segmentation_map); @@ -1392,6 +1394,7 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf) { cm->current_video_frame = 0; cpi->partition_search_skippable_frame = 0; + cpi->tile_data = NULL; // Create the encoder segmentation map and set all entries to 0 CHECK_MEM_ERROR(cm, cpi->segmentation_map, |