summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/xine.h.in6
-rw-r--r--src/libffmpeg/libavcodec/i386/dsputil_mmx.c24
-rw-r--r--src/xine-engine/xine.c12
3 files changed, 26 insertions, 16 deletions
diff --git a/include/xine.h.in b/include/xine.h.in
index d2cbaf156..8026eebd1 100644
--- a/include/xine.h.in
+++ b/include/xine.h.in
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine.h.in,v 1.151 2006/09/09 17:41:45 dgp85 Exp $
+ * $Id: xine.h.in,v 1.152 2006/09/10 19:33:53 jcdutton Exp $
*
* public xine-lib (libxine) interface and documentation
*
@@ -792,12 +792,12 @@ const char *const *xine_get_log_names(xine_t *self);
void xine_log (xine_t *self, int buf,
const char *format, ...);
void xine_vlog(xine_t *this, int buf,
- const char *format, va_list args);
+ const char *format, ...);
#else
void xine_log (xine_t *self, int buf,
const char *format, ...) __attribute__ ((__format__(printf, 3, 4)));
void xine_vlog(xine_t *this, int buf,
- const char *format, va_list args) __attribute__ ((__format__(printf, 3, 0)));
+ const char *format, ...) __attribute__ ((__format__(printf, 3, 0)));
#endif
/* get log messages of specified section */
diff --git a/src/libffmpeg/libavcodec/i386/dsputil_mmx.c b/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
index 810d0792d..a2cbab8ce 100644
--- a/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
+++ b/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
@@ -625,10 +625,22 @@ static void h263_v_loop_filter_mmx(uint8_t *src, int stride, int qscale){
static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){
asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
- "movd %4, %%mm0 \n\t"
- "movd %5, %%mm1 \n\t"
- "movd %6, %%mm2 \n\t"
- "movd %7, %%mm3 \n\t"
+ "movd %0, %%mm0 \n\t"
+ "movd %1, %%mm1 \n\t"
+ "movd %2, %%mm2 \n\t"
+
+ :
+ : "m" (*(uint32_t*)(src + 0*src_stride)),
+ "m" (*(uint32_t*)(src + 1*src_stride)),
+ "m" (*(uint32_t*)(src + 2*src_stride))
+ );
+ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
+ "movd %0, %%mm3 \n\t"
+
+ :
+ : "m" (*(uint32_t*)(src + 3*src_stride))
+ );
+ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
"punpcklbw %%mm1, %%mm0 \n\t"
"punpcklbw %%mm3, %%mm2 \n\t"
"movq %%mm0, %%mm1 \n\t"
@@ -645,10 +657,6 @@ static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int
"=m" (*(uint32_t*)(dst + 1*dst_stride)),
"=m" (*(uint32_t*)(dst + 2*dst_stride)),
"=m" (*(uint32_t*)(dst + 3*dst_stride))
- : "m" (*(uint32_t*)(src + 0*src_stride)),
- "m" (*(uint32_t*)(src + 1*src_stride)),
- "m" (*(uint32_t*)(src + 2*src_stride)),
- "m" (*(uint32_t*)(src + 3*src_stride))
);
}
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c
index d8ca81d4a..a821a3c26 100644
--- a/src/xine-engine/xine.c
+++ b/src/xine-engine/xine.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine.c,v 1.329 2006/09/09 19:35:40 dgp85 Exp $
+ * $Id: xine.c,v 1.330 2006/09/10 19:33:53 jcdutton Exp $
*/
/*
@@ -1959,13 +1959,15 @@ void xine_log (xine_t *this, int buf, const char *format, ...) {
}
}
-void xine_vlog(xine_t *this, int buf, const char *format,
- va_list args)
-{
+void xine_vlog(xine_t *this, int buf, const char *format, ...) {
+ va_list argp;
+
if ( ! this->log_buffers[buf] )
this->log_buffers[buf] = _x_new_scratch_buffer(150);
- this->log_buffers[buf]->scratch_printf(this->log_buffers[buf], format, args);
+ va_start (argp, format);
+ this->log_buffers[buf]->scratch_printf(this->log_buffers[buf], format, argp);
+ va_end(argp);
}
const char *const *xine_get_log (xine_t *this, int buf) {