1. 09 Mar, 2017 3 commits
  2. 08 Mar, 2017 5 commits
    • Fergus Simpson's avatar
      hbd: remove unused variable "use_hbd" · f80a0581
      Fergus Simpson authored
      The variable "use_hbd" was defined but not used in four places in the
      codebase. The warning that it wasn't used was missed by Jenkins
      because it only tries one experimental flag at a time, but these
      definitions were inside nested experimental flag conditions. Both
      CONFIG_WARPED_MOTION and CONFIG_AOM_HIGHBITDEPTH had to be set for the
      variables to be defined.
      
      This patch deletes the unused definitions to remove the unused variable
      warnings when the AV1 encoder and/or decoder are built with warped
      motion and high bitdepth configured.
      
      Change-Id: I9e80523db05a7a19cebe3ec8085a4a1e4b198c52
      f80a0581
    • hui su's avatar
      Code refactoring in adapt-scan · ff0da2b4
      hui su authored
      Change-Id: Ie20bd0b05bbf3128933f10787aade7b63c98b52a
      ff0da2b4
    • Fangwen Fu's avatar
      Remove palette interleave · b3be926a
      Fangwen Fu authored
      * Run 45 degree wavefront coding for palette index
      with palette_throughput experiment.
      * Remove palette index interleave.
      
      Change-Id: Ibb57004401f817dec8b00bc2a941d70a26783ff9
      b3be926a
    • Yaowu Xu's avatar
      localize the use of CONFIG_DEPENDENT_HORZTILES · 531d6afd
      Yaowu Xu authored
      This commit changes is_inside() function to reduce the code polution
      of CONFIG_DEPENDENT_HORZTILES.
      
      Change-Id: Ic065cc337e0246379d87966a49ddeb48b975c5be
      531d6afd
    • Thomas Daede's avatar
      Fix accounting when PVQ is enabled. · e1227d5f
      Thomas Daede authored
      Change-Id: I87474e058563d737bbad47d14e398c6090b4486c
      e1227d5f
  3. 07 Mar, 2017 3 commits
    • Thomas Davies's avatar
      Add a CDF for coding delta_q. · d6ee8a8c
      Thomas Davies authored
      Also remove forward updates for delta_q when EC_ADAPT
      is enabled.
      
      Change-Id: Idf71b57bfe7763bc60595bc45768e624dd7b67bd
      d6ee8a8c
    • Fangwen Fu's avatar
      dependent tiles togeter with tile groups · 73126c08
      Fangwen Fu authored
      Change-Id: I378eb5b2c03a4c30d261128bcf9ef00ea987ed40
      73126c08
    • hui su's avatar
      Fork the entropy experiment · 0d103578
      hui su authored
      Split it into two experiments:
      q_adapt_probs: multiple initial coeff prob tables based on q-index
      subframe_prob_update: multiple backward prob updates within frame
      
      Change-Id: I78041ebd4ba34afc9152f6861225f63c2e8eb686
      0d103578
  4. 06 Mar, 2017 3 commits
  5. 04 Mar, 2017 1 commit
  6. 03 Mar, 2017 6 commits
    • Luc Trudeau's avatar
      Merging robust and nodesync in PVQ · 9e6a9607
      Luc Trudeau authored
      The variables robust and nodesync appear to represent the same concept.
      In order to simplify, they are merged into nodesync. This change does
      not alter the bitstream as this value is hard coded to 1.
      
      Change-Id: If9b2eb52f628e3f615b6270e26569815d5e79ae0
      9e6a9607
    • Thomas Davies's avatar
      TILE_GROUPS: omit tile length from last tile in the frame. · a0de6d59
      Thomas Davies authored
      This change improves efficiency and means that tile groups
      cause negligible loss (+0.03% BDR) in the current default
      encoding configurations (1 tile group no matter how many tiles)
      with frame-based wrapping.
      
      In future, when wrapper formats support tile groups, lengths
      can be omitted from the last tile in every tile group.
      
      Change-Id: Ia701e6720208fbfa727f9aef0b692a6aafbcc93f
      a0de6d59
    • Yue Chen's avatar
      Restrict the number of neighbors in obmc mode · 5329a2bf
      Yue Chen authored
      Enable obmc mode only when there are <= 2 left neighbors and <=2
      above neighbors. Also disable it when there is no overlappable
      neighbors.
      
      Gain in AWCY test: 1.60%, was 1.64% when there is no restriction
      
      Change-Id: I2d82ef4fb4daa9b0843ac8844f99b9f412c4f379
      5329a2bf
    • Nathan E. Egge's avatar
      Add missing license block to inspection.[ch]. · 20f9ae1d
      Nathan E. Egge authored
      Change-Id: Icc85b0990adfdaf31f246204bee0c9b9d54654a0
      20f9ae1d
    • Nathan E. Egge's avatar
      Add extern "C" for C++ compatibility. · 74b73385
      Nathan E. Egge authored
      Change-Id: I13369c84fa736e0d38f19480068abfb5dc54dcc8
      74b73385
    • Nathan E. Egge's avatar
      Add a simple frame data inspection API. · 2cf03b1a
      Nathan E. Egge authored
      This patch adds a decoder control that exposes frame data via a simple
       callback.
      
      Change-Id: Icae73ae6b5da8a7783db9fadb1fff4a85d77174b
      2cf03b1a
  7. 02 Mar, 2017 1 commit
    • Sarah Parker's avatar
      Turn off global motion for sub8x8 blocks · ae7c458a
      Sarah Parker authored
      Lowres: 0.03% improvement, 1% improvement on waterfall_cif.y4m
      Midres: 0.085% overall improvement, 1.253% improvement on station2_480p25.y4m
      Change-Id: I3872934d978bb4ca828c6b9acd2fdb951d9da299
      ae7c458a
  8. 01 Mar, 2017 3 commits
  9. 28 Feb, 2017 2 commits
    • Debargha Mukherjee's avatar
      Assign offsets correctly to compute warped motion · 246d2737
      Debargha Mukherjee authored
      Offsets for the least-squares for affine motion computation
      are now set at the top left corner of the current block.
      
      Improves stability and performance a little.
      
      Change-Id: I68ca7e74c6102502daa8ca3373af2b2dd59400c3
      246d2737
    • Jingning Han's avatar
      Disable compound mode in sub8x8 coding blocks · c41a549a
      Jingning Han authored
      Disable the support of compound prediction modes for sub8x8 codking
      blocks. Make the rate-distortion optimizations process account for
      such constraints.
      
      With the use 2x2 chroma prediction block, this makes the wrost case
      number of inter predictors same as vp9. It affects the coding
      gains by 0.35% for lowres, 0.17% for midres, and 0.08% for hdres.
      
      The encoding speed is up by 10%.
      
      Change-Id: Ieb2a83030676911baa403e586f1f800cbf485d81
      c41a549a
  10. 27 Feb, 2017 7 commits
    • Angie Chiang's avatar
      Remove redundant return in set_offsets · 44701f2c
      Angie Chiang authored
      Change-Id: Idf8f03052a7e21b8a273986204038545573d7962
      44701f2c
    • Debargha Mukherjee's avatar
      Better block center in gm_get_motion_vector fn · f6dd3c68
      Debargha Mukherjee authored
      Also supports homography models for future experiments.
      
      Change-Id: I4510540f54133e063891ed491c95c087222f7810
      f6dd3c68
    • Adrian Grange's avatar
      Remove unnecessary #ifdef · d152fc04
      Adrian Grange authored
      The line of code is already within the scope
      of an #if CONFIG_EC_MULTISYMBOL.
      
      Change-Id: I62e28c8586f5d04a1e1be4ea5a2551d3123fde9f
      d152fc04
    • Debargha Mukherjee's avatar
      Integerize warped motion computation · e6eb3b53
      Debargha Mukherjee authored
      Integerizes computation of the least squares for warped motion.
      The model is restricted to only Affine. Affine seems easiest
      to compute and integerize since it can be split into two 3-dim
      least squares problems, as opposed to rotation-zoom which needs
      a 4-dim least-squares problem to be solved.
      The current implementation requires only one division per block.
      
      BDRATE impact is mminimal. The upgrade to the affine model improves
      coding efficiency but integerization also degrades efficiency a
      little. Overall there is a net gain of about -0.07% BDRATE on
      the lowres set.
      BDRATE lowres: -1.113% with ----enable-warped-motion vs. without
      (up from -1.044%).
      
      Change-Id: I6b9216ac0737d76f59054293eabee48e17739ec4
      e6eb3b53
    • Angie Chiang's avatar
      Prefer using get_tx_size() · 7fcfee40
      Angie Chiang authored
      Change-Id: Ifcdd3ce2953c1ecb1d0962da412a4b5ba2cda912
      7fcfee40
    • Yaowu Xu's avatar
      Correct a macro · 345a22db
      Yaowu Xu authored
      --enable-lowbitdepth defines the flag CONFIG_LOWBITDEPTH, not
      CONFIG_AOM_LOWBITDEPTH.
      
      Change-Id: Ifa1c12847bee4978d08d010f4fc3601d75e59c31
      345a22db
    • Steinar Midtskogen's avatar
      CLPF: Add quality dependent damping in the constrain function · 4305e6be
      Steinar Midtskogen authored
      PSNR YCbCr:  -0.17%     -0.03%     -0.40%
      APSNR YCbCr: -0.17%     -0.02%     -0.39%
      PSNRHVS:     -0.06%
      SSIM:        -0.17%
      MSSSIM:      -0.07%
      CIEDE2000:   -0.12%
      
      Change-Id: I69a4b6a4e18c22c3930069396540a6fee45cb30d
      4305e6be
  11. 25 Feb, 2017 3 commits
  12. 24 Feb, 2017 3 commits
    • Michael Bebenita's avatar
      Clear MMX FP state in PVQ code. · e6862004
      Michael Bebenita authored
      Not clearing the FP state was causing acos to return NaN on OSX / LLVM.
      This was not causing problems Linux or AWCY.
      
      Change-Id: I278d02839e4de858b5f55cfb380fa3968937995e
      e6862004
    • Thomas Davies's avatar
      Use default CDF tables when initialising coef probs. · 87aeeb85
      Thomas Davies authored
      When creating the CDF head, do not use 8-bit probabilities
      to make the CDF tables, but load them directly.
      
      CDF tail values are created from the ONE_TOKEN relative
      probability as before.
      
      No change to BDR.
      
      Change-Id: I7386b8952f6f69cc9b77aa1b2bee71cf8e3cc9ff
      87aeeb85
    • Fangwen Fu's avatar
      improving palette throughput · 33bcd117
      Fangwen Fu authored
      * code the palette color index using 45 wavefront
      * interleave the coeff and palette color index in
        transform block level
      * the above change does not change code efficiency
      
      Details: 
      The 45 wavefront scan allows to compute the ctx of
      the diagonal samples' indices  at the same time. 
      Interleaving palette indices and palette residual
      on a transform block basis means that the entropy
       decoding and further processing of the palette 
      residual is not delayed by the entropy decoding 
      of all the color indices of the palette encoded 
      block.
      Change-Id: Ie9f576002a9a68394b99c23b01e9730df06df070
      33bcd117