]> granicus.if.org Git - libvpx/commitdiff
Use lookup table to find largest txfm size
authorJingning Han <jingning@google.com>
Mon, 12 Aug 2013 23:56:32 +0000 (16:56 -0700)
committerJingning Han <jingning@google.com>
Tue, 13 Aug 2013 17:32:14 +0000 (10:32 -0700)
Refactor choose_largest_txfm_size_ and make it find the largest
transform size via lookup table.

Change-Id: I685e0396d71111b599d5367ab1b9c934bd5490c8

vp9/encoder/vp9_rdopt.c

index b953bb2b2d72b0cfc63d561c2d894a3cf4fd2a49..731897419dd45cd164263e1e2bd6b64ed79d1c76 100644 (file)
@@ -787,8 +787,7 @@ static void choose_largest_txfm_size(VP9_COMP *cpi, MACROBLOCK *x,
                                      int *skip, int64_t *sse,
                                      int64_t ref_best_rd,
                                      BLOCK_SIZE_TYPE bs) {
-  const TX_SIZE max_txfm_size = TX_32X32
-      - (bs < BLOCK_32X32) - (bs < BLOCK_16X16);
+  const TX_SIZE max_txfm_size = max_txsize_lookup[bs];
   VP9_COMMON *const cm = &cpi->common;
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = &xd->mode_info_context->mbmi;
@@ -818,8 +817,7 @@ static void choose_txfm_size_from_rd(VP9_COMP *cpi, MACROBLOCK *x,
                                      int *s, int *skip,
                                      int64_t tx_cache[TX_MODES],
                                      BLOCK_SIZE_TYPE bs) {
-  const TX_SIZE max_tx_size = TX_32X32
-      - (bs < BLOCK_32X32) - (bs < BLOCK_16X16);
+  const TX_SIZE max_tx_size = max_txsize_lookup[bs];
   VP9_COMMON *const cm = &cpi->common;
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = &xd->mode_info_context->mbmi;
@@ -922,8 +920,7 @@ static void choose_txfm_size_from_modelrd(VP9_COMP *cpi, MACROBLOCK *x,
                                           int *s, int *skip, int64_t *sse,
                                           int64_t ref_best_rd,
                                           BLOCK_SIZE_TYPE bs) {
-  const TX_SIZE max_txfm_size = TX_32X32
-      - (bs < BLOCK_32X32) - (bs < BLOCK_16X16);
+  const TX_SIZE max_txfm_size = max_txsize_lookup[bs];
   VP9_COMMON *const cm = &cpi->common;
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = &xd->mode_info_context->mbmi;