| Index: source/libvpx/vp9/common/vp9_debugmodes.c
|
| diff --git a/source/libvpx/vp9/common/vp9_debugmodes.c b/source/libvpx/vp9/common/vp9_debugmodes.c
|
| index d9dace6ac8af49510db89b15a0b80415d1acff3e..e96bc4f2b02bc5faff3ffe7b8b5af328ecab7933 100644
|
| --- a/source/libvpx/vp9/common/vp9_debugmodes.c
|
| +++ b/source/libvpx/vp9/common/vp9_debugmodes.c
|
| @@ -25,55 +25,65 @@ static void log_frame_info(VP9_COMMON *cm, const char *str, FILE *f) {
|
| static void print_mi_data(VP9_COMMON *cm, FILE *file, const char *descriptor,
|
| size_t member_offset) {
|
| int mi_row, mi_col;
|
| - int mi_index = 0;
|
| - // TODO(hkuang): Fix this debug function.
|
| - MODE_INFO **mi = &cm->mi;
|
| + MODE_INFO *mi = cm->mi;
|
| int rows = cm->mi_rows;
|
| int cols = cm->mi_cols;
|
| char prefix = descriptor[0];
|
|
|
| log_frame_info(cm, descriptor, file);
|
| - mi_index = 0;
|
| for (mi_row = 0; mi_row < rows; mi_row++) {
|
| fprintf(file, "%c ", prefix);
|
| for (mi_col = 0; mi_col < cols; mi_col++) {
|
| fprintf(file, "%2d ",
|
| - *((int*) ((char *) (&mi[mi_index]->mbmi) +
|
| - member_offset)));
|
| - mi_index++;
|
| + *((int*) ((char *) (&mi->src_mi->mbmi) +
|
| + member_offset)));
|
| + mi++;
|
| }
|
| fprintf(file, "\n");
|
| - mi_index += 8;
|
| + mi += 8;
|
| }
|
| fprintf(file, "\n");
|
| }
|
| +
|
| void vp9_print_modes_and_motion_vectors(VP9_COMMON *cm, const char *file) {
|
| int mi_row;
|
| int mi_col;
|
| - int mi_index = 0;
|
| FILE *mvs = fopen(file, "a");
|
| - // TODO(hkuang): Fix this debug function.
|
| - MODE_INFO **mi = &cm->mi;
|
| + MODE_INFO *mi = cm->mi;
|
| int rows = cm->mi_rows;
|
| int cols = cm->mi_cols;
|
|
|
| print_mi_data(cm, mvs, "Partitions:", offsetof(MB_MODE_INFO, sb_type));
|
| print_mi_data(cm, mvs, "Modes:", offsetof(MB_MODE_INFO, mode));
|
| - print_mi_data(cm, mvs, "Skips:", offsetof(MB_MODE_INFO, skip));
|
| print_mi_data(cm, mvs, "Ref frame:", offsetof(MB_MODE_INFO, ref_frame[0]));
|
| print_mi_data(cm, mvs, "Transform:", offsetof(MB_MODE_INFO, tx_size));
|
| print_mi_data(cm, mvs, "UV Modes:", offsetof(MB_MODE_INFO, uv_mode));
|
|
|
| + // output skip infomation.
|
| + log_frame_info(cm, "Skips:", mvs);
|
| + for (mi_row = 0; mi_row < rows; mi_row++) {
|
| + fprintf(mvs, "S ");
|
| + for (mi_col = 0; mi_col < cols; mi_col++) {
|
| + fprintf(mvs, "%2d ", mi->src_mi->mbmi.skip);
|
| + mi++;
|
| + }
|
| + fprintf(mvs, "\n");
|
| + mi += 8;
|
| + }
|
| + fprintf(mvs, "\n");
|
| +
|
| + // output motion vectors.
|
| log_frame_info(cm, "Vectors ", mvs);
|
| + mi = cm->mi;
|
| for (mi_row = 0; mi_row < rows; mi_row++) {
|
| fprintf(mvs, "V ");
|
| for (mi_col = 0; mi_col < cols; mi_col++) {
|
| - fprintf(mvs, "%4d:%4d ", mi[mi_index]->mbmi.mv[0].as_mv.row,
|
| - mi[mi_index]->mbmi.mv[0].as_mv.col);
|
| - mi_index++;
|
| + fprintf(mvs, "%4d:%4d ", mi->src_mi->mbmi.mv[0].as_mv.row,
|
| + mi->src_mi->mbmi.mv[0].as_mv.col);
|
| + mi++;
|
| }
|
| fprintf(mvs, "\n");
|
| - mi_index += 8;
|
| + mi += 8;
|
| }
|
| fprintf(mvs, "\n");
|
|
|
|
|