summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2015-02-19Optimize the dequantization process on decoder side.Hangyu Kuang
Change-Id: I00621ff7165bbe86a18794b4a816976c9effaf78
2015-02-18Merge "Fix the frame parallel invalid file test failure on ARM."hkuang
2015-02-17Fix the frame parallel invalid file test failure on ARM.hkuang
There is a corner case that when a frame is corrupted, the following inter frame decode worker will miss the previous failure. To solve this problem, a need_resync flag needs to be added to master thread to keep control of that. Change-Id: Iea9309b2562e7b59a83dd6b720607410286c90a6
2015-02-13loop_filter_rows_mt: remove dependency on 'last_height'James Zern
using this to control reallocation would miss a change if the function were not called for every frame. fixes potential memory corruption by the subsequent memset Change-Id: I4c6bb6ab68803104fc824c7e27cc2f9b2cf53e33
2015-02-13Merge "Fix an encoder/decode mismatch bug"Yaowu Xu
2015-02-13Fix an encoder/decode mismatch bugYaowu Xu
This commit prevent the encoder to update last_frame_type when a frame is dropped in the encoder. Prior to this fix, if there is a dropped frame immediatedly after a key frame, decoder would have the value of last_frame_type as key frame, different from encoder as the dropped frame in encoder would have updated the value to an inter frame. This leads to different probability update in encoder and decoder, thereby encoder/decoder mismatch. This fixes issue #941 Change-Id: I27115224b138bec43ae3916c016574f5740822b0
2015-02-13Merge "Replace some operations with shift in encoder_breakout."Marco
2015-02-13Merge "Improve readability: move return statements"Adrian Grange
2015-02-13Replace some operations with shift in encoder_breakout.Marco
Replaced a divide by 9 with 8, so some very small difference, but otherwise no change in behavior. Change-Id: I1079ae3c41e0789ff0bc6fa9940a238b6bca0f5b
2015-02-13Merge "Add VP9 decoder control to get frame size"Adrian Grange
2015-02-13Improve readability: move return statementsAdrian Grange
Change-Id: I18428d0a93084f78ec136d9019f10466326c67e5
2015-02-13Add VP9 decoder control to get frame sizeAdrian Grange
Adds a control function that allows the caller to get the size of the current frame. Change-Id: Iddfdedc0f3aa9aa46119f87d294681c82f275c9f
2015-02-12Merge "Fix ioc issue in block_rd_txfm"Jingning Han
2015-02-12Fix ioc issue in block_rd_txfmJingning Han
Force 64-bit precision in the intermediate steps. Change-Id: I666113d9adcef8975da201d5aa1a13b783d09594
2015-02-12Merge "Remove unnecessary border extension when frame size change."hkuang
2015-02-12Merge "Add skin detection."Marco
2015-02-12Merge "Update partition rate cost in rtc speed 5"Jingning Han
2015-02-12Merge "Add mode cost to sub8x8 block mode decision in rtc coding"Jingning Han
2015-02-12Merge "Add cast to convert double to int"Adrian Grange
2015-02-11Add skin detection.Marco
Simple skin detection, from vp8; works reasonable on most of the RTC clips, but could miss sometimes. Added debug flag to write out skin map over source input. Change-Id: I2caea7592f1c459047aac46627eeb24a94946464
2015-02-11Merge "Make vp9_print_modes_and_motion_vectors() work"Yunqing Wang
2015-02-11Merge "vp9_thread: prefer pthread.h if available"James Zern
2015-02-11Merge "vp9_highbd_tm_predictor_16x16: fix win64"James Zern
2015-02-11Add cast to convert double to intAdrian Grange
Change-Id: I7f63c2940256a5dadf9a29a853809290dd9e98ed
2015-02-11Add mode cost to sub8x8 block mode decision in rtc codingJingning Han
This commit allows the encoder to properly account for the mode cost in sub8x8 non-RD mode decision. Change-Id: I2951960d20e37ed08e372ee0c7044935b2b9b899
2015-02-11Merge "Account for inter prediction filter rate cost in rtc mode selection"Jingning Han
2015-02-11Merge "Add ref frame rate cost to non-RD mode decision"Jingning Han
2015-02-11Update partition rate cost in rtc speed 5Jingning Han
The block partition rate cost should be updated when recursive partition search is needed. Change-Id: I7bc5ad1fc2cbd3577dee7f7e8da111a2742bdeb9
2015-02-11Account for inter prediction filter rate cost in rtc mode selectionJingning Han
Add the rate cost on inter prediction filter type to the overall rate-distortion cost in vp9_pick_mode_inter. Change-Id: I72c34017adf5220cadb3962694ee5404469fc673
2015-02-11Add ref frame rate cost to non-RD mode decisionJingning Han
This commit adds a heuristic rate cost of reference frame to the non-RD mode decision. It improves the compression performance of speed -6 by 0.31% and speed -5 by 0.69%. Change-Id: If7f3b45519d49b2cb640bcb7316a254efc8be446
2015-02-10vp9_highbd_tm_predictor_16x16: fix win64James Zern
by saving xmm8; cglobal's xmm reg arg is 0-based Change-Id: Ic8426ec9ac59ab4478716aa812452a6406794dcb
2015-02-10Make vp9_print_modes_and_motion_vectors() workYunqing Wang
MODE_INFO struct was modified, and vp9_print_modes_and_motion_vectors() didn't work anymore. This patch modified vp9_debugmodes.c so that this function works again for debug usage. Change-Id: I293fae0295235deb2529a460a274caf7c045ac1a
2015-02-10Move computation up to frame levelYaowu Xu
This is to avoid redo the same calculation repeatly, and also allow easier adjustments for further experiments. This commit shall have no effect on quality/compression. Change-Id: I4460acf5c808ff5518da18d21e002c5da58af857
2015-02-10Remove unnecessary border extension when frame size change.hkuang
This border extension is not needed with on-demond border extension. Change-Id: I8501b37f5f756dc7e874cef4c1cfdbfa9a16112a
2015-02-10vp9_thread: prefer pthread.h if availableJames Zern
this avoids conflicts with recent versions of mingw-w64 (tested g++ 4.8.2) and the unit tests Change-Id: Ic41ea31eebe0e3e712ed5e657f37d8cad6712088
2015-02-10Merge "Auto-adaptive encoder frame resizing logic"Adrian Grange
2015-02-10Merge "Fix block partition size in fill_mode_info_sb"Jingning Han
2015-02-10Auto-adaptive encoder frame resizing logicAdrian Grange
Note: This feature is still in development. Add an option for the encoder to decide the resolution at which to encode each frame. Each KF/GF/ARF goup is tested to see if it would be better encoded at a lower resolution. At present, each KF/GF/ARF is coded first at full-size and if the coded size exceeds a threshold (twice target data rate) at the maximum active Q then the entire group is encoded at lower resolution. This feature is enabled in vpxenc by setting: --resize-allowed=1 In addition, if the vpxenc command line also specifies valid frame dimensions using: --resize-width=XXXX & --resize_height=YYYY then *all* frames will be encoded at this resolution. Change-Id: I13f341e0a82512f9e84e144e0f3b5aed8a65402b
2015-02-10Merge "Make encoder and decoder share common thread function"Yunqing Wang
2015-02-10Merge "Rename loopfilter_thread files to thread_common files"Yunqing Wang
2015-02-10Fix block partition size in fill_mode_info_sbJingning Han
This commit fixes the sub block partition size used in fill_mode_info_sb. Previous implementation effectively disabled the rectangular block sizes. This commit resolved this issue. Change-Id: Ic1c383ab0a9a2e7d59e85b388093f1f1f94d1e7f
2015-02-09Merge "Set the maximum decode threads to be 8."hkuang
2015-02-09Merge "Fix high bit depth assembly function bugs"Yunqing Wang
2015-02-09Set the maximum decode threads to be 8.hkuang
This will fix the frame parallel decode hang on windows due to not enough semaphores. This will also make the frame parallel decode safer as the number of frame buffers could only support maximum 8 threads. Change-Id: Id9ef50692819dcbebbd74a0aabffbfb3f39a4309
2015-02-07Fix jenkins unit test failure due to "uninitialised value".hkuang
Change-Id: Ief6b526486bc729dcb787358bc0b781f278bdc66
2015-02-06Make encoder and decoder share common thread functionYunqing Wang
Moved vp9_accumulate_frame_counts to vp9_thread_common.c to eliminate the duplicate code. Change-Id: I9cf506d729603c8bf1494b4c86a3b7d47af1917a
2015-02-06Merge "Re-arrange inter mode search order in RTC coding flow"Jingning Han
2015-02-06Rename loopfilter_thread files to thread_common filesYunqing Wang
Renames the files to allow more common thread code to be moved to vp9/common. Change-Id: I7386e64e221086e3cdc087e79812f993c423413b
2015-02-06Merge "Replace repeated check with single variable"Yaowu Xu
2015-02-06Re-arrange inter mode search order in RTC coding flowJingning Han
This commit makes the ZEROMV mode first in the search order to ensure that the zero mv is always checked in the RTC coding mode. It improves the average speed -6 compression performance by 0.3% in both PSNR and SSIM at no visible speed change. Change-Id: I465a7e59f4e20cd84fee3f02ced6f98036945949