summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-24Merge "vp9: Adjust reset segment for real-time screen-content"Marco Paniconi
2018-07-23vp9: Adjust reset segment for real-time screen-contentMarco Paniconi
For real-time screen content mode when the short_circuit flat_blocks feauture is enabled: reset segment to 0 for coding block if its flat, regardless of temporal source_sad. Reduces some artifacts on flat areas. Change-Id: I9620e424bedc5a13f87cc4f66af7c0e86043c89c
2018-07-24Merge "Add prune_ref_frame_for_rect_partitions feature"Hui Su
2018-07-24Merge "Pass in block size for motion search function"Jingning Han
2018-07-24Merge "Make the tpl model update operated in 8x8 block unit"Jingning Han
2018-07-24Merge "Refactor overlap area computation"Jingning Han
2018-07-24Merge "Map coding block size to transform block size"Jingning Han
2018-07-24Merge "Refactor tpl model update function"Jingning Han
2018-07-24Merge "Scale the distortion mectric with tx size"Jingning Han
2018-07-23Pass in block size for motion search functionJingning Han
Use parameter block size to control the motion estimation function in tpl model building. Change-Id: I4d9ec28aa15d0fb51a94aacd9bd50810add7ce29
2018-07-23Make the tpl model update operated in 8x8 block unitJingning Han
Store and update the temporal dependency model in the unit of 8x8 block. Change-Id: Ic580495242b51db9beaf38dae67968cbd212be4d
2018-07-23Merge "VPX: Add vpx_hadamard_32x32_avx2"Scott LaVarnway
2018-07-23Refactor overlap area computationJingning Han
Account for the variable operating block sizes. Change-Id: I4eac4d0b84cf55fbf5c693007c991afe6171ca6a
2018-07-23VPX: Add vpx_hadamard_32x32_avx2Scott LaVarnway
BUG=webm:1546 Change-Id: I64629ed83cb7acd0f2ac49b9c31f369d17a1aed2
2018-07-23Add prune_ref_frame_for_rect_partitions featureHui Su
Add a speed feature to prune reference frames for rectangular partitions. Rectangular partition RD search happens after square partition RD search. With this feature, we keep record of the ref frames picked by square partitions, and only consider those ref frames during rect partition RD search. With this feature on, the computation cost of rect partition RD search is greatly reduced, so we can afford to skip rect partition RD search less aggressively. Overall, both compression and encoding speed are improved. Only speed 0 is affected. Coding gains: lowres midres hdres ovr psnr 0.00% -0.36% -0.37% avg psnr 0.00% -0.36% -0.36% Tested encoding speed with QP=40 on about 30 sequences. Speed gains: lowres midres hdres average 13.4% 7.1% 6.1% max 28.0% 12.0% 9.8% Change-Id: Id5f36dd2ac75028ae98550d67b0a524aa251b692
2018-07-23Merge "Fixed "MAX" boost for static kf sections."Paul Wilkins
2018-07-23Merge "Fix issue with short static KF groups."Paul Wilkins
2018-07-23Merge "Limit Max GF boost for slide shows"Paul Wilkins
2018-07-23Merge "Tweaks to determination of slide show groups."Paul Wilkins
2018-07-23Merge "Improved coding on slide show content."Paul Wilkins
2018-07-22Merge "VPX: Add vpx_hadamard_32x32_sse2"Scott LaVarnway
2018-07-22Merge "VPX: Improve HBD vpx_hadamard_16x16_sse2()"Scott LaVarnway
2018-07-22Map coding block size to transform block sizeJingning Han
Change-Id: I89e18262a2736c0e86f7c30513179806a926827e
2018-07-22Refactor tpl model update functionJingning Han
Fill up all the blocks inside an operating unit with the provided statistics. Change-Id: I93556e0daf9f08cbe62d3c12cf38b5e26ad7c799
2018-07-22Scale the distortion mectric with tx sizeJingning Han
Properly scale the distortion metric according to the tranfer function gain of the transform block size. Change-Id: I8e3539d8936f5db78c1352f902f72ef19fc09ed8
2018-07-22Merge "Replace hard coded numbers in tpl model"Jingning Han
2018-07-21VPX: Add vpx_hadamard_32x32_sse2Scott LaVarnway
BUG=webm:1546 Change-Id: Ide5828b890c5c27cfcca2d5e318a914f7cde1158
2018-07-21Merge "Add Flag to Enable Row Based MultiThreading"Harish Mahendrakar
2018-07-20Add Flag to Enable Row Based MultiThreadingVenkatarama NG. Avadhani
This commit adds a command line argument "--row-mt". Passing "--row-mt=1" will set the row_mt flag in the decoder context. This flag will be used to determine whether row-wise multi-threading path is to be taken when the row-wise multi-threading functions are added. Change-Id: I35a5393a2720254437daa5e796630709049e0bc2
2018-07-20Replace hard coded numbers in tpl modelJingning Han
Change-Id: I1adedfccf9aa874d0980f1181066b3682614a8cb
2018-07-20VPX: Call vpx_hadamard_16x16_c() in vpx_hadamard_32x32_c()Scott LaVarnway
instead of vpx_hadamard_16x16(). Change-Id: Ie16aacad39d7f429e282dd4c93e57c07000d0f29
2018-07-20Fixed "MAX" boost for static kf sections.Paul Wilkins
Apply a fixed maximum boost for static key frame groups / slide show content (if > 8 frames long). This insures sufficient boost on shorter sections whilst preventing excessive boost on longer sections. Change-Id: I5b857dab023d674cfd55bced3437f3bce3b4f1cb
2018-07-20Fix issue with short static KF groups.Paul Wilkins
Where a KF group is very short but static make sure it is coded as a single GF group. Previously there was a bug where such groups could be coded as an arf group with the arf in the next scene. Change-Id: I4504ae2b03c4877fcecfa58dd503879aa4eefac4
2018-07-20Limit Max GF boost for slide showsPaul Wilkins
Set an upper limit on the maximum boost for a static GF only group such as in slide shows as part of tweaks to quality / rate trade off. Change-Id: Ic72575328419cdcf82ad3a20a1d9b947538c25c6
2018-07-20Tweaks to determination of slide show groups.Paul Wilkins
Slight adjustment to rules for defining static groups. Adjustment of small bias towards 0,0 motion in first pass. Change-Id: Id1d3753979ad54622f983f4de08472738317ec8e
2018-07-20Improved coding on slide show content.Paul Wilkins
This patch adds in detection of slide show content and allows for coding of long GF only groups up to a length of 240 frames rather than coding a large number of shorter ARF groups that gradually lower the Q. In test samples this patch gave rise to a substantial improvement in overall psnr and a drop in data rate. In some cases the average psnr fell, however, with the boost and minQ values set as they are. This is to be expected because average psnr is dominated by the best frames in the sequence and previously a relatively poor key frame could be followed by progressively better alt refs. For example a key frame at q7.5 but subsequent alt refs improving it to lossless. For slides displayed for several seconds, savings of >= 20% (or commensurate quality gains) are likely. This patch allows for long GF groups in static sections before and after complex transitions (e.g. fades) with one or more normal ARF groups during the transition. However, it enforces a single "normal" length GF group after the transition before any extended group is allowed. The reason for this is that the ARF that spans the transition my not have a very high quality and hence may not be a good GF for the long static section that follows. Change-Id: I66cc404c3b85e87dae9829b49d9d631cbf04e037
2018-07-20VPX: Improve HBD vpx_hadamard_16x16_sse2()Scott LaVarnway
~12% improvement. Change-Id: Ieca4d870a4c1c5ea2c689e27fc4550fcbab9f867
2018-07-20Merge "VPX: Add Hadamard32x32Test"Scott LaVarnway
2018-07-19Merge "Refactor transform calls in tpl model build"Jingning Han
2018-07-19VPX: Add Hadamard32x32TestScott LaVarnway
Change-Id: Idad619e963cb2f9bf8c62acac0e061639ec7e0b4
2018-07-19Merge "vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t."James Zern
2018-07-18Refactor transform calls in tpl model buildJingning Han
Support multiple transform block size. Prepare for more accurate prediction search. Change-Id: I845f5cf909ed2cba12cfc3627816cc4b37eddbe0
2018-07-19Merge "shell tests: Drop incorrect uses of readonly."Tom Finegan
2018-07-18vp9: Screen-content after slide-change: increase refresh rateMarco Paniconi
For screen-content real-time CBR mode: on a detected slide change that is encoded at max Q (to prevent excessive overshoot), increase the perc_refresh in the cyclic refresh following the slide change. Use counter to increase refresh up to some #frames from slide change. This is attempt to increase quality ramp-up after slide change without causing too much excess overshoot. Change-Id: Ie4ec4361082803a522f4a8794b3bb0178c9cf307
2018-07-17Reland "Enable tpl model for speed 0"Jingning Han
This is a reland of 9c2c234a0b8f9c08719ac1fa286988a0a3626fd0 Threaded mismatch has been addressed. Original change's description: > Enable tpl model for speed 0 > > Enable adaptive Lagrangian multiplier for arf in speed 0, AQ mode 0, > and low bit-depth settings. This improves the peak compression > performance: > > avg PSNR overall PSNR SSIM > low -0.462% -0.535% -0.358% > mid -0.780% -0.857% -0.868% > hd -0.914% -1.017% -0.471% > 720p -0.624% -0.671% -1.553% > nflx2k -0.764% -0.784% -0.908% > > The encoding time at speed 0 is slightly changed to be faster or > slower: > > city_cif 1000 kbps > 78.2 seconds -> 78.1 seconds > > bus_cif 1000 kbps > 98.6 seconds -> 98.8 seconds. > > Change-Id: I18e7337bb61d985cbd3cf29e56439a6cdf675389 BUG=webm:1547 Change-Id: I025a21683ceed23d5f7147e200555b58b791315c
2018-07-17Merge "Fix 32-bit build for tpl model"Jingning Han
2018-07-17Fix 32-bit build for tpl modelJingning Han
Clear system state to avoid encoding failure in 32-bit build. BUG=webm:1547 Change-Id: Ia74c789d1993da09bc400baf24e971e19752e3c3
2018-07-17Merge "vp9: Force hybrid_intra on scene change"Marco Paniconi
2018-07-17vpx_sum_squares_2d_i16_neon(): Make |s2| a uint64x1_t.Raphael Kubo da Costa
This fixes the build with at least GCC 7.3, where it was previously failing with: sum_squares_neon.c: In function 'vpx_sum_squares_2d_i16_neon': sum_squares_neon.c: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts s2 = vpaddl_u32(s1); ^~ sum_squares_neon.c: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t' s2 = vpaddl_u32(s1); ^ sum_squares_neon.c: incompatible types when assigning to type 'int64x1_t' from type 'uint64x1_t' s2 = vadd_u64(vget_low_u64(s1), vget_high_u64(s1)); ^ sum_squares_neon.c: incompatible type for argument 1 of 'vget_lane_u64' return vget_lane_u64(s2, 0); ^~ The generated assembly was verified to remain identical with both GCC and LLVM. Bug: chromium:819249 Change-Id: I2778428ee1fee0a674d0d4910347c2a717de21ac
2018-07-17Merge changes Iee11abf6,I8acbc718,Ia9a84311Jingning Han
* changes: Account for quantization effect in the tpl model Assign estimate qp for overlay frame Use the estimate qp to set motion search control