]> granicus.if.org Git - libvpx/commitdiff
Merge branch 'master' into nextgenv2
authorYaowu Xu <yaowu@google.com>
Wed, 6 Jan 2016 16:36:18 +0000 (08:36 -0800)
committerYaowu Xu <yaowu@google.com>
Wed, 6 Jan 2016 16:36:18 +0000 (08:36 -0800)
Conflicts:
vp10/decoder/decodeframe.c
vp10/encoder/bitstream.c

Change-Id: I743449f49b723d2ce357832619a28b53369d0547

1  2 
configure
vp10/decoder/decodeframe.c
vp10/decoder/decodemv.c
vp10/encoder/bitstream.c
vp9/encoder/vp9_aq_cyclicrefresh.c

diff --cc configure
Simple merge
index 207ceda267b892252eb1bedd9f029c9819df55aa,2bfedf638cc1508e7e4e6e907045a16d4f30e138..bc860883451e5422c674c0c4d993dd00c0f7aec6
@@@ -2977,9 -2108,11 +2977,9 @@@ static size_t read_uncompressed_header(
    }
  
    setup_segmentation_dequant(cm);
-   cm->tx_mode = (xd->lossless[0]) ? ONLY_4X4
-                                   : read_tx_mode(rb);
 -#if CONFIG_MISC_FIXES
+   cm->tx_mode = (!cm->seg.enabled && xd->lossless[0]) ? ONLY_4X4
+                                                       : read_tx_mode(rb);
    cm->reference_mode = read_frame_reference_mode(cm, rb);
 -#endif
  
    setup_tile_info(cm, rb);
    sz = vpx_rb_read_literal(rb, 16);
Simple merge
index 31f636ade2a76705da3b6363433cffb7a0343344,d4b8c36db6b0f212923ffc70efeebc7b51c12813..5ddc7bba5a868978dba6cfb7f40ebd94a67aa2ac
@@@ -696,49 -297,14 +696,49 @@@ static void pack_inter_mode_mvs(VP10_CO
      }
    }
  
 +#if CONFIG_SUPERTX
 +  if (supertx_enabled)
 +    skip = mbmi->skip;
 +  else
 +    skip = write_skip(cm, xd, segment_id, mi, w);
 +#else
    skip = write_skip(cm, xd, segment_id, mi, w);
 +#endif  // CONFIG_SUPERTX
  
 -  if (!segfeature_active(seg, segment_id, SEG_LVL_REF_FRAME))
 -    vpx_write(w, is_inter, vp10_get_intra_inter_prob(cm, xd));
 +#if CONFIG_SUPERTX
 +  if (!supertx_enabled)
 +#endif  // CONFIG_SUPERTX
 +    if (!segfeature_active(seg, segment_id, SEG_LVL_REF_FRAME))
 +      vpx_write(w, is_inter, vp10_get_intra_inter_prob(cm, xd));
  
    if (bsize >= BLOCK_8X8 && cm->tx_mode == TX_MODE_SELECT &&
-       !(is_inter && skip)) {
 +#if CONFIG_SUPERTX
 +      !supertx_enabled &&
 +#endif  // CONFIG_SUPERTX
 -    write_selected_tx_size(cm, xd, w);
+       !(is_inter && skip) && !xd->lossless[segment_id]) {
 +#if CONFIG_VAR_TX
 +    if (is_inter) {  // This implies skip flag is 0.
 +      const TX_SIZE max_tx_size = max_txsize_lookup[bsize];
 +      const int txb_size = txsize_to_bsize[max_tx_size];
 +      const int bs = num_4x4_blocks_wide_lookup[txb_size];
 +      const int width  = num_4x4_blocks_wide_lookup[bsize];
 +      const int height = num_4x4_blocks_high_lookup[bsize];
 +      int idx, idy;
 +      for (idy = 0; idy < height; idy += bs)
 +        for (idx = 0; idx < width; idx += bs)
 +          write_tx_size_inter(cm, xd, mbmi, max_tx_size, idy, idx, w);
 +    } else {
 +      set_txfm_ctx(xd->left_txfm_context, mbmi->tx_size, xd->n8_h);
 +      set_txfm_ctx(xd->above_txfm_context, mbmi->tx_size, xd->n8_w);
 +
 +      write_selected_tx_size(cm, xd, w);
 +    }
 +  } else {
 +    set_txfm_ctx(xd->left_txfm_context, mbmi->tx_size, xd->n8_h);
 +    set_txfm_ctx(xd->above_txfm_context, mbmi->tx_size, xd->n8_w);
 +#else
 +  write_selected_tx_size(cm, xd, w);
 +#endif
    }
  
    if (!is_inter) {
@@@ -1900,7 -1260,8 +1901,7 @@@ static void write_uncompressed_header(V
    encode_loopfilter(&cm->lf, wb);
    encode_quantization(cm, wb);
    encode_segmentation(cm, xd, wb);
-   if (xd->lossless[0])
 -#if CONFIG_MISC_FIXES
+   if (!cm->seg.enabled && xd->lossless[0])
      cm->tx_mode = TX_4X4;
    else
      write_txfm_mode(cm->tx_mode, wb);
Simple merge