| Index: source/libvpx/vp9/common/vp9_rtcd_defs.sh
 | 
| ===================================================================
 | 
| --- source/libvpx/vp9/common/vp9_rtcd_defs.sh	(revision 240950)
 | 
| +++ source/libvpx/vp9/common/vp9_rtcd_defs.sh	(working copy)
 | 
| @@ -14,6 +14,7 @@
 | 
|  struct vp9_variance_vtable;
 | 
|  
 | 
|  #define DEC_MVCOSTS int *mvjcost, int *mvcost[2]
 | 
| +struct mv;
 | 
|  union int_mv;
 | 
|  struct yv12_buffer_config;
 | 
|  EOF
 | 
| @@ -41,7 +42,7 @@
 | 
|  specialize vp9_d63_predictor_4x4 $ssse3_x86inc
 | 
|  
 | 
|  prototype void vp9_h_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_h_predictor_4x4 $ssse3_x86inc
 | 
| +specialize vp9_h_predictor_4x4 $ssse3_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_d117_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_d117_predictor_4x4
 | 
| @@ -56,10 +57,10 @@
 | 
|  specialize vp9_v_predictor_4x4 $sse_x86inc
 | 
|  
 | 
|  prototype void vp9_tm_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_tm_predictor_4x4 $sse_x86inc
 | 
| +specialize vp9_tm_predictor_4x4 $sse_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_dc_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_dc_predictor_4x4 $sse_x86inc
 | 
| +specialize vp9_dc_predictor_4x4 $sse_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_dc_top_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_dc_top_predictor_4x4
 | 
| @@ -80,7 +81,7 @@
 | 
|  specialize vp9_d63_predictor_8x8 $ssse3_x86inc
 | 
|  
 | 
|  prototype void vp9_h_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_h_predictor_8x8 $ssse3_x86inc
 | 
| +specialize vp9_h_predictor_8x8 $ssse3_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_d117_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_d117_predictor_8x8
 | 
| @@ -95,10 +96,10 @@
 | 
|  specialize vp9_v_predictor_8x8 $sse_x86inc
 | 
|  
 | 
|  prototype void vp9_tm_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_tm_predictor_8x8 $sse2_x86inc
 | 
| +specialize vp9_tm_predictor_8x8 $sse2_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_dc_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_dc_predictor_8x8 $sse_x86inc
 | 
| +specialize vp9_dc_predictor_8x8 $sse_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_dc_top_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_dc_top_predictor_8x8
 | 
| @@ -119,7 +120,7 @@
 | 
|  specialize vp9_d63_predictor_16x16 $ssse3_x86inc
 | 
|  
 | 
|  prototype void vp9_h_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_h_predictor_16x16 $ssse3_x86inc
 | 
| +specialize vp9_h_predictor_16x16 $ssse3_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_d117_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_d117_predictor_16x16
 | 
| @@ -137,7 +138,7 @@
 | 
|  specialize vp9_tm_predictor_16x16 $sse2_x86inc
 | 
|  
 | 
|  prototype void vp9_dc_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_dc_predictor_16x16 $sse2_x86inc
 | 
| +specialize vp9_dc_predictor_16x16 $sse2_x86inc dspr2
 | 
|  
 | 
|  prototype void vp9_dc_top_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_dc_top_predictor_16x16
 | 
| @@ -158,7 +159,7 @@
 | 
|  specialize vp9_d63_predictor_32x32 $ssse3_x86inc
 | 
|  
 | 
|  prototype void vp9_h_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
| -specialize vp9_h_predictor_32x32 $ssse3 x86inc
 | 
| +specialize vp9_h_predictor_32x32 $ssse3_x86inc
 | 
|  
 | 
|  prototype void vp9_d117_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left"
 | 
|  specialize vp9_d117_predictor_32x32
 | 
| @@ -191,23 +192,38 @@
 | 
|  # Loopfilter
 | 
|  #
 | 
|  prototype void vp9_mb_lpf_vertical_edge_w "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh"
 | 
| -specialize vp9_mb_lpf_vertical_edge_w sse2 neon
 | 
| +specialize vp9_mb_lpf_vertical_edge_w sse2 neon dspr2
 | 
|  
 | 
| +prototype void vp9_mb_lpf_vertical_edge_w_16 "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh"
 | 
| +specialize vp9_mb_lpf_vertical_edge_w_16 sse2 neon dspr2
 | 
| +
 | 
|  prototype void vp9_mbloop_filter_vertical_edge "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count"
 | 
| -specialize vp9_mbloop_filter_vertical_edge sse2 neon
 | 
| +specialize vp9_mbloop_filter_vertical_edge sse2 neon dspr2
 | 
|  
 | 
| +prototype void vp9_mbloop_filter_vertical_edge_16 "uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1"
 | 
| +specialize vp9_mbloop_filter_vertical_edge_16 sse2 neon dspr2
 | 
| +
 | 
|  prototype void vp9_loop_filter_vertical_edge "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count"
 | 
| -specialize vp9_loop_filter_vertical_edge mmx neon
 | 
| +specialize vp9_loop_filter_vertical_edge mmx neon dspr2
 | 
|  
 | 
| +prototype void vp9_loop_filter_vertical_edge_16 "uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1"
 | 
| +specialize vp9_loop_filter_vertical_edge_16 sse2 neon dspr2
 | 
| +
 | 
|  prototype void vp9_mb_lpf_horizontal_edge_w "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count"
 | 
| -specialize vp9_mb_lpf_horizontal_edge_w sse2 neon
 | 
