summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2015-06-16Merge "Eliminated frame_type check in get_partition_probs()"Scott LaVarnway
2015-06-16Eliminated frame_type check in get_partition_probs()Scott LaVarnway
Moved the frame_type check to the tile level and stored the prob ptr in MACROBLOCKD. Change-Id: I10b5a4abd58213dc7610e3ade1a1583c01526842
2015-06-15Merge "vp9_ethread: create enough threads while using SVC"Yunqing Wang
2015-06-15Merge changes I19588f9e,I6dc338a6James Zern
* changes: vp9_encodeframe: make coord_lookup[] static vp9_resize: make vp9_filteredinterp_*[] static
2015-06-15vp9_ethread: create enough threads while using SVCYunqing Wang
This patch modified the thread creating code. When use_svc is true, the number of threads created is decided by the highest resolution. This resolved WebM issue 1018. Change-Id: I367227b14d1f8b08bbdad3635b232a3a37bbba26
2015-06-15Remove redundant second declaration in svc_layercontext.cMarco
Change-Id: Ia3b1c1db54204fd92a56b7f698a9f26d27ee572a
2015-06-12vp9_encodeframe: make coord_lookup[] staticJames Zern
Change-Id: I19588f9e674c8635b6e58e4633120be736d256a6
2015-06-12vp9_resize: make vp9_filteredinterp_*[] staticJames Zern
+ drop the vp9_ prefix Change-Id: I6dc338a69265dcaa8c6fe071e5757312bf92efca
2015-06-12Fix potential overflow issue in hadamard_16x16()Jingning Han
This commit fixes a potential integer overflow issue in function hadamard_16x16. It adds corresponding dynamic range comment. Change-Id: Iec22f3be345fb920ec79178e016378e2f65b20be
2015-06-12Add dynamic range comment to hadamard_8x8()Jingning Han
Add comment to assist SIMD optimization. Change-Id: I300d5a848e6e9947e451de2a871a88940703fc9f
2015-06-12Merge "Allocate tile data adaptively to accommodate the frame size increase"Yunqing Wang
2015-06-11Merge "inline vp9_get_segdata()"Scott LaVarnway
2015-06-11Allocate tile data adaptively to accommodate the frame size increaseYunqing Wang
If the frame size increases, the tile data buffer needs to be re-allocated according to the number of tiles existing in current frame. This patch makes the multi-tile encoding work in spatial SVC usage case, and partially solved WebM issue 1018. Change-Id: I1ad6f33058cf5ce6f60ed5024455a709ca80c5ad
2015-06-11inline vp9_get_segdata()Scott LaVarnway
and change name. Change-Id: I706645cf9d9dc04f1b3b6ac80df80edb7f101854
2015-06-11Move adjustment of some CR parameters to existing function.Marco
Refactor/no change in behavior. Change-Id: Idb3c55b1304feaf689b90403f79bc96dba26f060
2015-06-11Merge "inline vp9_segfeature_active()"Scott LaVarnway
2015-06-11inline vp9_segfeature_active()Scott LaVarnway
and changed name. Change-Id: Ie023ca66cc2c823032f58d4faeb53fd1863c94f3
2015-06-10Merge "Changes to active maxq calculation in two pass."Paul Wilkins
2015-06-10Merge "Reducing size of MODE_INFO struct"Scott LaVarnway
2015-06-09Adjust some parameters for cyclic refresh for low bitrates.Marco
Reduce motion threshold and boost factor for second segment, for low bitrates, at low resolutions for now. This is to reduce the rate fluctuation/frame dropping that occurs at these low bitrates. Change-Id: Ia66c3be41831882fca8c1e4fe104f5ea8fbe7142
2015-06-09Changes to active maxq calculation in two pass.Paul Wilkins
Some initial experiments into discounting dead zone formating bars and intra skip blocks (common in some types of animation and graphics) in the calculation of the active max Q for each ARF/GF group. TODO: check for vertical formating bars and validate the horizontal bar at the bottom edge of the image. As expected, this change as it stands, does not make much difference for the natural videos in the std-hd and derf sets. However, for the yt and yt hd set there is a significant rise in the average PSNR with overall PSNR and SSIM remaining neutral. The mean rise for the YT-HD test set was > 6%. This is mainly because the change allows Q to drop further on titles and other graphics sections where spending a small number of extra bits gives a sharp rise in PSNR. Change-Id: I3f878ae91fc1854312d7ecf9fa792c17bc1aa6b7
2015-06-09Enable more split modes for animated content.Paul Wilkins
For content that is identified as likely to contain some animation or graphics content, increase the availability of split modes for good quality speeds 1-3. On a problem test animation clip this improves metrics results by about 0.25 db and makes a noticeable difference visually. It also causes a small drop in file size (~0.5%) but a rise in encode time of about 5-6% at speed 2. For more normal content it should have no effect. Change-Id: Ic4cd9a8de065af9f9402f4477a17442aebf0e439
2015-06-08Merge "Animation and dead zone detection."Paul Wilkins
2015-06-05Merge "Duplicate reference variance code"Johann
2015-06-05Fix to spatial svc: set reference_frame masking.Marco
For real-time mode: keep reference_frame masking off for spatial svc. Change-Id: I15e123c06f67ea040172b8d4042a672f3525b9d8
2015-06-04Bugfx in setting layer framerate.Marco
Index for ts_rate_decimator should be temporal layer (tl) index. Change-Id: I0320b7f7ae987ef64fdfe7c45099e7978a8fef17
2015-06-04Reducing size of MODE_INFO structScott LaVarnway
Reduced size from 124 bytes to 104 bytes. For decode only builds, it is reduced to 68 bytes. Change-Id: If9e6b92285459425fa086ab5a743d0a598a69de3
2015-06-04Merge "Make vp9 subpixel match vp8"Johann Koenig
2015-06-03Make vp9 subpixel match vp8Johann
The only difference between the two was that the vp9 function allowed for every step in the bilinear filter (16 steps) while vp8 only allowed for half of those. Since all the call sites in vp9 (<< 1) the input, it only ever used the same steps as vp8. This will allow moving the subpel variance to vpx_dsp with the rest of the variance functions. Change-Id: I6fa2509350a2dc610c46b3e15bde98a15a084b75
2015-06-03Remove ABI check for 1 pass CBR SVC.Marco
Remove the ABI check for the controls needed for SVC 1 pass CBR mode. Bump up the ABI version. Change-Id: I35b79ee010e14af83c6d1e801d574deaaa2fc7eb
2015-06-04Animation and dead zone detection.Paul Wilkins
Adds code to detect dead zone bars at the top and bottom of reformatted letterbox video (note that the code only looks at the top of the image and assumes any dead zone is symmetrical). Use of this to adapt rate control etc. will follow in a subsequent patch. Also counts other blocks (excluding the dead zone) that have no intra signal. The presence of a significant number of such blocks can be used as a identify that the frame may be artificial (e.g. animation, screen capture, graphics). This patch contains plumbing only and does not use the signal. Change-Id: I59bc93529cd4065416cef773e405fda3ae006a20
2015-06-03Duplicate reference variance codeJohann
Some places are using the unoptimized variance function. This was never intended and does not fit into the optimization framework. Change-Id: Id96238407aad03b0ffd4a46cd183555a026daedc
2015-06-02Vidyo patch: Rate control for SVC, 1 pass CBR mode.Marco
-Make Rate control work for SVC 1 pass CBR mode. -Added temporal layering mode. -Fixed bug in non-rd variance partition. -Modified/updated the sample encoders (vp9_spatial_svc_encoder, vpx_temporal_svc_encoder). -Added datarate unittest(s) for 1 pass CBR SVC. Change-Id: Ie94b1b68a56ea1267b5087c625e5df04def2ee48
2015-06-01Merge "Fast feedback of bits on undershoot."paulwilkins
2015-05-28For non-rd pickmode: remove VAR_PARTITION condition.Marco
Keep the logic, transform size based on cyclic refresh and bsize, (that was conditioned on VAR_PARTITION conditions) the same for all speeds in non-rd mode (speeds >= 5). No change to speeds >=6. Small improvement for speed 5, ~0.5/1.5% gain for avg psnr/ssim. Change-Id: If9c5657f3d30efd3c7f147166bba7cb69ea55114
2015-05-28Merge "[svc] Disable tiles for spatial svc case"Minghai Shang
2015-05-28Merge "Re-worked header files"Scott LaVarnway
2015-05-28Merge "Add error handling when running out of free frame buffers."hkuang
2015-05-27Add error handling when running out of free frame buffers.hkuang
Change-Id: If28b59b9521204a6e3aecedcf75932d76a752567
2015-05-27Non-rd variance partition: Adjust thresholds for 1080p.Marco
Increase the 32x32 split threshold, to allow for more 32x32 at expense of 16x16. Visually looks somewhat better. Change-Id: Ia1439c3a0dc2d7933468b88bd59266fcd9f03505
2015-05-27Merge "Refactor set_vbp_thresholds."Marco
2015-05-27Merge "[svc] Make size of empty frame to be 16x16 all the time"Minghai Shang
2015-05-27Refactor set_vbp_thresholds.Marco
Break out the setting of the block variance split thresholds, since they are locally modified, e.g., based on local/segment qp. No change in performance. Change-Id: I0a3238e6dab05140657539fc4bd27ac5ff7a554e
2015-05-26[svc] Make size of empty frame to be 16x16 all the timeMinghai Shang
Change-Id: Ibab09aa0e8c69cf5efea2f0ec035e5da9cc894b0
2015-05-26Merge "Move variance functions to vpx_dsp"Johann
2015-05-26Move variance functions to vpx_dspJohann
subpel functions will be moved in another patch. Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
2015-05-26Merge "[svc] Turn on frame_parallel_decoding_mode"Minghai Shang
2015-05-22Fix integral projection motion search for frame resizeJingning Han
This commit fixes the integral projection motion search crash when frame resize is used. It fixes issue 994. Change-Id: Ieeb52619121d7444f7d6b3d0cf09415f990d1506
2015-05-22Re-worked header filesScott LaVarnway
Various header/test files had to be re-worked in order to build "Remove cm parameter from vp9_decode_block_tokens()". This patch reverts the "Remove cm" part and only contains the re-worked header files. Change-Id: I520958a88d1991fee988a3c784d0eac40e117a32
2015-05-20[svc] Disable tiles for spatial svc caseMinghai Shang
Change-Id: I8655a6760ab61947c09f337ddd9f4c1baf803a56