[x264-devel] commit: Enable asm predict_8x8_filter (Jason Garrett-Glaser )
git version control
git at videolan.org
Sun Apr 19 01:09:23 CEST 2009
x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Fri Apr 17 23:38:29 2009 -0700| [a908c88f0bbd4250afbd16b6c55b3c9f613af96d] | committer: Jason Garrett-Glaser
Enable asm predict_8x8_filter
I'm not entirely sure how this snuck its way out of holger's intra pred patch.
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=a908c88f0bbd4250afbd16b6c55b3c9f613af96d
---
common/predict.c | 8 ++++----
common/predict.h | 5 +----
encoder/analyse.c | 2 +-
encoder/macroblock.c | 2 +-
encoder/slicetype.c | 2 +-
5 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/common/predict.c b/common/predict.c
index 1c1e62c..ce4b9bf 100644
--- a/common/predict.c
+++ b/common/predict.c
@@ -496,7 +496,7 @@ static void predict_4x4_hu( uint8_t *src )
#define PT(x) \
edge[16+x] = F2(SRC(x-1,-1), SRC(x,-1), SRC(x+1,-1));
-void x264_predict_8x8_filter( uint8_t *src, uint8_t edge[33], int i_neighbor, int i_filters )
+static void predict_8x8_filter( uint8_t *src, uint8_t edge[33], int i_neighbor, int i_filters )
{
/* edge[7..14] = l7..l0
* edge[15] = lt
@@ -794,7 +794,7 @@ void x264_predict_8x8c_init( int cpu, x264_predict_t pf[7] )
#endif
}
-void x264_predict_8x8_init( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_filter_t *predict_8x8_filter )
+void x264_predict_8x8_init( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_filter_t *predict_filter )
{
pf[I_PRED_8x8_V] = predict_8x8_v;
pf[I_PRED_8x8_H] = predict_8x8_h;
@@ -808,10 +808,10 @@ void x264_predict_8x8_init( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_
pf[I_PRED_8x8_DC_LEFT]= predict_8x8_dc_left;
pf[I_PRED_8x8_DC_TOP] = predict_8x8_dc_top;
pf[I_PRED_8x8_DC_128] = predict_8x8_dc_128;
- *predict_8x8_filter = x264_predict_8x8_filter;
+ *predict_filter = predict_8x8_filter;
#ifdef HAVE_MMX
- x264_predict_8x8_init_mmx( cpu, pf, predict_8x8_filter );
+ x264_predict_8x8_init_mmx( cpu, pf, predict_filter );
#endif
}
diff --git a/common/predict.h b/common/predict.h
index 630cadd..d0210ab 100644
--- a/common/predict.h
+++ b/common/predict.h
@@ -106,13 +106,10 @@ enum intra8x8_pred_e
I_PRED_8x8_DC_128 = 11,
};
-// FIXME enforce edge alignment via uint64_t ?
-void x264_predict_8x8_filter( uint8_t *src, uint8_t edge[33], int i_neighbor, int i_filters );
-
void x264_predict_16x16_init ( int cpu, x264_predict_t pf[7] );
void x264_predict_8x8c_init ( int cpu, x264_predict_t pf[7] );
void x264_predict_4x4_init ( int cpu, x264_predict_t pf[12] );
-void x264_predict_8x8_init ( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_filter_t *predict_8x8_filter );
+void x264_predict_8x8_init ( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_filter_t *predict_filter );
#endif
diff --git a/encoder/analyse.c b/encoder/analyse.c
index 1b64b69..4331bff 100644
--- a/encoder/analyse.c
+++ b/encoder/analyse.c
@@ -1005,7 +1005,7 @@ static void x264_intra_rd_refine( x264_t *h, x264_mb_analysis_t *a )
p_dst_by = p_dst + 8*x + 8*y*FDEC_STRIDE;
predict_4x4_mode_available( h->mb.i_neighbour8[idx], predict_mode, &i_max );
- x264_predict_8x8_filter( p_dst_by, edge, h->mb.i_neighbour8[idx], ALL_NEIGHBORS );
+ h->predict_8x8_filter( p_dst_by, edge, h->mb.i_neighbour8[idx], ALL_NEIGHBORS );
for( i = 0; i < i_max; i++ )
{
diff --git a/encoder/macroblock.c b/encoder/macroblock.c
index 92226b3..1f346e0 100644
--- a/encoder/macroblock.c
+++ b/encoder/macroblock.c
@@ -548,7 +548,7 @@ void x264_macroblock_encode( x264_t *h )
{
uint8_t *p_dst = &h->mb.pic.p_fdec[0][8 * (i&1) + 8 * (i>>1) * FDEC_STRIDE];
int i_mode = h->mb.cache.intra4x4_pred_mode[x264_scan8[4*i]];
- x264_predict_8x8_filter( p_dst, edge, h->mb.i_neighbour8[i], x264_pred_i4x4_neighbors[i_mode] );
+ h->predict_8x8_filter( p_dst, edge, h->mb.i_neighbour8[i], x264_pred_i4x4_neighbors[i_mode] );
if( h->mb.b_lossless )
x264_predict_lossless_8x8( h, p_dst, i, i_mode, edge );
diff --git a/encoder/slicetype.c b/encoder/slicetype.c
index f795d4c..d7276b3 100644
--- a/encoder/slicetype.c
+++ b/encoder/slicetype.c
@@ -217,7 +217,7 @@ lowres_intra_mb:
}
i_icost = X264_MIN4( satds[0], satds[1], satds[2], satds[3] );
- x264_predict_8x8_filter( pix, edge, ALL_NEIGHBORS, ALL_NEIGHBORS );
+ h->predict_8x8_filter( pix, edge, ALL_NEIGHBORS, ALL_NEIGHBORS );
for( i=3; i<9; i++ )
{
int satd;
More information about the x264-devel
mailing list