| +specialize vp9_mb_lpf_horizontal_edge_w sse2 avx2 neon dspr2
 | 
|  
 | 
|  prototype void vp9_mbloop_filter_horizontal_edge "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count"
 | 
| -specialize vp9_mbloop_filter_horizontal_edge sse2 neon
 | 
| +specialize vp9_mbloop_filter_horizontal_edge sse2 neon dspr2
 | 
|  
 | 
| +prototype void vp9_mbloop_filter_horizontal_edge_16 "uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1"
 | 
| +specialize vp9_mbloop_filter_horizontal_edge_16 sse2 neon dspr2
 | 
| +
 | 
|  prototype void vp9_loop_filter_horizontal_edge "uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count"
 | 
| -specialize vp9_loop_filter_horizontal_edge mmx neon
 | 
| +specialize vp9_loop_filter_horizontal_edge mmx neon dspr2
 | 
|  
 | 
| +prototype void vp9_loop_filter_horizontal_edge_16 "uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1"
 | 
| +specialize vp9_loop_filter_horizontal_edge_16 sse2 neon dspr2
 | 
| +
 | 
|  #
 | 
|  # post proc
 | 
|  #
 | 
| @@ -296,10 +312,11 @@
 | 
|  specialize vp9_idct32x32_1024_add sse2 neon dspr2
 | 
|  
 | 
|  prototype void vp9_idct32x32_34_add "const int16_t *input, uint8_t *dest, int dest_stride"
 | 
| -specialize vp9_idct32x32_34_add sse2
 | 
| +specialize vp9_idct32x32_34_add sse2 neon dspr2
 | 
| +vp9_idct32x32_34_add_neon=vp9_idct32x32_1024_add_neon
 | 
|  
 | 
|  prototype void vp9_idct32x32_1_add "const int16_t *input, uint8_t *dest, int dest_stride"
 | 
| -specialize vp9_idct32x32_1_add sse2 dspr2
 | 
| +specialize vp9_idct32x32_1_add sse2 neon dspr2
 | 
|  
 | 
|  prototype void vp9_iht4x4_16_add "const int16_t *input, uint8_t *dest, int dest_stride, int tx_type"
 | 
|  specialize vp9_iht4x4_16_add sse2 neon dspr2
 | 
| @@ -691,48 +708,51 @@
 | 
|  
 | 
|  # fdct functions
 | 
|  prototype void vp9_short_fht4x4 "const int16_t *input, int16_t *output, int stride, int tx_type"
 | 
| -specialize vp9_short_fht4x4 sse2
 | 
| +specialize vp9_short_fht4x4 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_short_fht8x8 "const int16_t *input, int16_t *output, int stride, int tx_type"
 | 
| -specialize vp9_short_fht8x8 sse2
 | 
| +specialize vp9_short_fht8x8 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_short_fht16x16 "const int16_t *input, int16_t *output, int stride, int tx_type"
 | 
| -specialize vp9_short_fht16x16 sse2
 | 
| +specialize vp9_short_fht16x16 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_fwht4x4 "const int16_t *input, int16_t *output, int stride"
 | 
|  specialize vp9_fwht4x4
 | 
|  
 | 
|  prototype void vp9_fdct4x4 "const int16_t *input, int16_t *output, int stride"
 | 
| -specialize vp9_fdct4x4 sse2
 | 
| +specialize vp9_fdct4x4 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_fdct8x8 "const int16_t *input, int16_t *output, int stride"
 | 
| -specialize vp9_fdct8x8 sse2
 | 
| +specialize vp9_fdct8x8 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_fdct16x16 "const int16_t *input, int16_t *output, int stride"
 | 
| -specialize vp9_fdct16x16 sse2
 | 
| +specialize vp9_fdct16x16 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_fdct32x32 "const int16_t *input, int16_t *output, int stride"
 | 
| -specialize vp9_fdct32x32 sse2
 | 
| +specialize vp9_fdct32x32 sse2 avx2
 | 
|  
 | 
|  prototype void vp9_fdct32x32_rd "const int16_t *input, int16_t *output, int stride"
 | 
| -specialize vp9_fdct32x32_rd sse2
 | 
| +specialize vp9_fdct32x32_rd sse2 avx2
 | 
|  
 | 
|  #
 | 
|  # Motion search
 | 
|  #
 | 
| -prototype int vp9_full_search_sad "struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n"
 | 
| +prototype int vp9_full_search_sad "struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv, int n"
 | 
|  specialize vp9_full_search_sad sse3 sse4_1
 | 
|  vp9_full_search_sad_sse3=vp9_full_search_sadx3
 | 
|  vp9_full_search_sad_sse4_1=vp9_full_search_sadx8
 | 
|  
 | 
| -prototype int vp9_refining_search_sad "struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv"
 | 
| +prototype int vp9_refining_search_sad "struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv"
 | 
|  specialize vp9_refining_search_sad sse3
 | 
|  vp9_refining_search_sad_sse3=vp9_refining_search_sadx4
 | 
|  
 | 
| -prototype int vp9_diamond_search_sad "struct macroblock *x, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv"
 | 
| +prototype int vp9_diamond_search_sad "struct macroblock *x, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv"
 | 
|  specialize vp9_diamond_search_sad sse3
 | 
|  vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4
 | 
|  
 | 
| +prototype int vp9_full_range_search "struct macroblock *x, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv"
 | 
| +specialize vp9_full_range_search
 | 
| +
 | 
|  prototype void vp9_temporal_filter_apply "uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count"
 | 
|  specialize vp9_temporal_filter_apply sse2
 | 
|  
 | 
| 
 |