solved merge conflicts
authorCullen Jennings <fluffy@iii.ca>
Tue, 28 May 2013 02:31:09 +0000 (20:31 -0600)
committerCullen Jennings <fluffy@iii.ca>
Tue, 28 May 2013 02:31:09 +0000 (20:31 -0600)
1  2 
src/encode.c
src/mcenc.c
src/state.h

diff --cc src/encode.c
@@@ -231,7 -231,13 +234,14 @@@ int daala_encode_img_in(daala_enc_ctx *
    int pic_y;
    int pic_width;
    int pic_height;
+   int i;
+   int j;
+   int k;
+   int m;
+   BlockSizeComp *bs;
+   int nhsb;
+   int nvsb;
 +
    if (enc == NULL || img == NULL) return OD_EFAULT;
    if (enc->packet_state == OD_PACKET_DONE) return OD_EINVAL;
    /*Check the input image dimensions to make sure they're compatible with the
  #if defined(OD_DUMP_IMAGES) && defined(OD_ANIMATE)
      enc->state.ani_iter = 0;
  #endif
-     fprintf(stderr, "Predicting frame %i:\n",
-      (int)daala_granule_basetime(enc, enc->state.cur_time));
+     OD_LOG((OD_LOG_ENCODER, OD_LOG_INFO, "Predicting frame %i:",
+             (int)daala_granule_basetime(enc, enc->state.cur_time)));
 -#if 0
 +#if 1
      od_mv_est(enc->mvest, OD_FRAME_PREV, 452/*118*/);
 +    /* output the motion vectors */
 +    {
 +      int nhmvbs;
 +      int nvmvbs;
 +      int vx;
 +      int vy;
 +      od_img *img;
 +      int width;
 +      int height;
 +      od_mv_grid_pt* mvp;
 +      
 +      nhmvbs = (enc->state.nhmbs + 1) << 2;
 +      nvmvbs = (enc->state.nvmbs + 1) << 2;
 +      img = enc->state.io_imgs + OD_FRAME_REC;
 +      width = img->width;
 +      height = img->height;
 +     
 +      for (vy = 0; vy < nvmvbs; vy += 4) {
 +        for (vx = 0; vx < nhmvbs; vx += 4) {
 +          mvp = &( enc->state.mv_grid[vy][vx] );
 +          /* TODO - need to tune probability distribution on next line */
 +          od_ec_encode_bool_q15( &enc->ec , mvp->valid, 32000 ); 
 +          if ( mvp->valid )
 +          {
 +            OD_ASSERT( mvp->mv[0] <  8*(width+32) );
 +            OD_ASSERT( mvp->mv[0] > -8*(width+32) );
 +            OD_ASSERT( mvp->mv[1] <  8*(height+32) );
 +            OD_ASSERT( mvp->mv[1] > -8*(height+32) );
 +            od_ec_enc_uint( &enc->ec , mvp->mv[0] + 8*(width+32),  8*2*(width+32)  ); 
 +            od_ec_enc_uint( &enc->ec , mvp->mv[1] + 8*(height+32), 8*2*(height+32) ); 
 +          }
 +        }
 +      }
 +    }
  #endif
      od_state_mc_predict(&enc->state, OD_FRAME_PREV);
  #if defined(OD_DUMP_IMAGES)
diff --cc src/mcenc.c
Simple merge
diff --cc src/state.h
@@@ -87,18 -87,27 +87,28 @@@ struct od_state
    od_state_opt_vtbl   opt_vtbl;
    ogg_uint32_t        cpu_flags;
    od_img              input;
-   int                 ref_imgi[4]; /* buffer for the 4 ref images  - at double
-                                     * resolutions */
-   od_img              ref_imgs[4]; /* pointers to the ref images so one can
-                                       move them around without coping them  */
-   od_img              io_imgs[2];  /* pointer to input and output image */
+   /** Buffer for the 4 ref images. */
+   int                 ref_imgi[4];
+   /** Pointers to the ref images so one can move them around without coping
+       them. */
+   od_img              ref_imgs[4];
+   /** Pointer to input and output image. */
+   od_img              io_imgs[2];
    unsigned char      *ref_line_buf[8];
    unsigned char      *ref_img_data;
-   ogg_int64_t         cur_time; /* increments by 1 for each frame */
+   /** Increments by 1 for each frame. */
+   ogg_int64_t         cur_time;
    od_mv_grid_pt     **mv_grid;
    od_adapt_row_ctx    adapt_row[OD_NPLANES_MAX];
-   int                 nhmbs; /* number of horizontal macro blocks */
-   int                 nvmbs; /* number of vertical macro blocks */
+   /** number of horizontal macro blocks. */
+   int                 nhmbs;
+   /** number of vertical macro blocks. */
+   int                 nvmbs;
+   int                 nhsb;
+   int                 nvsb;
+   char               *bsize;
+   int                 bstride;
++
  #if defined(OD_DUMP_IMAGES)
    od_img              vis_img;
  #if defined(OD_ANIMATE)