1. 13 Jan, 2016 1 commit
    • Yaowu Xu's avatar
      Fix encoder crashes and enc/dec mismatches · d803e8a2
      Yaowu Xu authored
      This commit adds the logic for segmentation map initialization and
      disable temporal update of segmentation map when error-resilient
      mode is on. It fixes the enc/dec mistmates (release build) and
      assertions(debug) when both aq-mode and error-resilient are on.
      
      Change-Id: Id2155e8b28962cf1f64494f4df0c8d79499b6890
      d803e8a2
  2. 08 Jan, 2016 2 commits
  3. 04 Jan, 2016 2 commits
  4. 15 Dec, 2015 3 commits
    • paulwilkins's avatar
      Fixed interval, fixed Q 1 pass test patch. · 99309004
      paulwilkins authored
      For testing implemented a fixed pattern and delta, 1 pass,
      fixed Q, low delay mode.
      
      This has not in any way been tuned or optimized.
      
      Change-Id: Icf9b57c3bb16cc5c0726d5229009212af36eb6d9
      99309004
    • paulwilkins's avatar
      1 pass VBR mode bug fix. · 9ce611a7
      paulwilkins authored
      (copied from VP9)
      
      The one pass VBR mode selects a Q range based on a
      moving average of recent Q values. This calculation
      should have been excluding arf overlay frames as these
      are usually coded at the highest allowed value. Their
      inclusion skews the average and can cause it to drift
      upwards even when the clip as a whole is undershooting.
      
      As such it can undermine correct adaptation of the allowed
      Q range especially for easy content.
      
      Change-Id: I9e12da84e12917e836b6e53ca4dfe4f150b9efb1
      9ce611a7
    • Yaowu Xu's avatar
      Fix a enc/dec mismatch under CONFIG_MISC_FIXES · c7101830
      Yaowu Xu authored
      The culprit is on the decode side xd->lossless[i] setup was in wrong
      location where segment features are not yet decoded.
      
      Also on the encoder side, transform mode was not set consistently
      between when tx_mode is selected and how tx_mode is enforced in
      tx size selection.
      
      Change-Id: I4c4c32188fda7530cadab9b46d4201f33f7ceca3
      c7101830
  5. 14 Dec, 2015 1 commit
  6. 11 Dec, 2015 1 commit
  7. 10 Dec, 2015 2 commits
  8. 08 Dec, 2015 1 commit
    • paulwilkins's avatar
      Changes to exhaustive motion search. · 4e692bbe
      paulwilkins authored
      This change has been imported from VP9 and
      alters the nature and use of exhaustive motion search.
      
      Firstly any exhaustive search is preceded by a normal step search.
      The exhaustive search is only carried out if the distortion resulting
      from the step search is above a threshold value.
      
      Secondly the simple +/- 64 exhaustive search is replaced by a
      multi stage mesh based search where each stage has a range
      and step/interval size. Subsequent stages use the best position from
      the previous stage as the center of the search but use a reduced range
      and interval size.
      
      For example:
        stage 1: Range +/- 64 interval 4
        stage 2: Range +/- 32 interval 2
        stage 3: Range +/- 15 interval 1
      
      This process, especially when it follows on from a normal step
      search, has shown itself to be almost as effective as a full range
      exhaustive search with step 1 but greatly lowers the computational
      complexity such that it can be used in some cases for speeds 0-2.
      
      This patch also removes a double exhaustive search for sub 8x8 blocks
      which also contained  a bug (the two searches used different distortion
      metrics).
      
      For best quality in my test animation sequence this patch has almost
      no impact on quality but improves encode speed by more than 5X.
      
      Restricted use in good quality speeds 0-2 yields significant quality gains
      on the animation test of 0.2 - 0.5 db with only a small impact on encode
      speed. On most natural video clips, however, where the step search
      is performing well, the quality gain and speed impact are small.
      
      Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98
      4e692bbe
  9. 07 Dec, 2015 1 commit
  10. 04 Dec, 2015 1 commit
    • Angie Chiang's avatar
      comment out range_check of fdct in dct.c · 08b157da
      Angie Chiang authored
      The range_check is not used because the bit range
      in fdct# is not correct. Since we are going to merge in a new version
      of fdct# from nextgenv2, we won't fix the incorrect bit range now.
      
      Change-Id: I54f27a6507f27bf475af302b4dbedc71c5385118
      08b157da
  11. 03 Dec, 2015 1 commit
    • hui su's avatar
      Remove palette from VP10 · 5d3327e8
      hui su authored
      Store it in nextgenv2 for now.
      
      Change-Id: Iab0af0e15246758e3b6e8bde4a74b13c410576fc
      5d3327e8
  12. 19 Nov, 2015 1 commit
  13. 09 Nov, 2015 1 commit
    • Johann's avatar
      Release v1.5.0 · cbecf57f
      Johann authored
      Javan Whistling Duck release.
      
      Change-Id: If44c9ca16a8188b68759325fbacc771365cb4af8
      cbecf57f
  14. 06 Nov, 2015 1 commit
  15. 27 Oct, 2015 4 commits
  16. 24 Oct, 2015 1 commit
  17. 23 Oct, 2015 1 commit
    • Jingning Han's avatar
      Use explicit block position in foreach_transformed_block · caeb10bf
      Jingning Han authored
      Add the row and column index to the argument list of unit functions
      called by foreach_transformed_block wrapper. This avoids the
      repeated internal parsing according to the block index.
      
      Change-Id: Ie7508acdac0b498487564639bc5cc6378a8a0df7
      caeb10bf
  18. 21 Oct, 2015 2 commits
  19. 20 Oct, 2015 2 commits
    • Ronald S. Bultje's avatar
      vp10: disallow coding zero-sized tiles-in-frame/frames-in-superframe. · dec4405c
      Ronald S. Bultje authored
      See issue 1088.
      
      Change-Id: Icb15d33b4e316add848f210b50cbccd7c7847207
      dec4405c
    • Geza Lore's avatar
      Optimize vpx_quantize_{b,b_32x32} assembler. · 9cfba09a
      Geza Lore authored
      Added optimization of the 8 bit assembly quantizer routines. This makes
      these functions up to 100% faster, depending on encoding parameters.
      
      This patch maskes the encoder faster in both the high bitdepth and 8bit
      configurations. In the high bitdepth configuration, it effects profile 0
      only.
      
      Based on my profiling using 1080p input the net gain is between 1-3% for
      the 8 bit config, and around 2.5-4.5% for the high bitdepth config,
      depending on target bitrate. The difference between the 8 bit and high
      bitdepth configurations for the same encoder run is reduced by 1% in all
      cases I have profiled.
      
      Change-Id: I86714a6b7364da20cd468cd784247009663a5140
      9cfba09a
  20. 19 Oct, 2015 1 commit
  21. 16 Oct, 2015 6 commits
    • Ronald S. Bultje's avatar
      vp10: per-segment lossless coding. · 60c58b52
      Ronald S. Bultje authored
      Some more testing of this patch would probably be useful, but I
      think the basics of it should work fine now.
      
      See issue 1035.
      
      Change-Id: I4a36d58f671c5391cb09d564581784a00ed26245
      60c58b52
    • Ronald S. Bultje's avatar
      vp10: add extended-intra prediction edges experiment. · c7dc1d78
      Ronald S. Bultje authored
      This experiment allows using full above/right edges for all transform
      sizes whenever available (for d45/d63), and adds bottom/left edges for
      d207.
      
      See issue 1043.
      
      Change-Id: I5cf7f345e783e8539bb6b6d2c9972fb1d6d0a78b
      c7dc1d78
    • Ronald S. Bultje's avatar
      vp10: allow forward updates for keyframe y intra mode probabilities. · 1eb51a20
      Ronald S. Bultje authored
      See issue 1040 point 5.
      
      Change-Id: I51a70b9eade39efba392a1457bd70a3c515525cb
      1eb51a20
    • Ronald S. Bultje's avatar
      vp10: merge keyframe/interframe uvintramode/partition probabilities. · d8f3bb18
      Ronald S. Bultje authored
      This has various benefits:
      - simplify implementations because we don't have to switch between
        multiple probability tables depending on frametype
      - allows fw subexp and bw adaptivity for partitions/uvmode in keyframes
      
      See issue 1040 point 5.
      
      Change-Id: Ia566aa2863252d130cee9deedcf123bb2a0d3765
      d8f3bb18
    • Ronald S. Bultje's avatar
      vp10: make segmentation probs use generic probability model. · 6e5a1165
      Ronald S. Bultje authored
      Locate them (code-wise) in frame_context, and have them be updated
      as any other probability using the subexp forward and adaptive bw
      updates.
      
      See issue 1040 point 1.
      
      TODOs:
      - real-world default probabilities
      - why is counts sometimes NULL in the decoder? Does that mean bw
        adaptivity updates only work on some frames? (I haven't looked
        very closely yet, maybe this is a red herring.)
      
      Change-Id: I23b57b4e5e7574b75f16eb64823b29c22fbab42e
      6e5a1165
    • hui su's avatar
      VP10: some changes to palette mode · 17c817ad
      hui su authored
      Account for rounding in distortion calculation in k-means;
      carry out rounding before duplicates removal of base colors;
      replace numbers with macros;
      use prefix increment.
      
      Slight coding gain (<0.1%) on screen_content testset.
      
      Change-Id: Ie8bd241266da6b82c7b2874befc3a0c72b4fcd8c
      17c817ad
  22. 15 Oct, 2015 3 commits
  23. 13 Oct, 2015 1 commit