summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_pickmode.c
AgeCommit message (Collapse)Author
2014-02-25Use sub-pixel accuracy prediction non-RD modeJingning Han
This commit builds the actual prediction block in sub-pixel accuracy and uses which to calculate SAD for non-RD mode decision. In the trail run on pedestrian_area at 1080p, rtc speed -7 runtime goes from 23495 ms -> 25107 ms (7% slower). The compression performance is improved by 20.57% for rtc test set. Change-Id: I438589cd103fe99f1b50c2d1939ac6ca43fa0157
2014-02-25Use dedicated variables to store the best modeJingning Han
Use a set of dedicated variables to buffer the current best mode in non-RD mode decision. This allows to use mode_info for more complicated test in the non-RD process. Change-Id: I6024c9feb0662afd3eb29f7017f7b5a5446f303f
2014-02-21Changed a constant array to static const typeYaowu Xu
Change-Id: I5b3918441f63ceb7889dcf546e9a2d781be4a3cb
2014-02-21Refactor selected partition size coding for rtcJingning Han
This commit makes a refactoring of the rtc_use_partition. It allows the encoder to take a preferred block size for non-RD mode decision. The boundary blocks are handled such that smaller block sizes that fit in the boundary size will be used instread. In rtc mode, the coding performance of speed -6 for pedestrian_1080p goes from 158980 b/f, 38.934 dB, 22721 ms to 159008 b/f, 40.064 dB, 23721 ms. For rtc set, the speed -6 compression performance is improved by 26%. Still about 2dB behind speed -5 at this point. Change-Id: If0944f0880eaf1ad340bc325d97cea8d0f9dd53f
2014-02-20Enable reduced set of intra modes in rtc codingJingning Han
This commit enables the use of DC, vertical, and horizontal intra prediction mode in rtc non-RD mode decision. When the best cost value of inter modes is above a given threshold, the encoder runs the above three intra modes and selects the one that has minimum prediction residual in terms of SAD. This together with recent changes on non-RD mode decision and coding control improves compression performance of speed -6 by derf 91% yt 61% hd 46% stdhd 52% In terms of encoding speed, it is about 3 times faster than speed -5. Change-Id: I6b483bfd0307e6482bb22a6676ae4e25a52b1310
2014-02-19Rework non-RD mode decision coding flowJingning Han
In the first coding run of a 64x64 block, check the coding mode for each 8x8 block. Will need a second annealing stage to decide the partition size to be encoded. Change-Id: Ida9417805ff3358979b0c0429d4099c023c88866
2014-02-18Merge "Enable sub-pixel motion search for rtc mode"Jingning Han
2014-02-18Enable sub-pixel motion search for rtc modeJingning Han
Run sub-pixel motion search when NEWMV gives lower rate-distortion cost. This improves coding performance of derf set by 8%, std-hd by 2.2%. Change-Id: Ife50f7fda8463927784fe59a41cc439c833e941a
2014-02-14vp9_pickmode.c resolve vs issueJim Bankoski
Change-Id: Ibe4276fa9ffeb2ef30871d6db8ac75c4648f1e58
2014-02-13Using MV instead of int_mv inside vp9_full_pixel_diamond().Dmitry Kovalev
Change-Id: If33a5a12c4025d9b5ec863dfccea7ee70f800665
2014-02-13Merge "Renaming skip_coeff to skip for consistency."Dmitry Kovalev
2014-02-13Merge "vp9_pickmode.c static analysis issues resolved"Jim Bankoski
2014-02-13vp9_pickmode.c static analysis issues resolvedJim Bankoski
Change-Id: I716ea2967c6771d7adea571406f315a3197eab93
2014-02-12Renaming skip_coeff to skip for consistency.Dmitry Kovalev
Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
2014-02-12Use INTER_OFFSET in vp9_pick_inter_modeJingning Han
Cosmetic change to use pre-defined macros. Change-Id: I93e9fa90113d0242599048940b39694660385a6f
2014-02-10Rework mode_info update in vp9_pick_inter_modeJingning Han
This commit moves unnecessary mode_info update steps out of inter mode test loop. Change-Id: I3705450c44cda060021f4fd76c34f1b20d11658b
2014-01-31Set proper rtc interp_filter at block levelYaowu Xu
Based on frame level settings. Change-Id: I922c09c195ab055585eaa4f544c51aceb1203a7a
2014-01-31fix IOCsYaowu Xu
Left shift of negative values caused IOC warnings. Change-Id: I6f41b020ca0ff51f7861719d41393e9460b75d4e
2014-01-29create super fast rtc modeJim Bankoski
This patch only works if the video is a width and height that are both a multiple of 32.. It sets every partition to 16x16, and does INTRADC only on the first frame and ZEROMV on every other frame. It always does does the largest possible transform, and loop filter level is set to 4. Was ~20% faster than speed -5 of vp8 Now 20% slower but adds motion search ( every block ), nearest, near and zeromv The SVC test was changed because - while this realtime mode produces bad quality albeit quickly, it isn't obeying all the rules it should about which frames are available. Change-Id: I235c0b22573957986d41497dfb84568ec1dec8c7
2014-01-22Removing get_scale_ref_frame_idx() function + cleanup.Dmitry Kovalev
Change-Id: Ic9472f361f8749a165aa464c2fa859681b66381b
2014-01-21Cleaning up vp9_setup_buffer_inter() function.Dmitry Kovalev
Change-Id: Ia63e2d05fa5dca3fb67788b0f1f28e9802ef27dd
2014-01-16Inter-frame non-RD mode decisionJingning Han
This commit setups a test framework for real-time coding. It enables a light motion search for non-RD mode decision purpose. Change-Id: I8bec656331539e963c2b685a70e43e0ae32a6e9d