| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved. |    2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 
|    3  * |    3  * | 
|    4  *  Use of this source code is governed by a BSD-style license |    4  *  Use of this source code is governed by a BSD-style license | 
|    5  *  that can be found in the LICENSE file in the root of the source |    5  *  that can be found in the LICENSE file in the root of the source | 
|    6  *  tree. An additional intellectual property rights grant can be found |    6  *  tree. An additional intellectual property rights grant can be found | 
|    7  *  in the file PATENTS.  All contributing project authors may |    7  *  in the file PATENTS.  All contributing project authors may | 
|    8  *  be found in the AUTHORS file in the root of the source tree. |    8  *  be found in the AUTHORS file in the root of the source tree. | 
|    9  */ |    9  */ | 
|   10  |   10  | 
|   11 #include "./vpx_config.h" |   11 #include "./vpx_config.h" | 
|   12 #include "./vp9_rtcd.h" |   12 #include "./vp9_rtcd.h" | 
|   13  |   13  | 
|   14 #include "vpx_mem/vpx_mem.h" |   14 #include "vpx_mem/vpx_mem.h" | 
 |   15 #include "vpx_ports/vpx_once.h" | 
|   15  |   16  | 
|   16 #include "vp9/common/vp9_reconintra.h" |   17 #include "vp9/common/vp9_reconintra.h" | 
|   17 #include "vp9/common/vp9_onyxc_int.h" |   18 #include "vp9/common/vp9_onyxc_int.h" | 
|   18  |   19  | 
|   19 const TX_TYPE intra_mode_to_tx_type_lookup[INTRA_MODES] = { |   20 const TX_TYPE intra_mode_to_tx_type_lookup[INTRA_MODES] = { | 
|   20   DCT_DCT,    // DC |   21   DCT_DCT,    // DC | 
|   21   ADST_DCT,   // V |   22   ADST_DCT,   // V | 
|   22   DCT_ADST,   // H |   23   DCT_ADST,   // H | 
|   23   DCT_DCT,    // D45 |   24   DCT_DCT,    // D45 | 
|   24   ADST_ADST,  // D135 |   25   ADST_ADST,  // D135 | 
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  572 static intra_pred_fn dc_pred[2][2][TX_SIZES]; |  573 static intra_pred_fn dc_pred[2][2][TX_SIZES]; | 
|  573  |  574  | 
|  574 #if CONFIG_VP9_HIGHBITDEPTH |  575 #if CONFIG_VP9_HIGHBITDEPTH | 
|  575 typedef void (*intra_high_pred_fn)(uint16_t *dst, ptrdiff_t stride, |  576 typedef void (*intra_high_pred_fn)(uint16_t *dst, ptrdiff_t stride, | 
|  576                                    const uint16_t *above, const uint16_t *left, |  577                                    const uint16_t *above, const uint16_t *left, | 
|  577                                    int bd); |  578                                    int bd); | 
|  578 static intra_high_pred_fn pred_high[INTRA_MODES][4]; |  579 static intra_high_pred_fn pred_high[INTRA_MODES][4]; | 
|  579 static intra_high_pred_fn dc_pred_high[2][2][4]; |  580 static intra_high_pred_fn dc_pred_high[2][2][4]; | 
|  580 #endif  // CONFIG_VP9_HIGHBITDEPTH |  581 #endif  // CONFIG_VP9_HIGHBITDEPTH | 
|  581  |  582  | 
|  582 void vp9_init_intra_predictors() { |  583 static void vp9_init_intra_predictors_internal(void) { | 
|  583 #define INIT_ALL_SIZES(p, type) \ |  584 #define INIT_ALL_SIZES(p, type) \ | 
|  584   p[TX_4X4] = vp9_##type##_predictor_4x4; \ |  585   p[TX_4X4] = vp9_##type##_predictor_4x4; \ | 
|  585   p[TX_8X8] = vp9_##type##_predictor_8x8; \ |  586   p[TX_8X8] = vp9_##type##_predictor_8x8; \ | 
|  586   p[TX_16X16] = vp9_##type##_predictor_16x16; \ |  587   p[TX_16X16] = vp9_##type##_predictor_16x16; \ | 
|  587   p[TX_32X32] = vp9_##type##_predictor_32x32 |  588   p[TX_32X32] = vp9_##type##_predictor_32x32 | 
|  588  |  589  | 
|  589   INIT_ALL_SIZES(pred[V_PRED], v); |  590   INIT_ALL_SIZES(pred[V_PRED], v); | 
|  590   INIT_ALL_SIZES(pred[H_PRED], h); |  591   INIT_ALL_SIZES(pred[H_PRED], h); | 
|  591   INIT_ALL_SIZES(pred[D207_PRED], d207); |  592   INIT_ALL_SIZES(pred[D207_PRED], d207); | 
|  592   INIT_ALL_SIZES(pred[D45_PRED], d45); |  593   INIT_ALL_SIZES(pred[D45_PRED], d45); | 
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  887   if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) { |  888   if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) { | 
|  888     build_intra_predictors_high(xd, ref, ref_stride, dst, dst_stride, mode, |  889     build_intra_predictors_high(xd, ref, ref_stride, dst, dst_stride, mode, | 
|  889                                 tx_size, have_top, have_left, have_right, |  890                                 tx_size, have_top, have_left, have_right, | 
|  890                                 x, y, plane, xd->bd); |  891                                 x, y, plane, xd->bd); | 
|  891     return; |  892     return; | 
|  892   } |  893   } | 
|  893 #endif |  894 #endif | 
|  894   build_intra_predictors(xd, ref, ref_stride, dst, dst_stride, mode, tx_size, |  895   build_intra_predictors(xd, ref, ref_stride, dst, dst_stride, mode, tx_size, | 
|  895                          have_top, have_left, have_right, x, y, plane); |  896                          have_top, have_left, have_right, x, y, plane); | 
|  896 } |  897 } | 
 |  898  | 
 |  899 void vp9_init_intra_predictors() { | 
 |  900   once(vp9_init_intra_predictors_internal); | 
 |  901 } | 
| OLD | NEW |