1. 21 Oct, 2016 11 commits
    • Angie Chiang's avatar
      Pass AV1_COMMON into get_scan · ff6d8905
      Angie Chiang authored
      This CL will facilitate adapt_scan experiment.
      In adapt_scan experiment, dynamic scan order will be stored in
      AV1_COMMON
      
      Change-Id: I4763ea931b5e1af54d4f173971befeb01a4db335
      ff6d8905
    • Jingning Han's avatar
      Refactor tx_size to pixel number in decodeframe.c · 3d855c5e
      Jingning Han authored
      Use the table access to retrieve pixel numbers from tx_size.
      
      Change-Id: I9459f2c3292c2f9ddf963f16b79e142de7432031
      3d855c5e
    • Jingning Han's avatar
      Sub8x8 block chroma component inter prediction · e29ea12f
      Jingning Han authored
      Handle the sub8x8 chroma component at the unit of 2x2/4x2/2x4 level
      and use the motion vector inherited from the luma component. This
      improves the coding performance:
      
      lowres 0.4%
      midres 0.25%
      hdres  0.15%
      
      Change-Id: I34dff4218cfa3e5d55e7ed0341f36f4719389f7e
      e29ea12f
    • Jingning Han's avatar
      Unify set_contexts() function for encoder and decoder · a6923f7f
      Jingning Han authored
      Remove the separate implementations of set_contexts() in encoder
      and decoder.
      
      Change-Id: I9f6e9b075532faae0f74f885d9443589254258a7
      a6923f7f
    • Nathan E. Egge's avatar
      Code class0 using aom_read() / aom_write(). · 45ea963f
      Nathan E. Egge authored
      The av1_mv_class0_tree is a balanced tree with two leafs and can
       simply be coded as a boolean with probability class0[0].
      If CLASS0_SIZE is ever changed from 1, this change will need to be
       reverted.
      
      Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
      45ea963f
    • Nathan E. Egge's avatar
      Use intra_ext_tx_cdf when coding tx_type. · 72762a28
      Nathan E. Egge authored
      When building with --enable-daala_ec, the tx_type for intra blocks can be
       coded using the CDFs that are updated once per frame.
      This patch converts a tx_type symbol to be coded with aom_write_symbol()
       and aom_read_symbol() that was missed in f3e8e267.
      
      Change-Id: I34f8fef7525f88e156bbcb78dfc48994367610ce
      72762a28
    • Nathan E. Egge's avatar
      Use MV_FP_SIZE based constant instead of 3. · ac499f35
      Nathan E. Egge authored
      Change-Id: I90ef3b49b499c2ac9c24797467cb4eb194fdf23b
      ac499f35
    • Yaowu Xu's avatar
      Remove duplicate code · 68cb657e
      Yaowu Xu authored
      The duplicate breaks build.
      
      Change-Id: I0f16761c4bcb8563402a664013429403b883c2e1
      68cb657e
    • Yaowu Xu's avatar
      Fix typos · c287e271
      Yaowu Xu authored
      In a previous commit: 5db9743f, two
      changes that appeared to be typos are breaking build when experiments
      are enabled:
      
      ../../libvpx/configure --enable-experimental --enable-ref-mv
      --enable-ext-intra --enable-ext-refs --enable-ext-interp
      --enable-supertx --enable-var-tx --enable-entropy --enable-ext-inter
      --enable-ext-tx  --enable-motion-var --enable-dual-filter
      --enable-ext-partition --enable-ext-partition-types
      --enable-loop-restoration --enable-rect-tx --enable-palette
      --enable-aom-highbitdepth --enable-filter-intra --enable-internal-stats
      && make clean && make -j16
      
      This commit fixes the issue.
      
      Change-Id: I9ce5bbc96df326214202868cb0669bd334c86851
      c287e271
    • Yaowu Xu's avatar
      Fix encoder crash when --enable-daala-ec · e1466ad4
      Yaowu Xu authored
      Change-Id: I6855e18d92f693a9789eda7c91a3430566469bdd
      e1466ad4
    • Angie Chiang's avatar
      Pass AV1_COMMON into av1_cost_coeffs · 22ba7514
      Angie Chiang authored
      Change-Id: I2043d635e2a7f50f84a541501f28179b797ca326
      22ba7514
  2. 20 Oct, 2016 16 commits
    • Urvang Joshi's avatar
      Palette: Use inverse_color_order to find color index faster. · 967ff395
      Urvang Joshi authored
      Cherry-picked from aomedia/master: b1c3bb57
      
      Change-Id: Icfc16070160fd9763abb1dbf5545103e62b4b9ff
      967ff395
    • Urvang Joshi's avatar
      Remove some useless casts · 77853e56
      Urvang Joshi authored
      Cherry-picked from aomedia/master: 6796e7f1
      
      Change-Id: I8af087d97cadb0c2a9e37a4e4723246cdd397995
      77853e56
    • Nathan E. Egge's avatar
      Compute all token encodings from symbol trees. · 3c056790
      Nathan E. Egge authored
      The av1_token encodings must match the contents of the aom_tree_index
       structures so generate all encodings from the symbol trees.
      
      Change-Id: I37be9f12c86a02693ae3c3c1d24b00f2abb29bfb
      3c056790
    • Yaowu Xu's avatar
      decodeframe.c: aom_read_tree_cdf->aom_read_symbol · f2581a3a
      Yaowu Xu authored
      This was a missed replacement from cherry-pick of:
      9ac7a9dc
      
      Change-Id: I9e01d9d7a39bed397500a293bf68dca2746aa917
      f2581a3a
    • Urvang Joshi's avatar
      Declare some array sizes to be constants (known at compile time). · bffc0b57
      Urvang Joshi authored
      This reduces some memcpys and callocs.
      
      Cherry-picked from aomedia/master: 40810138
      
      Change-Id: If04580af4c63892c8af8ac5b405c7d6aabe5af89
      bffc0b57
    • Urvang Joshi's avatar
      angle estimation: Some renames/tweaks to sync with aomedia code. · da70e7b0
      Urvang Joshi authored
      Change-Id: Ide91d76fafe79b2b310ffd5afb7cd5b26b681f78
      da70e7b0
    • Urvang Joshi's avatar
      Encoder/Decoder mismatch fix: need a separate copy of eob_counts. · 43e6281f
      Urvang Joshi authored
      The bug was introduced here:
      https://chromium-review.googlesource.com/#/c/399975/4/av1/encoder/bitstream.c
      In that patch, I had removed 2nd declaration of a variable of the same
      name. But it turns out that the two variables actually had a different
      type (even though the name was same).
      
      Now, we keep both variables, but rename one of them -- that fixes the
      mismatch. While we are at it, made both variables local as well.
      
      The fix can be verified as follows:
      ../../libvpx/configure --enable-experimental --enable-supertx
      --enable-var-tx --enable-entropy --enable-internal-stats && make clean
      && make -j16
      
      aomenc -o soccer_cif_1000_av1_b8.webm ../soccer_cif.y4m --codec=av1
      --limit=50 --skip=0 -p 2 --pass=1 --fpf=soccer_cif_av1.fpf --good
      --cpu-used=0 --target-bitrate=1000 --lag-in-frames=25 --min-q=0
      --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0
      --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
      --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0
      --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0
      --tile-columns=0 --profile=0 --test-decode=warn
      
      aomenc -o soccer_cif_1000_av1_b8.webm ../soccer_cif.y4m --codec=av1
      --limit=50 --skip=0 -p 2 --pass=2 --fpf=soccer_cif_av1.fpf --good
      --cpu-used=0 --target-bitrate=1000 --lag-in-frames=25 --min-q=0
      --max-q=63 --auto-alt-ref=1 --kf-max-dist=150 --kf-min-dist=0
      --drop-frame=0 --static-thresh=0 --bias-pct=50 --minsection-pct=0
      --maxsection-pct=2000 --arnr-maxframes=7 --arnr-strength=5 --sharpness=0
      --undershoot-pct=100 --overshoot-pct=100 --frame-parallel=0
      --tile-columns=0 --profile=0 --test-decode=warn -v --psnr
      
      Change-Id: Ibd72dbe1f620e6de231513220ee4e190606613ae
      43e6281f
    • Sarah Parker's avatar
      Fix logical vs bitwise & bug · ea16b689
      Sarah Parker authored
      This was causing one of the global motion parameters to not
      be centered at 0.
      
      Change-Id: Ide32e3d177bed5613ab768a19b4e33b37692463a
      ea16b689
    • Peter de Rivaz's avatar
      Remove the has_no_coeffs corner case · 130ca4d6
      Peter de Rivaz authored
      BUG=webm:1277
      
      Change-Id: I052239e8a6c468da8704bdbbb663b59533c01be2
      130ca4d6
    • Angie Chiang's avatar
      Add adapt_scan APIs and some helping functions · 648aeb0b
      Angie Chiang authored
      av1_init_scan_order
      initialize data structures related to adaptive scan order
      
      av1_update_scan_prob
      update nonzero probabilities from nonzero counts
      
      av1_augment_prob
      embed r + c and coeff_idx info with nonzero probabilities.
      When sorting the nonzero probabilities, if there is a tie,
      the coefficient with smaller r + c will be scanned first
      
      av1_update_sort_order
      apply quick sort on nonzero probabilities to obtain a sort order
      
      av1_update_scan_order
      apply topological sort on the nonzero probabilities sorting order to
      guarantee each to-be-scanned coefficient's upper and left coefficient
      will be scanned before the to-be-scanned coefficient.
      
      av1_update_neighbors
      For each coeff_idx in scan[], update its above and left neighbors in
      neighbors[] accordingly.
      
      Change-Id: I64c4938057daf8e30e48609a00ecc08d2e3062f4
      648aeb0b
    • Zoe Liu's avatar
      Sync with aom branch for ext-refs · 6cfaff95
      Zoe Liu authored
      Plus a small code clean up. The experiment of EXT_REFS, compared against
      the baseline, using Overall PSNR, now obtains a gain on lowres as:
      Avg: -5.818; BDRate: -5.653
      
      Compared against the previous EXT_REFS results on lowres, a tiny gain is
      obtained as:
      Avg: -0.047, BDRate: -0.063
      
      (1) 780952 Add encoder first pass support to bi-prediction in EXT_REFS
      (2) f91498 Add pred prob handling for new references in EXT_REFS
      (3) e91472 Add decoder support for bi-direct prediction in EXT_REFS
      (4) 0dbac9 Add encoder support to new references in EXT_REFS
      (5) ad70cc Remove hard-coded number for EXT_REFS
      (6) 9c1e2f Add the use of new reference frames at encoder in EXT_REFS
      (7) 6d4fde Add the experiment flag of EXT_REFS
      
      Change-Id: I26f7ca45b9ede7579fdb9d0d6a1a91f4334599bd
      6cfaff95
    • Angie Chiang's avatar
      Add data structure of adpat_scan experiment · 37fb8edd
      Angie Chiang authored
      Change-Id: I163874ee64b9c348de2c7cc8e7b2852308734b0e
      37fb8edd
    • Yi Luo's avatar
      Fix the overflow of av1_fht32x32() in 2D DCT_DCT · 157e45a4
      Yi Luo authored
      - Use range check function to avoid DCT_DCT overflow.
        We need to re-develop the column txfm side scaling/rounding. Now,
        we prefer to maintain the current BDRate level.
      - Encoder user level time reduction <1% owing to av1_fht32x32_avx2.
      - Add MemCheck unit test and fdct32() unit test.
      
      Change-Id: I1e67030f67bc637859798ebe2f6698afffb8531c
      157e45a4
    • hui su's avatar
      Renaming in filter-intra sse4 code · 9ff4134f
      hui su authored
      Change-Id: Iff1786a92d164e6b9cfaf4a59ece79819494276f
      9ff4134f
    • hui su's avatar
      Remove av1/common/intra_filters.h · 344b643d
      hui su authored
      Use a single header reconintra.h for all intra prediction
      related codes.
      
      Change-Id: Ib869447f8c482b534c890eab673e81ff830e8d85
      344b643d
    • hui su's avatar
      Seperate FILTER_INTRA from EXT_INTRA experiment · 5db9743f
      hui su authored
      Prepare for the av1/nextgenv2 merge.
      
      Coding gain (%):
      
                     lowres     midres
      ext-intra       0.69       0.97
      filter-intra    0.67       0.83
      both            1.05       1.48
      
      Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6
      5db9743f
  3. 19 Oct, 2016 13 commits