summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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 "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
2014-10-30Fix mode index use case in vp9_pick_inter_modeJingning Han
This improves coding performance of speed -5 and -6 by 0.6%, respectively. Change-Id: Ic5a7746a88c73285f0b14333d35dc16b02152c25
2014-10-30Refactor vp9_update_rd_thresh_factJingning Han
Reduce the scope of function parameters. Change-Id: Ifef2cfb559908a97498ffdbd6ea53da1cd45a73c
2014-10-30Rework pred pixel buffer system in non-RD coding modeJingning Han
This commit makes the inter prediction buffer system to support hybrid partition search. It reduces the runtime of speed -5 by about 3%. No compression performance change. vidyo1 720p 1000 kbps 11831 ms -> 11497 ms nik 720p 1000 kbps 10919 ms -> 10645 ms Change-Id: I5b2da747c6395c253cd074d3907f5402e1840c36
2014-10-30Merge "Move the definition of switchable filter numbers into enum ↵Hui Su
INTERP_FILTER; Modify the macro ADD_MV_REF_LIST and IF_DIFF_REF_FRAME_ADD_MV."
2014-10-30Merge "Combine vp9_encode_block_intra and encode_block_intra"Hui Su
2014-10-29Merge "Remove unused speed feature"Yunqing Wang
2014-10-29Merge "Addd error resilience test for temporal layers."Marco
2014-10-29Remove unused speed featureYunqing Wang
Partition_check was unused and removed. Change-Id: I15ec9162d86dc61f04c09229c498629878ed7155
2014-10-29Addd error resilience test for temporal layers.Marco
Test for successful decoding when dropping enhancement layer frames. Change-Id: Id3ae6e5676894f352680973e52352dc5d98bbf55
2014-10-29Merge "Enable mode search threshold update in non-RD coding mode"Jingning Han
2014-10-29Enable mode search threshold update in non-RD coding modeJingning Han
Adaptively adjust the mode thresholds after each mode search round to skip checking less likely selected modes. Local tests indicate 5% - 10% speed-up in speed -5 and -6. Average coding performance loss is -1.055%. speed -5 vidyo1 720p 1000 kbps 16533 b/f, 40.851 dB, 12607 ms -> 16556 b/f, 40.796 dB, 11831 ms nik 720p 1000 kbps 33229 b/f, 39.127 dB, 11468 ms -> 33235 b/f, 39.131 dB, 10919 ms speed -6 vidyo1 720p 1000 kbps 16549 b/f, 40.268 dB, 10138 ms -> 16538 b/f, 40.212 dB, 8456 ms nik 720p 1000 kbps 33271 b/f, 38.433 dB, 7886 ms -> 33279 b/f, 38.416 dB, 7843 ms Change-Id: I2c2963f1ce4ed9c1cf233b5b2c880b682e1c1e8b
2014-10-29Simplify vp9_set_rd_speed_thresholds_sub8x8Adrian Grange
Change-Id: I4bf0f9a38697f5aea564a47afd7f02bb8b2888b6