comparison dsputil.c @ 10941:28edcc8c54c0 libavcodec

Mark the h264 c loop filter as av_always_inline av_flatten to make sure its all inlined, its small and horizontal & vertical versions are build out of them. no change as gcc already did this.
author michael
date Tue, 19 Jan 2010 22:54:13 +0000
parents 563cb9b1a9b7
children 34a65026fa06
comparison
equal deleted inserted replaced
10940:563cb9b1a9b7 10941:28edcc8c54c0
2973 src[xy] = (temp[yz-1] + 2*temp[yz] + temp[yz+1] + 8)>>4; 2973 src[xy] = (temp[yz-1] + 2*temp[yz] + temp[yz+1] + 8)>>4;
2974 } 2974 }
2975 } 2975 }
2976 } 2976 }
2977 2977
2978 static inline void h264_loop_filter_luma_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta, int8_t *tc0) 2978 static av_always_inline av_flatten void h264_loop_filter_luma_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta, int8_t *tc0)
2979 { 2979 {
2980 int i, d; 2980 int i, d;
2981 for( i = 0; i < 4; i++ ) { 2981 for( i = 0; i < 4; i++ ) {
2982 if( tc0[i] < 0 ) { 2982 if( tc0[i] < 0 ) {
2983 pix += 4*ystride; 2983 pix += 4*ystride;
3024 static void h264_h_loop_filter_luma_c(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0) 3024 static void h264_h_loop_filter_luma_c(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
3025 { 3025 {
3026 h264_loop_filter_luma_c(pix, 1, stride, alpha, beta, tc0); 3026 h264_loop_filter_luma_c(pix, 1, stride, alpha, beta, tc0);
3027 } 3027 }
3028 3028
3029 static inline void h264_loop_filter_luma_intra_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta) 3029 static av_always_inline av_flatten void h264_loop_filter_luma_intra_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta)
3030 { 3030 {
3031 int d; 3031 int d;
3032 for( d = 0; d < 16; d++ ) { 3032 for( d = 0; d < 16; d++ ) {
3033 const int p2 = pix[-3*xstride]; 3033 const int p2 = pix[-3*xstride];
3034 const int p1 = pix[-2*xstride]; 3034 const int p1 = pix[-2*xstride];
3081 static void h264_h_loop_filter_luma_intra_c(uint8_t *pix, int stride, int alpha, int beta) 3081 static void h264_h_loop_filter_luma_intra_c(uint8_t *pix, int stride, int alpha, int beta)
3082 { 3082 {
3083 h264_loop_filter_luma_intra_c(pix, 1, stride, alpha, beta); 3083 h264_loop_filter_luma_intra_c(pix, 1, stride, alpha, beta);
3084 } 3084 }
3085 3085
3086 static inline void h264_loop_filter_chroma_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta, int8_t *tc0) 3086 static av_always_inline av_flatten void h264_loop_filter_chroma_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta, int8_t *tc0)
3087 { 3087 {
3088 int i, d; 3088 int i, d;
3089 for( i = 0; i < 4; i++ ) { 3089 for( i = 0; i < 4; i++ ) {
3090 const int tc = tc0[i]; 3090 const int tc = tc0[i];
3091 if( tc <= 0 ) { 3091 if( tc <= 0 ) {
3118 static void h264_h_loop_filter_chroma_c(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0) 3118 static void h264_h_loop_filter_chroma_c(uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
3119 { 3119 {
3120 h264_loop_filter_chroma_c(pix, 1, stride, alpha, beta, tc0); 3120 h264_loop_filter_chroma_c(pix, 1, stride, alpha, beta, tc0);
3121 } 3121 }
3122 3122
3123 static inline void h264_loop_filter_chroma_intra_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta) 3123 static av_always_inline av_flatten void h264_loop_filter_chroma_intra_c(uint8_t *pix, int xstride, int ystride, int alpha, int beta)
3124 { 3124 {
3125 int d; 3125 int d;
3126 for( d = 0; d < 8; d++ ) { 3126 for( d = 0; d < 8; d++ ) {
3127 const int p0 = pix[-1*xstride]; 3127 const int p0 = pix[-1*xstride];
3128 const int p1 = pix[-2*xstride]; 3128 const int p1 = pix[-2*xstride];