[FFmpeg-cvslog] r9785 - in trunk/libavcodec: dsputil.c i386/dsputil_mmx.c
aurel
subversion
Tue Jul 24 10:54:56 CEST 2007
Author: aurel
Date: Tue Jul 24 10:54:56 2007
New Revision: 9785
Log:
help some gcc version to optimize out those functions
Modified:
trunk/libavcodec/dsputil.c
trunk/libavcodec/i386/dsputil_mmx.c
Modified: trunk/libavcodec/dsputil.c
==============================================================================
--- trunk/libavcodec/dsputil.c (original)
+++ trunk/libavcodec/dsputil.c Tue Jul 24 10:54:56 2007
@@ -2641,6 +2641,7 @@ static void put_mspel8_mc22_c(uint8_t *d
}
static void h263_v_loop_filter_c(uint8_t *src, int stride, int qscale){
+ if(ENABLE_ANY_H263) {
int x;
const int strength= ff_h263_loop_filter_strength[qscale];
@@ -2673,9 +2674,11 @@ static void h263_v_loop_filter_c(uint8_t
src[x-2*stride] = p0 - d2;
src[x+ stride] = p3 + d2;
}
+ }
}
static void h263_h_loop_filter_c(uint8_t *src, int stride, int qscale){
+ if(ENABLE_ANY_H263) {
int y;
const int strength= ff_h263_loop_filter_strength[qscale];
@@ -2708,6 +2711,7 @@ static void h263_h_loop_filter_c(uint8_t
src[y*stride-2] = p0 - d2;
src[y*stride+1] = p3 + d2;
}
+ }
}
static void h261_loop_filter_c(uint8_t *src, int stride){
Modified: trunk/libavcodec/i386/dsputil_mmx.c
==============================================================================
--- trunk/libavcodec/i386/dsputil_mmx.c (original)
+++ trunk/libavcodec/i386/dsputil_mmx.c Tue Jul 24 10:54:56 2007
@@ -622,6 +622,7 @@ static void add_bytes_mmx(uint8_t *dst,
"paddb %%mm1, %%mm6 \n\t"
static void h263_v_loop_filter_mmx(uint8_t *src, int stride, int qscale){
+ if(ENABLE_ANY_H263) {
const int strength= ff_h263_loop_filter_strength[qscale];
asm volatile(
@@ -638,6 +639,7 @@ static void h263_v_loop_filter_mmx(uint8
"+m" (*(uint64_t*)(src + 1*stride))
: "g" (2*strength), "m"(ff_pb_FC)
);
+ }
}
static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){
@@ -670,6 +672,7 @@ static inline void transpose4x4(uint8_t
}
static void h263_h_loop_filter_mmx(uint8_t *src, int stride, int qscale){
+ if(ENABLE_ANY_H263) {
const int strength= ff_h263_loop_filter_strength[qscale];
uint64_t temp[4] __attribute__ ((aligned(8)));
uint8_t *btemp= (uint8_t*)temp;
@@ -718,6 +721,7 @@ static void h263_h_loop_filter_mmx(uint8
"r" ((long) stride ),
"r" ((long)(3*stride))
);
+ }
}
#ifdef CONFIG_ENCODERS
More information about the ffmpeg-cvslog
mailing list