]> granicus.if.org Git - libvpx/commitdiff
Merge "Adding encode_loopfilter function." into experimental
authorDmitry Kovalev <dkovalev@google.com>
Tue, 7 May 2013 19:59:12 +0000 (12:59 -0700)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Tue, 7 May 2013 19:59:12 +0000 (12:59 -0700)
1  2 
vp9/encoder/vp9_bitstream.c

index acc3f78f2cbf6feac808286deaab54e60a09dbfa,73af5cacccd7d64335c58eb12929868693ce85a4..6624f07ebdeb9e9e51753687c3cf6efda4f5347b
@@@ -1772,58 -1926,11 +1828,8 @@@ void vp9_pack_bitstream(VP9_COMP *cpi, 
    }
  #endif
  
-   // Write out loop filter deltas applied at the MB level based on mode or ref frame (if they are enabled).
-   vp9_write_bit(&header_bc, (xd->mode_ref_lf_delta_enabled) ? 1 : 0);
-   if (xd->mode_ref_lf_delta_enabled) {
-     // Do the deltas need to be updated
-     vp9_write_bit(&header_bc, xd->mode_ref_lf_delta_update);
-     if (xd->mode_ref_lf_delta_update) {
-       // Send update
-       for (i = 0; i < MAX_REF_LF_DELTAS; i++) {
-         const int delta = xd->ref_lf_deltas[i];
-         // Frame level data
-         if (delta != xd->last_ref_lf_deltas[i]) {
-           xd->last_ref_lf_deltas[i] = delta;
-           vp9_write_bit(&header_bc, 1);
-           if (delta > 0) {
-             vp9_write_literal(&header_bc, delta & 0x3F, 6);
-             vp9_write_bit(&header_bc, 0);  // sign
-           } else {
-             assert(delta < 0);
-             vp9_write_literal(&header_bc, (-delta) & 0x3F, 6);
-             vp9_write_bit(&header_bc, 1);  // sign
-           }
-         } else {
-           vp9_write_bit(&header_bc, 0);
-         }
-       }
-       // Send update
-       for (i = 0; i < MAX_MODE_LF_DELTAS; i++) {
-         const int delta = xd->mode_lf_deltas[i];
-         if (delta != xd->last_mode_lf_deltas[i]) {
-           xd->last_mode_lf_deltas[i] = delta;
-           vp9_write_bit(&header_bc, 1);
-           if (delta > 0) {
-             vp9_write_literal(&header_bc, delta & 0x3F, 6);
-             vp9_write_bit(&header_bc, 0);  // sign
-           } else {
-             assert(delta < 0);
-             vp9_write_literal(&header_bc, (-delta) & 0x3F, 6);
-             vp9_write_bit(&header_bc, 1);  // sign
-           }
-         } else {
-           vp9_write_bit(&header_bc, 0);
-         }
-       }
-     }
-   }
+   encode_loopfilter(xd, &header_bc);
  
 -  // TODO(jkoleszar): remove these unused bits
 -  vp9_write_literal(&header_bc, 0, 2);
 -
    // Frame Q baseline quantizer index
    vp9_write_literal(&header_bc, pc->base_qindex, QINDEX_BITS);