summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-07Fix LAST SKIP when considering GOLDENAlex Converse
Change-Id: I39d9f13fa34984ee9dad0c4f303ef672635f420e
2014-11-07Merge "Add intra complexity and brightness weight to first pass."Paul Wilkins
2014-11-07Merge "Change the use of a reserved color space entry"Yaowu Xu
2014-11-06Change the use of a reserved color space entryYaowu Xu
This commit rename a reserved color space entry to BT_2020, it intends to provide support for VP9 bitstream to pass along the color space type defined in BT.2020(Rec.2020) please note this entry does not have any effect on encoding/decoding behavior, but allow applications to the pass the information along from encoding end to decoding end. Change-Id: I4678520e89141ea5e8900f7bd1c0e95b710b7091
2014-11-06Merge "Modify the frame context memory deallocation"Yunqing Wang
2014-11-06Merge "Remove unused is_background function"Jingning Han
2014-11-06Merge "Rework cut-off decisions in cyclic refresh aq mode"Jingning Han
2014-11-06Modify the frame context memory deallocationYunqing Wang
This patch was to fix the vpxdec fuzzing3 test failure. When an error occurs, setjmp() is invoked, which calls the decoder removing routine. In multiple thread situation, other threads could try to access the frame context memory that is already deallocated, thus causing a segfault. An invalid unit test was added for this issue. Change-Id: Ida7442154f3d89759483f0f4fe0324041fffb952
2014-11-06Add intra complexity and brightness weight to first pass.Paul Wilkins
The aim of this patch is to apply a positive weighting to frames that have a significant number of blocks that are of low spatial complexity and are dark. The rationale behind this is that artifacts tend to be more visible in such frames. In this patch the weight is only applied in regard to the distribution of bits between frames. Hence if all the frames share similar characteristics (as is the case for most of our short test clips) there will be little or no net effect. However, the effect can be seen on some longer form test content. For example Tears of steel baseline test: 2323.09 Kbit/s opsnr 39.915 ssim 74.729 With this patch:- 2213.34 Kbit/s opsnr 39.963 ssim 74.808 (Sligtly better metrics and about 5% smaller) The weighting may well need some further tuning along side changes to the aq modes. Change-Id: Ieced379bca03938166ab87b2b97f55d94948904c
2014-11-05Remove unused is_background functionJingning Han
Change-Id: Ia540eac5f066ae95280c2f898370eddf0110c279
2014-11-05Rework cut-off decisions in cyclic refresh aq modeJingning Han
This commit removes the cyclic aq mode dependency on in_static_area and reworks the corresponding cut-off thresholds. It improves the compression performance of speed -5 by 1.47% in PSNR and 2.07% in SSIM, and the compression performance of speed -6 by 3.10% in PSNR and 5.25% in SSIM. Speed wise, about 1% faster in both settings at high bit-rates. Change-Id: I1ffc775afdc047964448d9dff5751491ba4ff4a9
2014-11-05Merge "Totally remove prev_mi in VP9 decoder."hkuang
2014-11-05Totally remove prev_mi in VP9 decoder.hkuang
This will save the memory and improve the decode speed due to removing unnecessary memset of big prev_mi array for all the key frames. Decoding a all key frames 1080p video shows speed improve around 2%. Change-Id: I6284a445c1291056e3c15135c3c20d502f791c10
2014-11-05Merge "Fix visual studio 2013 compiler warnings"Yaowu Xu
2014-11-05Merge "vp8 quantize is now in intrinsics, not asm"Johann
2014-11-05Fix visual studio 2013 compiler warningsYaowu Xu
For configured with --enable-vp9-highbitdepth Change-Id: I2b181519d7192f8d7a241ad5760c3578255f24e6
2014-11-05Merge "Simplify interface of write_selected_tx_size and read_tx_size"Hui Su
2014-11-05vp8 quantize is now in intrinsics, not asmJohann
Change-Id: Ie106c5335c9ba5aac81e23150e7026fb6ea6196e
2014-11-05Merge "Skip ref frame mode search conditioned on predicted mv residuals"Jingning Han
2014-11-05quantize_test: delete QuantizePair related testsJames Zern
functions were removed in: 2134eb2 Remove pair quantization fixes ARM build Change-Id: I634de50c2752408381d70afb0f5088b61052853c
2014-11-04Merge "Remove pair quantization"Johann
2014-11-04Merge "vp8 quantization -> intrinsics"Johann
2014-11-04Simplify interface of write_selected_tx_size and read_tx_sizeHui Su
Change-Id: Ia2b2a895deefaaf7b34bf26df86add56dbab082c
2014-11-04Merge "[spatial svc] Make spatial svc working for one pass rate control"Minghai Shang
2014-11-04Merge "Fix the memory leak due to missing free frame_mvs."hkuang
2014-11-04Merge "Avoid divide-by-zero in vp8 initialization"Johann
2014-11-04Fix the memory leak due to missing free frame_mvs.hkuang
Change-Id: I2ceee7341d906259002c0ea31ea009ae32c04bfd
2014-11-04Avoid divide-by-zero in vp8 initializationJohann
Check that the numerator is not zero. If it is, guess 30fps. Fixes a clang IOC error in the quantize test. It's very unlikely for this to occur in the wild because the setup in the quantize test is very nonstandard. Change-Id: Icdab7b81d4e168d3423e14db20787f960052e0c3
2014-11-04[spatial svc] Make spatial svc working for one pass rate controlMinghai Shang
Change-Id: Ibd9114485c3d747f9d148f64f706bf873ea473ac
2014-11-04Align structures in quantize testJohann
MACROBLOCKD structures require alignment. This fixes an issue caught by clang IOC. Change-Id: Ibb5bcc122f531b4302a87e1144e4feaf46c1de64
2014-11-04Add some indirection to the quantize testJohann
Visual Studio and XCode require the address of the functions be passed. Change-Id: Id39cab8e50061fdc6ac6018371a3a158c713e14b
2014-11-04Merge "Refactor sub-pixel motion search unit"Jingning Han
2014-11-04Skip ref frame mode search conditioned on predicted mv residualsJingning Han
This commit makes the RTC coding mode to conditionally skip the reference frame mode search, when the predicted motion vector of the current reference frame gives more than two times sum of absolute difference compared to that of other reference frames. It reduces the runtim by 1% - 4% for speed -5 and -6. The average compression performance is improved by about 0.1% in both settings. It is of particular benefit to light change scenarios. The compression performance of test clip mmmovingvga.y4m is improved by 6.39% and 15.69% at high bit rates for speed -5 and -6, respectively. Speed -5 vidyo1 16555 b/f, 40.818 dB, 12422 ms -> 16552 b/f, 40.804 dB, 12100 ms nik 33211 b/f, 39.138 dB, 11341 ms -> 33228 b/f, 39.139 dB, 11023 ms mmmoving 33263 b/f, 40.935 dB, 13508 ms -> 33256 b/f, 41.068 dB, 12861 ms Speed -6 vidyo1 16541 b/f, 40.227 dB, 8437 ms -> 16540 b/f, 40.220 dB, 8216 ms nik 33272 b/f, 38.399 dB, 7610 ms -> 33267 b/f, 38.414 dB, 7490 ms mmmoving 33255 b/f, 40.555 dB, 7523 ms -> 33257 b/f, 40.975 dB, 7493 ms Change-Id: Id2aef76ef74a3cba5e9a82a83b792144948c6a91
2014-11-03Merge "WORKAROUND FIX FOR GCC4.9.1"Yunqing Wang
2014-11-03Merge "vp8 quantize test"Johann
2014-11-03Merge "Allow disable of refresh golden for more than 1 layer encoding."Marco
2014-11-03vp8 quantize testJohann
Test for Regular, Fast and Pair quantization Change-Id: I0a26c164afe632db869099402189826c0d43f9a2
2014-11-03Refactor sub-pixel motion search unitJingning Han
This commit unfolds the legacy macro definitions used in the sub-pixel motion search and refactors the operational flow for later optimizations. Change-Id: I3e3f770cad961d03d1a6eb0b2a0186cc77eaf2b8
2014-11-03Merge "Fix the THR_MODES array used in vp9_pick_inter_mode"Jingning Han
2014-11-03Merge "Fix speed 7 and speed 12 for rt"Yaowu Xu
2014-11-02Allow disable of refresh golden for more than 1 layer encoding.Marco
The current logic was allowing for disabling golden refresh only for two pass svc encoding. This change disables it as long as more than 1 layer encoding is used (for example temporal layers under 1pass CBR). Change-Id: I4dc5204a7ad365c821ec7963e93b59da82e1826b
2014-11-02Fix the THR_MODES array used in vp9_pick_inter_modeJingning Han
Fix the alignment of entries fo intra prediction modes. Change-Id: Ie32ad87cf90694efd591a4b1cc29c916c4cd56f7
2014-11-01WORKAROUND FIX FOR GCC4.9.1levytamar82
In the function mb_lpf_horizontal_edge_w_avx2_16 the usage of the intrinsic _mm256_cvtepu8_epi16 cause a compiler bug in gcc 4.9.1. until it will be fixed I created a workaround that create the up convert by using broadcast128+shuffle. The bug was reported here: https://code.google.com/p/webm/issues/detail?id=867 Change-Id: I73452e6806f42e0fadcde96b804ea3afa7eeb351
2014-10-31Fix speed 7 and speed 12 for rtYaowu Xu
A recent change has introduced big quality drops for speed 7 and 12 for --rt mode. The change reverted the big drop and improved quality by 9.5% for speed 7 and 13.4% for speed 12. Change-Id: I07b82e3bb6002a73af486a083458c88877bdad01
2014-10-31Bind motion vectors with frame buffer structure.hkuang
This will save a lot of memory for decoder due to removing of prev_mi, but prev_mi is still needed in encoder. So this will increase a little bit memory for encoder. Change-Id: I24b2f1a423ebffa55a9bd2fcee1077dac995b2ed
2014-10-31Remove pair quantizationJohann
The intrinsics version of the pair quant is slower than running it individually. Change-Id: I7b4ea8599d4aab04be0a5a0c59b8b29a7fc283f4
2014-10-31vp8 quantization -> intrinsicsJohann
Use intrinsics for neon quantization. Slight loss (<5%) of performance compared to the assembly. Roughly 10x faster on arm64 because that was running C code before. Change-Id: I7cf5242d8f29b7eab5bca6a1c20c89c9fc9ca66d
2014-10-31Merge "Fix mode index use case in vp9_pick_inter_mode"Jingning Han
2014-10-31Merge "Refactor vp9_update_rd_thresh_fact"Jingning Han
2014-10-31Merge "Rework pred pixel buffer system in non-RD coding mode"Jingning Han