From: Sam Hocevar Date: Wed, 18 Dec 2002 14:17:11 +0000 (+0000) Subject: * fixed several format string inconsistencies and deprecated C constructions. X-Git-Tag: 0.5.0~506 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=f22f4ef52e0bf8f7a6c7354881c455b08fb3a85f;p=vlc * fixed several format string inconsistencies and deprecated C constructions. --- diff --git a/modules/access/ftp.c b/modules/access/ftp.c index 50f91be9fd..8683c4b67f 100644 --- a/modules/access/ftp.c +++ b/modules/access/ftp.c @@ -2,7 +2,7 @@ * ftp.c: ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: ftp.c,v 1.2 2002/12/16 15:17:12 fenrir Exp $ + * $Id: ftp.c,v 1.3 2002/12/18 14:17:09 sam Exp $ * * Authors: Laurent Aimar * @@ -350,7 +350,7 @@ static int Open( vlc_object_t *p_this ) } #endif - msg_Dbg( p_input, "file size:%d", p_access->i_filesize ); + msg_Dbg( p_input, "file size: "I64Fd, p_access->i_filesize ); FREE( psz_arg ); if( ftp_StartStream( p_input, 0 ) < 0 ) diff --git a/modules/access/mms/mms.c b/modules/access/mms/mms.c index 4ae284a5a4..3de230c7dc 100644 --- a/modules/access/mms/mms.c +++ b/modules/access/mms/mms.c @@ -2,7 +2,7 @@ * mms.c: MMS access plug-in ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: mms.c,v 1.13 2002/12/12 15:10:58 gbazin Exp $ + * $Id: mms.c,v 1.14 2002/12/18 14:17:09 sam Exp $ * * Authors: Laurent Aimar * @@ -1559,11 +1559,15 @@ static int mms_ParseCommand( input_thread_t *p_input, GET32( 0 ), GET32( 4 ), GET32( 8 ), + /* 12: protocol type "MMS " */ GET32( 16 ), GET32( 20 ), + /* 24: unknown (0) */ + /* 28: unknown (0) */ GET32( 32 ), - GET32( 36 ), - GET32( 40 ) ); + GET32( 36 ) + /* 40: switches */ + /* 44: extra */ ); p_access->i_command = GET32( 36 ) & 0xffff; diff --git a/modules/audio_output/oss.c b/modules/audio_output/oss.c index acef14133d..9c348b83e5 100644 --- a/modules/audio_output/oss.c +++ b/modules/audio_output/oss.c @@ -2,7 +2,7 @@ * oss.c : OSS /dev/dsp module for vlc ***************************************************************************** * Copyright (C) 2000-2002 VideoLAN - * $Id: oss.c,v 1.38 2002/12/10 18:22:01 gbazin Exp $ + * $Id: oss.c,v 1.39 2002/12/18 14:17:09 sam Exp $ * * Authors: Michel Kaempf * Samuel Hocevar @@ -376,7 +376,7 @@ static int Open( vlc_object_t *p_this ) if( ioctl( p_sys->i_fd, SNDCTL_DSP_CHANNELS, &i_nb_channels ) < 0 || i_nb_channels != aout_FormatNbChannels( &p_aout->output.output ) ) { - msg_Err( p_aout, "cannot set number of audio channels (%x)", + msg_Err( p_aout, "cannot set number of audio channels (%s)", aout_FormatPrintChannels( &p_aout->output.output) ); close( p_sys->i_fd ); free( p_sys ); diff --git a/modules/codec/adpcm.c b/modules/codec/adpcm.c index 856dc6a843..61e79df891 100644 --- a/modules/codec/adpcm.c +++ b/modules/codec/adpcm.c @@ -2,7 +2,7 @@ * adpcm.c : adpcm variant audio decoder ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: adpcm.c,v 1.1 2002/12/03 17:00:16 fenrir Exp $ + * $Id: adpcm.c,v 1.2 2002/12/18 14:17:10 sam Exp $ * * Authors: Laurent Aimar * @@ -378,6 +378,7 @@ static void DecodeThread( adec_thread_t *p_adec ) DecodeAdpcmMs( p_adec, p_aout_buffer ); break; default: + break; } diff --git a/modules/codec/ffmpeg/audio.c b/modules/codec/ffmpeg/audio.c index dec4a522a5..ca0582f384 100644 --- a/modules/codec/ffmpeg/audio.c +++ b/modules/codec/ffmpeg/audio.c @@ -2,7 +2,7 @@ * audio.c: audio decoder using ffmpeg library ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: audio.c,v 1.7 2002/12/06 14:22:55 fenrir Exp $ + * $Id: audio.c,v 1.8 2002/12/18 14:17:10 sam Exp $ * * Authors: Laurent Aimar * @@ -238,7 +238,7 @@ void E_( DecodeThread_Audio )( adec_thread_t *p_adec ) p_adec->p_context->channels > 5 ) { msg_Warn( p_adec->p_fifo, - "invalid channels count", + "invalid channels count %d", p_adec->p_context->channels ); } diff --git a/modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c b/modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c index e08f9d862d..7c209c4c7b 100644 --- a/modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c +++ b/modules/codec/ffmpeg/postprocessing/postprocessing_mmx.c @@ -2,15 +2,15 @@ * postprocessing_mmx.c: Post Processing library in MMX ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: postprocessing_mmx.c,v 1.2 2002/12/06 16:34:05 sam Exp $ + * $Id: postprocessing_mmx.c,v 1.3 2002/12/18 14:17:10 sam Exp $ * * Authors: Laurent Aimar - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -21,7 +21,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *****************************************************************************/ -#include /* only use u8, u32 .... */ +#include /* only use uint8_t, uint32_t .... */ #include "postprocessing.h" #include "postprocessing_common.h" @@ -42,8 +42,8 @@ /* Use same things as in idct but how it work ? */ #define UNUSED_LONGLONG( foo ) \ static const unsigned long long foo __asm__ (#foo) __attribute__((unused)) - -/* to calculate isDC_mode for mmx */ + +/* to calculate isDC_mode for mmx */ UNUSED_LONGLONG( mmx_127_thr1 ) = ( ( 127ULL - PP_THR1 ) << 56 )| ( ( 127ULL - PP_THR1 ) << 48 )| ( ( 127ULL - PP_THR1 ) << 40 )| @@ -67,38 +67,38 @@ UNUSED_LONGLONG( mmx_m2_5_m5_2 ) = 0xfffe0005fffb0002ULL; #if 0 /* find min bytes from r ans set it in r, t is destroyed */ #define MMXEXT_GET_PMIN( r, t ) \ - "movq " #r ", " #t " \n\ - psrlq $8, " #t " \n\ - pminub " #t ", " #r " \n\ - pshufw $0xf5, " #r ", " #t " #instead of shift with tmp reg \n\ - pminub " #t ", " #r " \n\ - pshufw $0xfe, " #r ", " #t " \n\ - pminub " #t ", " #r " \n" - + "movq " #r ", " #t " \n" \ + "psrlq $8, " #t " \n" \ + "pminub " #t ", " #r " \n" \ + "pshufw $0xf5, " #r ", " #t " #instead of shift with tmp reg \n" \ + "pminub " #t ", " #r " \n" \ + "pshufw $0xfe, " #r ", " #t " \n" \ + "pminub " #t ", " #r " \n" + /* find mzx bytes from r ans set it in r, t is destroyed */ #define MMXEXT_GET_PMAX( r, t ) \ - "movq " #r ", " #t " \n\ - psrlq $8, " #t " \n\ - pmaxub " #t ", " #r " \n\ - pshufw $0xf5, " #r ", " #t " \n\ - pmaxub " #t ", " #r " \n\ - pshufw $0xfe, " #r ", " #t " \n\ - pmaxub " #t ", " #r " \n" - + "movq " #r ", " #t " \n" \ + "psrlq $8, " #t " \n" \ + "pmaxub " #t ", " #r " \n" \ + "pshufw $0xf5, " #r ", " #t " \n" \ + "pmaxub " #t ", " #r " \n" \ + "pshufw $0xfe, " #r ", " #t " \n" \ + "pmaxub " #t ", " #r " \n" + #define MMXEXT_GET_LMINMAX( s, m, M, t ) \ - "movq " #s ", " #t " \n\ - pminub " #t ", " #m " \n\ - pmaxub " #t ", " #M " \n" + "movq " #s ", " #t " \n" \ + "pminub " #t ", " #m " \n" \ + "pmaxub " #t ", " #M " \n" /* Some tips for MMX - + * |a-b| : d1 = a - b with unsigned saturate - d2 = b - a with ... - |a-b| = d1 | d2 + d2 = b - a with ... + |a-b| = d1 | d2 */ @@ -112,45 +112,45 @@ UNUSED_LONGLONG( mmx_m2_5_m5_2 ) = 0xfffe0005fffb0002ULL; * so need to be fast ... * ****************************************************************************/ -static inline int pp_deblock_isDC_mode( u8 *p_v ) +static inline int pp_deblock_isDC_mode( uint8_t *p_v ) { unsigned int i_eq_cnt; /* algo : - x = v[i] - v[i+1] without signed saturation - ( XXX see if there is'nt problem, but can't be with signed - sat because pixel will be saturate :( + x = v[i] - v[i+1] without signed saturation + ( XXX see if there is'nt problem, but can't be with signed + sat because pixel will be saturate :( so x within [-128, 127] and we have to test if it fit in [-M, M] we add 127-M with wrap around -> good value fit in [ 127-2*M, 127] and if x >= 127 - 2 * M ie x > 127 -2*M - 1 value is good */ - __asm__ __volatile__ (" \n\ - #* Do (v0-v1) to (v7-v8) \n\ - movq (%1), %%mm1 # load v0->v7 \n\ - movq 1(%1), %%mm2 # load v1->v8 \n\ - psubb %%mm2, %%mm1 # v[i]-v[i+1] \n\ - paddb mmx_127_thr1, %%mm1 # + 127-THR1 with wrap \n\ - pcmpgtb mmx_127_2xthr1_1, %%mm1 # > 127 -2*thr1 - 1 \n" - "movq %%mm1, %%mm0 # \n\ - psrlw $8, %%mm1 # \n\ - paddb %%mm1, %%mm0 # \n\ - # \n\ - movq %%mm0, %%mm1 # Now sum to create eq_cnt \n\ - psrld $16, %%mm0 # \n\ - paddb %%mm0, %%mm1 # \n\ - # \n\ - movq %%mm1, %%mm0 # \n\ - psrlq $32, %%mm1 # \n\ - paddb %%mm1, %%mm0 \n" - "movd %%mm0, %0 # \n\ - negl %0 \n\ - andl $255, %0" + __asm__ __volatile__ ( + " #* Do (v0-v1) to (v7-v8) \n" + "movq (%1), %%mm1 # load v0->v7 \n" + "movq 1(%1), %%mm2 # load v1->v8 \n" + "psubb %%mm2, %%mm1 # v[i]-v[i+1] \n" + "paddb mmx_127_thr1, %%mm1 # + 127-THR1 with wrap \n" + "pcmpgtb mmx_127_2xthr1_1, %%mm1 # > 127 -2*thr1 - 1 \n" + "movq %%mm1, %%mm0 # \n" + "psrlw $8, %%mm1 # \n" + "paddb %%mm1, %%mm0 # \n" + " # \n" + "movq %%mm0, %%mm1 # Now sum to create eq_cnt \n" + "psrld $16, %%mm0 # \n" + "paddb %%mm0, %%mm1 # \n" + " # \n" + "movq %%mm1, %%mm0 # \n" + "psrlq $32, %%mm1 # \n" + "paddb %%mm1, %%mm0 \n" + "movd %%mm0, %0 # \n" + "negl %0 \n" + "andl $255, %0" : "=r"(i_eq_cnt) : "r" (p_v) ); /* last test, hey, 9 don't fit in MMX */ - if(( ( p_v[8] - p_v[9] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) - { + if(( ( p_v[8] - p_v[9] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) + { i_eq_cnt++; } @@ -160,8 +160,8 @@ static inline int pp_deblock_isDC_mode( u8 *p_v ) for( i =0; i < 9; i++ ) { - if(( ( p_v[i] - p_v[i+1] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) - { + if(( ( p_v[i] - p_v[i+1] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) + { i_eq_cnt++; } } @@ -170,25 +170,25 @@ static inline int pp_deblock_isDC_mode( u8 *p_v ) return( (i_eq_cnt >= PP_THR2 ) ? 1 : 0 ); } -static inline int pp_deblock_isMinMaxOk( u8 *p_v, int i_QP ) +static inline int pp_deblock_isMinMaxOk( uint8_t *p_v, int i_QP ) { int i_range; #if 0 - __asm__ __volatile__ ( + __asm__ __volatile__ ( "movq 1(%1), %%mm0 # 8 bytes \n" "movq %%mm0, %%mm1 \n" MMXEXT_GET_PMIN( %%mm0, %%mm7 ) MMXEXT_GET_PMAX( %%mm1, %%mm7 ) - "psubd %%mm0, %%mm1 # max - min \n\ - movd %%mm1, %0 \n\ - andl $255, %0" : "=r"(i_range) : "r"(p_v) ); + "psubd %%mm0, %%mm1 # max - min \n" + "movd %%mm1, %0 \n" + "andl $255, %0" : "=r"(i_range) : "r"(p_v) ); #endif int i_max, i_min; int i; - i_min = i_max = p_v[1]; + i_min = i_max = p_v[1]; for( i = 2; i < 9; i++ ) { if( i_max < p_v[i] ) i_max = p_v[i]; @@ -200,7 +200,7 @@ static inline int pp_deblock_isMinMaxOk( u8 *p_v, int i_QP ) } -static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, +static inline void pp_deblock_DefaultMode( uint8_t i_v[10], int i_stride, int i_QP ) { int d, i_delta; @@ -210,16 +210,16 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, /* d = CLIP( 5(a3x0' - a3x0)//8, 0, (v4-v5)/2 ).d( abs(a3x0) < QP ) */ /* First calculate a3x0 */ - __asm__ __volatile__ ( " \n\ - pxor %%mm7, %%mm7 # mm7 = 0 \n\ - movq mmx_m2_5_m5_2, %%mm6 # mm6 =(2,-5,5,-2) \n\ - movd 3(%1), %%mm0 \n\ - punpcklbw %%mm7,%%mm0 \n\ - pmaddwd %%mm6, %%mm0 \n" - "movq %%mm0, %%mm1 \n\ - psrlq $32, %%mm1 \n" - "paddd %%mm1, %%mm0 \n\ - movd %%mm0, %0" : "=r"(a3x0) :"r"(i_v) ); + __asm__ __volatile__ ( + "pxor %%mm7, %%mm7 # mm7 = 0 \n" + "movq mmx_m2_5_m5_2, %%mm6 # mm6 =(2,-5,5,-2) \n" + "movd 3(%1), %%mm0 \n" + "punpcklbw %%mm7,%%mm0 \n" + "pmaddwd %%mm6, %%mm0 \n" + "movq %%mm0, %%mm1 \n" + "psrlq $32, %%mm1 \n" + "paddd %%mm1, %%mm0 \n" + "movd %%mm0, %0" : "=r"(a3x0) :"r"(i_v) ); #if 0 a3x0 = 2 * ( i_v[3] - i_v[6] ) + 5 *( i_v[5] - i_v[4] ); #endif @@ -228,7 +228,7 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, { b_neg = 1; a3x0 = -a3x0; - } + } else { b_neg = 0; @@ -237,24 +237,24 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, if( ( a3x0 < 8 * i_QP )&&( a3x0 != 0 ) ) /* |a3x0| < 8*i_QP */ { /* calculate a3x1 et a3x2 */ - __asm__ __volatile__ ( " \n\ - # mm7 = 0 \n\ - # mm6 = ( 2, -5, 5, -2 ) \n\ - movd 1(%2), %%mm0 \n\ - movd 5(%2), %%mm2 \n\ - punpcklbw %%mm7,%%mm0 \n\ - punpcklbw %%mm7,%%mm2 \n\ - pmaddwd %%mm6, %%mm0 \n\ - pmaddwd %%mm6, %%mm2 \n" - "movq %%mm0, %%mm1 \n\ - psrlq $32, %%mm1 \n" - "paddd %%mm1, %%mm0 # mm0 = a3x1 \n\ - movd %%mm0, %0 \n" - "movq %%mm2, %%mm1 \n\ - psrlq $32, %%mm1 \n" - "paddd %%mm1, %%mm2 # mm2 = a3x2 \n\ - movd %%mm2, %1 \n\ - " : "=r"(a3x1), "=r"(a3x2) : "r"(i_v) ); + __asm__ __volatile__ ( + " # mm7 = 0 \n" + " # mm6 = ( 2, -5, 5, -2 ) \n" + "movd 1(%2), %%mm0 \n" + "movd 5(%2), %%mm2 \n" + "punpcklbw %%mm7,%%mm0 \n" + "punpcklbw %%mm7,%%mm2 \n" + "pmaddwd %%mm6, %%mm0 \n" + "pmaddwd %%mm6, %%mm2 \n" + "movq %%mm0, %%mm1 \n" + "psrlq $32, %%mm1 \n" + "paddd %%mm1, %%mm0 # mm0 = a3x1 \n" + "movd %%mm0, %0 \n" + "movq %%mm2, %%mm1 \n" + "psrlq $32, %%mm1 \n" + "paddd %%mm1, %%mm2 # mm2 = a3x2 \n" + "movd %%mm2, %1 \n" + : "=r"(a3x1), "=r"(a3x2) : "r"(i_v) ); #if 0 a3x1 = 2 * ( i_v[1] - i_v[4] ) + 5 * ( i_v[3] - i_v[2] ); a3x2 = 2 * ( i_v[5] - i_v[8] ) + 5 * ( i_v[7] - i_v[6] ); @@ -264,7 +264,7 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, if( a3x2 < 0) a3x2 = -a3x2; /* abs( a3x2 ) */ a3x0_ = PP_MIN3( a3x0, a3x1, a3x2 ); - + d = 5 *( a3x0 - a3x0_ ) / 8; /* always > 0 */ i_delta = ( i_v[4] - i_v[5] ) / 2; @@ -293,7 +293,7 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, -static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ +static inline void pp_deblock_DCMode( uint8_t *p_v, /* = int i_v[10] */ int i_QP ) { int i_p0, i_p9; @@ -302,20 +302,20 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ i_p9 = PP_ABS( p_v[8] - p_v[9] ) < i_QP ? p_v[9] : p_v[8]; /* mm0 = 8 pix unmodified - -We will process first 4 pixel + -We will process first 4 pixel mm0 = 8 pix unmodified mm1 = for the first part of the 4 first pix (v1) -> (p0) -> ... ( word ) (v2) (v1) (v3) (v2) (v4) (v3) - + = for the commoin part between first and last pix (v2) -> (v3) -> ... ( word ) (v3) (v4) (v4) (v5) (v5) (v6) - + = for the last part of the 4 last pix (v5) -> (v6) -> ... ( word ) (v6) (v7) @@ -323,110 +323,110 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ (v8) (p9) mm2 = acu for first new pix - mm3 = acu for last pix + mm3 = acu for last pix mm4 = unused - mm5 = p0 + mm5 = p0 mm6 = p9 << 48 mm7 = 0 */ __asm__ __volatile__ ( - "pxor %%mm7, %%mm7 \n\ - movq 1(%0), %%mm0 # get 8 pix \n\ - # unpack into mm1 \n\ - movq %%mm0, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 \n\ - # get p_0 and i_p9 \n\ - movd %1, %%mm5 \n\ - movd %2, %%mm6 \n\ - psllq $48, %%mm6 \n - \n\ - movq %%mm1, %%mm3 # p_v[5-8] = v[1-4] !! \n\ - movq %%mm1, %%mm2 \n\ - psllw $2, %%mm2 # p_v[1-4] = 4*v[1-4] \n\ - \n\ - psllq $16, %%mm1 \n\ - por %%mm5, %%mm1 # mm1 =( p0, v1, v2 ,v3)\n\ - \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm2 \n\ - \n\ - psllq $16, %%mm1 \n\ - por %%mm5, %%mm1 # mm1 =( p0, p0, v1, v2)\n\ - \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm2 \n\ - \n\ - psllq $16, %%mm1 \n\ - por %%mm5, %%mm1 # mm1 =( p0, p0, p0, v1)\n\ - \n\ - paddw %%mm1, %%mm2 \n\ - \n\ - psllq $16, %%mm1 \n\ - por %%mm5, %%mm1 # mm1 =( p0, p0, p0, p0)\n\ - \n\ - paddw %%mm1, %%mm2 \n\ - # Now last part a little borring\n\ - # last part for mm2, beginig for mm3 - movq %%mm0, %%mm1 \n\ - psrlq $8, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v2, v3, v4, v5 )\n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm3 \n\ - - \n\ - movq %%mm0, %%mm1 \n\ - psrlq $16, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v3, v4, v5, v6 )\n\ - psllw $1, %%mm1 \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - movq %%mm0, %%mm1 \n\ - psrlq $24, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v4, v5, v6, v7) \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm3 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - movq %%mm0, %%mm1 \n\ - psrlq $32, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v5, v6, v7, v8) \n\ - paddw %%mm1, %%mm2 \n\ - psllw $2, %%mm1 - paddw %%mm1, %%mm3 \n\ - # Now last part for last 4 pix \n\ - # \n\ - movq %%mm0, %%mm1 \n\ - punpckhbw %%mm7, %%mm1 # mm1 = ( v5, v6, v7, v8) \n\ - \n\ - psrlq $16, %%mm1 \n\ - por %%mm6, %%mm1 # mm1 =( v6, v7, v8, p9 )\n\ - \n\ - paddw %%mm1, %%mm3 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - psrlq $16, %%mm1 \n\ - por %%mm6, %%mm1 # mm1 =( v7, v8, p9, p9)\n\ - \n\ - paddw %%mm1, %%mm3 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - psrlq $16, %%mm1 \n\ - por %%mm6, %%mm1 # mm1 =( v8, p9, p9, p9 )\n\ - \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - psrlq $16, %%mm1 \n\ - por %%mm6, %%mm1 # mm1 =( p9, p9, p9, p9 )\n\ - \n\ - paddw %%mm1, %%mm3 \n\ - - psrlw $4, %%mm2 \n\ - psrlw $4, %%mm3 \n\ - packuswb %%mm3, %%mm2 \n\ - movq %%mm2, 1(%0) \n\ - - ": : "r"(p_v), "r"(i_p0), "r"(i_p9) : "memory" ); + "pxor %%mm7, %%mm7 \n" + "movq 1(%0), %%mm0 # get 8 pix \n" + " # unpack into mm1 \n" + "movq %%mm0, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 \n" + " # get p_0 and i_p9 \n" + "movd %1, %%mm5 \n" + "movd %2, %%mm6 \n" + "psllq $48, %%mm6 \n" + " \n" + "movq %%mm1, %%mm3 # p_v[5-8] = v[1-4] !! \n" + "movq %%mm1, %%mm2 \n" + "psllw $2, %%mm2 # p_v[1-4] = 4*v[1-4] \n" + " \n" + "psllq $16, %%mm1 \n" + "por %%mm5, %%mm1 # mm1 =( p0, v1, v2 ,v3)\n" + " \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm2 \n" + " \n" + "psllq $16, %%mm1 \n" + "por %%mm5, %%mm1 # mm1 =( p0, p0, v1, v2)\n" + " \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm2 \n" + " \n" + "psllq $16, %%mm1 \n" + "por %%mm5, %%mm1 # mm1 =( p0, p0, p0, v1)\n" + " \n" + "paddw %%mm1, %%mm2 \n" + " \n" + "psllq $16, %%mm1 \n" + "por %%mm5, %%mm1 # mm1 =( p0, p0, p0, p0)\n" + " \n" + "paddw %%mm1, %%mm2 \n" + " # Now last part a little borring\n" + " # last part for mm2, beginig for mm3\n" + "movq %%mm0, %%mm1 \n" + "psrlq $8, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v2, v3, v4, v5 )\n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm3 \n" + + " \n" + "movq %%mm0, %%mm1 \n" + "psrlq $16, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v3, v4, v5, v6 )\n" + "psllw $1, %%mm1 \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "movq %%mm0, %%mm1 \n" + "psrlq $24, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v4, v5, v6, v7) \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm3 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "movq %%mm0, %%mm1 \n" + "psrlq $32, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v5, v6, v7, v8) \n" + "paddw %%mm1, %%mm2 \n" + "psllw $2, %%mm1 \n" + "paddw %%mm1, %%mm3 \n" + " # Now last part for last 4 pix \n" + " # \n" + "movq %%mm0, %%mm1 \n" + "punpckhbw %%mm7, %%mm1 # mm1 = ( v5, v6, v7, v8) \n" + " \n" + "psrlq $16, %%mm1 \n" + "por %%mm6, %%mm1 # mm1 =( v6, v7, v8, p9 )\n" + " \n" + "paddw %%mm1, %%mm3 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "psrlq $16, %%mm1 \n" + "por %%mm6, %%mm1 # mm1 =( v7, v8, p9, p9)\n" + " \n" + "paddw %%mm1, %%mm3 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "psrlq $16, %%mm1 \n" + "por %%mm6, %%mm1 # mm1 =( v8, p9, p9, p9 )\n" + " \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "psrlq $16, %%mm1 \n" + "por %%mm6, %%mm1 # mm1 =( p9, p9, p9, p9 )\n" + " \n" + "paddw %%mm1, %%mm3 \n" + + "psrlw $4, %%mm2 \n" + "psrlw $4, %%mm3 \n" + "packuswb %%mm3, %%mm2 \n" + "movq %%mm2, 1(%0) \n" + + : : "r"(p_v), "r"(i_p0), "r"(i_p9) : "memory" ); #if 0 for( i = 1; i < 9; i++ ) @@ -434,28 +434,28 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ v[i] = p_v[i]; /* save 8 pix that will be modified */ } - p_v[1] = ( 6 * i_p0 + 4 * v[1] + p_v[1] = ( 6 * i_p0 + 4 * v[1] + 2 *( v[2] + v[3]) + v[4] + v[5]) >> 4; - - p_v[2] = ( 4 * i_p0 + 2 * v[1] + 4 * v[2] + + p_v[2] = ( 4 * i_p0 + 2 * v[1] + 4 * v[2] + 2 *( v[3] + v[4]) + v[5] + v[6]) >> 4; - p_v[3] = ( 2 * i_p0 + 2 * (v[1] + v[2]) + 4 * v[3] + p_v[3] = ( 2 * i_p0 + 2 * (v[1] + v[2]) + 4 * v[3] + 2 *( v[4] + v[5]) + v[6] + v[7]) >> 4; - p_v[4] = ( i_p0 + v[1] + 2 * (v[2] + v[3]) + 4 * v[4] + p_v[4] = ( i_p0 + v[1] + 2 * (v[2] + v[3]) + 4 * v[4] + 2 *( v[5] + v[6]) + v[7] + v[8]) >> 4; - p_v[5] = ( v[1] + v[2] + 2 * (v[3] + v[4]) + 4 * v[5] + p_v[5] = ( v[1] + v[2] + 2 * (v[3] + v[4]) + 4 * v[5] + 2 *( v[6] + v[7]) + v[8] + i_p9) >> 4; - p_v[6] = ( v[2] + v[3] + 2 * (v[4] + v[5]) + 4 * v[6] + p_v[6] = ( v[2] + v[3] + 2 * (v[4] + v[5]) + 4 * v[6] + 2 *( v[7] + v[8]) + 2 * i_p9) >> 4; - p_v[7] = ( v[3] + v[4] + 2 * (v[5] + v[6]) + 4 * v[7] + p_v[7] = ( v[3] + v[4] + 2 * (v[5] + v[6]) + 4 * v[7] + 2 * v[8] + 4 * i_p9) >> 4; - p_v[8] = ( v[4] + v[5] + 2 * (v[6] + v[7]) + 4 * v[8] + p_v[8] = ( v[4] + v[5] + 2 * (v[6] + v[7]) + 4 * v[8] + 6 * i_p9) >> 4; #endif @@ -471,21 +471,21 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ /*---------------------------------------------------------------------------*/ /*****************************************************************************/ -void E_( pp_deblock_V )( u8 *p_plane, +void E_( pp_deblock_V )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride, int b_chroma ) { int x, y, i; - u8 *p_v; + uint8_t *p_v; int i_QP_scale; /* use to do ( ? >> i_QP_scale ) */ int i_QP; - - u8 i_v[10]; - + + uint8_t i_v[10]; + i_QP_scale = b_chroma ? 5 : 4 ; - for( y = 8; y < i_height - 4; y += 8 ) + for( y = 8; y < i_height - 4; y += 8 ) { p_v = p_plane + ( y - 5 )* i_stride; for( x = 0; x < i_width; x++ ) @@ -530,22 +530,22 @@ void E_( pp_deblock_V )( u8 *p_plane, /*---------------------------------------------------------------------------*/ /*****************************************************************************/ -void E_( pp_deblock_H )( u8 *p_plane, +void E_( pp_deblock_H )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride, int b_chroma ) { int x, y; - u8 *p_v; + uint8_t *p_v; int i_QP_scale; int i_QP; - + i_QP_scale = b_chroma ? 5 : 4 ; - for( y = 0; y < i_height; y++ ) + for( y = 0; y < i_height; y++ ) { p_v = p_plane + y * i_stride - 5; - for( x = 8; x < i_width - 4; x += 8 ) + for( x = 8; x < i_width - 4; x += 8 ) { /* p_v point 5 pix before a block boundary */ /* XXX QP is for v5 */ @@ -564,7 +564,7 @@ void E_( pp_deblock_H )( u8 *p_plane, } } } - + return; } @@ -575,7 +575,7 @@ void E_( pp_deblock_H )( u8 *p_plane, * *****************************************************************************/ -static inline void pp_dering_MinMax( u8 *p_block, int i_stride, +static inline void pp_dering_MinMax( uint8_t *p_block, int i_stride, int *pi_min, int *pi_max ) { int x, y; @@ -583,13 +583,13 @@ static inline void pp_dering_MinMax( u8 *p_block, int i_stride, #if 0 - /* First we will extract min/max for each pix on vertical line + /* First we will extract min/max for each pix on vertical line and next extract global min/max */ - __asm__ __volatile__( + __asm__ __volatile__( - "leal (%2,%3), %%eax \n\ - movq (%2), %%mm0 #load line \n\ - movq %%mm0, %%mm1 \n" + "leal (%2,%3), %%eax \n" + "movq (%2), %%mm0 #load line \n" + "movq %%mm0, %%mm1 \n" MMXEXT_GET_LMINMAX( (%%eax), %%mm0, %%mm1, %%mm7 ) MMXEXT_GET_LMINMAX( (%%eax, %3), %%mm0, %%mm1, %%mm7 ) @@ -600,20 +600,20 @@ static inline void pp_dering_MinMax( u8 *p_block, int i_stride, MMXEXT_GET_LMINMAX( (%%eax), %%mm0, %%mm1, %%mm7 ) MMXEXT_GET_LMINMAX( (%%eax, %3), %%mm0, %%mm1, %%mm7 ) MMXEXT_GET_LMINMAX( (%%eax, %3,2), %%mm0, %%mm1, %%mm7 ) - MMXEXT_GET_PMIN( %%mm0, %%mm7 ) + MMXEXT_GET_PMIN( %%mm0, %%mm7 ) MMXEXT_GET_PMAX( %%mm1, %%mm7 ) - "movd %%mm0, %%eax \n\ - andl $255, %%eax \n\ - movl %%eax, (%0) \n\ - movd %%mm1, %%eax \n\ - andl $255, %%eax \n\ - movl %%eax, (%1) \n" + "movd %%mm0, %%eax \n" + "andl $255, %%eax \n" + "movl %%eax, (%0) \n" + "movd %%mm1, %%eax \n" + "andl $255, %%eax \n" + "movl %%eax, (%1) \n" : : "r"(pi_min), "r"(pi_max), "r"(p_block), "r"(i_stride) : "%eax", "memory" ); #endif - + i_min = 255; i_max = 0; - + for( y = 0; y < 8; y++ ) { for( x = 0; x < 8; x++ ) @@ -623,17 +623,17 @@ static inline void pp_dering_MinMax( u8 *p_block, int i_stride, } p_block += i_stride; } - + *pi_min = i_min; *pi_max = i_max; } -static inline void pp_dering_BinIndex( u8 *p_block, int i_stride, int i_thr, - u32 *p_bin ) +static inline void pp_dering_BinIndex( uint8_t *p_block, int i_stride, + int i_thr, uint32_t *p_bin ) { int x, y; - u32 i_bin; + uint32_t i_bin; for( y = 0; y < 10; y++ ) { @@ -653,27 +653,27 @@ static inline void pp_dering_BinIndex( u8 *p_block, int i_stride, int i_thr, } } -static inline void pp_dering_Filter( u8 *p_block, int i_stride, - u32 *p_bin, +static inline void pp_dering_Filter( uint8_t *p_block, int i_stride, + uint32_t *p_bin, int i_QP ) { int x, y; - u32 i_bin; + uint32_t i_bin; int i_flt[8][8]; int i_f; - u8 *p_sav; + uint8_t *p_sav; int i_QP_2; - + p_sav = p_block; i_QP_2 = i_QP >> 1; - + for( y = 0; y < 8; y++ ) { i_bin = p_bin[y] & p_bin[y+1] & p_bin[y+2]; /* To be optimised */ i_bin |= i_bin >> 16; /* detect 0 or 1 */ for( x = 0; x < 8; x++ ) - { + { if( i_bin&0x02 ) /* 0x02 since 10 index but want 1-9 */ { /* apply dering */ @@ -683,11 +683,11 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, i_f = p_block[x - i_stride - 1] + ( p_block[x - i_stride ] << 1)+ p_block[x - i_stride + 1] + - + ( p_block[x - 1] << 1 )+ ( p_block[x ] << 2 )+ ( p_block[x + 1] << 1 )+ - + p_block[x + i_stride - 1] + ( p_block[x + i_stride ] << 1 ) + p_block[x + i_stride + 1]; @@ -707,7 +707,7 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, } else { - i_flt[y][x] = i_f ; + i_flt[y][x] = i_f ; } } else @@ -715,7 +715,7 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, i_flt[y][x] = p_block[x]; } i_bin >>= 1; - + } p_block += i_stride; } @@ -738,7 +738,7 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, /*---------------------------------------------------------------------------*/ /*****************************************************************************/ -void E_( pp_dering_Y )( u8 *p_plane, +void E_( pp_dering_Y )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride ) { @@ -746,10 +746,10 @@ void E_( pp_dering_Y )( u8 *p_plane, int i_max[4], i_min[4], i_range[4]; int i_thr[4]; int i_max_range, i_kmax; - u32 i_bin[4][10]; - u8 *p_block[4]; + uint32_t i_bin[4][10]; + uint8_t *p_block[4]; QT_STORE_T *p_QP; - + /* We process 4 blocks/loop*/ for( y = 8; y < i_height-8; y += 16 ) { @@ -819,8 +819,8 @@ void E_( pp_dering_Y )( u8 *p_plane, i_thr[2], i_bin[2] ); pp_dering_BinIndex( p_block[3] - i_stride - 1, i_stride, i_thr[3], i_bin[3] ); - - + + /* 3: adaptive smoothing */ /* since we begin at (8,8) QP can be different for each block */ p_QP = &( p_QP_store[( y >> 4) * i_QP_stride + (x >> 4)] ); @@ -836,27 +836,27 @@ void E_( pp_dering_Y )( u8 *p_plane, pp_dering_Filter( p_block[3], i_stride, i_bin[3], p_QP[i_QP_stride+1] ); - + p_block[0] += 8; p_block[1] += 8; p_block[2] += 8; p_block[3] += 8; } } - + } -void E_( pp_dering_C )( u8 *p_plane, +void E_( pp_dering_C )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride ) { int x, y; int i_max, i_min; int i_thr; - u32 i_bin[10]; - - u8 *p_block; - + uint32_t i_bin[10]; + + uint8_t *p_block; + for( y = 8; y < i_height-8; y += 8 ) { @@ -877,13 +877,13 @@ void E_( pp_dering_C )( u8 *p_plane, pp_dering_BinIndex( p_block - i_stride -1, i_stride, i_thr, i_bin ); - + /* 3: adaptive smoothing */ pp_dering_Filter( p_block, i_stride, - i_bin, + i_bin, p_QP_store[(y>>5)*i_QP_stride+ (x>>5)]); p_block += 8; } } - + } diff --git a/modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c b/modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c index 0c180fca6c..978ec6568d 100644 --- a/modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c +++ b/modules/codec/ffmpeg/postprocessing/postprocessing_mmxext.c @@ -2,15 +2,15 @@ * postprocessing_mmxext.c: Post Processing plugin MMXEXT ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: postprocessing_mmxext.c,v 1.4 2002/12/06 16:34:05 sam Exp $ + * $Id: postprocessing_mmxext.c,v 1.5 2002/12/18 14:17:10 sam Exp $ * * Authors: Laurent Aimar - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -21,7 +21,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *****************************************************************************/ -#include /* only use u8, u32 .... */ +#include /* only use uint8_t, uint32_t .... */ #include "postprocessing.h" #include "postprocessing_common.h" @@ -42,8 +42,8 @@ /* Use same things as in idct but how it work ? */ #define UNUSED_LONGLONG( foo ) \ static const unsigned long long foo __asm__ (#foo) __attribute__((unused)) - -/* to calculate isDC_mode for mmx */ + +/* to calculate isDC_mode for mmx */ UNUSED_LONGLONG( mmx_thr1 ) = ( PP_THR1 << 56 )| ( PP_THR1 << 48 )| ( PP_THR1 << 40 )| @@ -76,37 +76,37 @@ UNUSED_LONGLONG( mmx_m2_5_m5_2 ) = 0xfffe0005fffb0002ULL; /* find min bytes from r ans set it in r, t is destroyed */ #define MMXEXT_GET_PMIN( r, t ) \ - "movq " #r ", " #t " \n\ - psrlq $8, " #t " \n\ - pminub " #t ", " #r " \n\ - pshufw $0xf5, " #r ", " #t " #instead of shift with tmp reg \n\ - pminub " #t ", " #r " \n\ - pshufw $0xfe, " #r ", " #t " \n\ - pminub " #t ", " #r " \n" - + "movq " #r ", " #t " \n" \ + "psrlq $8, " #t " \n" \ + "pminub " #t ", " #r " \n" \ + "pshufw $0xf5, " #r ", " #t " #instead of shift with tmp reg \n" \ + "pminub " #t ", " #r " \n" \ + "pshufw $0xfe, " #r ", " #t " \n" \ + "pminub " #t ", " #r " \n" + /* find mzx bytes from r ans set it in r, t is destroyed */ #define MMXEXT_GET_PMAX( r, t ) \ - "movq " #r ", " #t " \n\ - psrlq $8, " #t " \n\ - pmaxub " #t ", " #r " \n\ - pshufw $0xf5, " #r ", " #t " \n\ - pmaxub " #t ", " #r " \n\ - pshufw $0xfe, " #r ", " #t " \n\ - pmaxub " #t ", " #r " \n" - + "movq " #r ", " #t " \n" \ + "psrlq $8, " #t " \n" \ + "pmaxub " #t ", " #r " \n" \ + "pshufw $0xf5, " #r ", " #t " \n" \ + "pmaxub " #t ", " #r " \n" \ + "pshufw $0xfe, " #r ", " #t " \n" \ + "pmaxub " #t ", " #r " \n" + #define MMXEXT_GET_LMINMAX( s, m, M, t ) \ - "movq " #s ", " #t " \n\ - pminub " #t ", " #m " \n\ - pmaxub " #t ", " #M " \n" - + "movq " #s ", " #t " \n" \ + "pminub " #t ", " #m " \n" \ + "pmaxub " #t ", " #M " \n" + /* Some tips for MMX - + * |a-b| : d1 = a - b with unsigned saturate - d2 = b - a with ... - |a-b| = d1 | d2 + d2 = b - a with ... + |a-b| = d1 | d2 */ @@ -120,52 +120,52 @@ UNUSED_LONGLONG( mmx_m2_5_m5_2 ) = 0xfffe0005fffb0002ULL; * so need to be fast ... * ****************************************************************************/ -static inline int pp_deblock_isDC_mode( u8 *p_v ) +static inline int pp_deblock_isDC_mode( uint8_t *p_v ) { unsigned int i_eq_cnt; /* algo : - x = v[i] - v[i+1] without signed saturation - ( XXX see if there is'nt problem, but can't be with signed - sat because pixel will be saturate :( + x = v[i] - v[i+1] without signed saturation + ( XXX see if there is'nt problem, but can't be with signed + sat because pixel will be saturate :( so x within [-128, 127] and we have to test if it fit in [-M, M] we add 127-M with wrap around -> good value fit in [ 127-2*M, 127] and if x >= 127 - 2 * M ie x > 127 -2*M - 1 value is good */ #if 0 - __asm__ __volatile__ (" \n\ - #* Do (v0-v1) to (v7-v8) \n\ - movq (%1), %%mm1 # load v0->v7 \n\ - movq 1(%1), %%mm2 # load v1->v8 \n\ - psubb %%mm2, %%mm1 # v[i]-v[i+1] \n\ - paddb mmx_127_thr1, %%mm1 # + 127-THR1 with wrap \n\ - pcmpgtb mmx_127_2xthr1_1, %%mm1 # > 127 -2*thr1 - 1 \n\ - pxor %%mm0, %%mm0 # mm0 = 0 \n\ - psadbw %%mm1, %%mm0 \n\ - movd %%mm0, %0 # \n\ - negl %0 \n\ - andl $255, %0" + __asm__ __volatile__ ( + " #* Do (v0-v1) to (v7-v8) \n" + "movq (%1), %%mm1 # load v0->v7 \n" + "movq 1(%1), %%mm2 # load v1->v8 \n" + "psubb %%mm2, %%mm1 # v[i]-v[i+1] \n" + "paddb mmx_127_thr1, %%mm1 # + 127-THR1 with wrap \n" + "pcmpgtb mmx_127_2xthr1_1, %%mm1 # > 127 -2*thr1 - 1 \n" + "pxor %%mm0, %%mm0 # mm0 = 0 \n" + "psadbw %%mm1, %%mm0 \n" + "movd %%mm0, %0 # \n" + "negl %0 \n" + "andl $255, %0" : "=r"(i_eq_cnt) : "r" (p_v) ); #endif - __asm__ __volatile__ (" \n\ - #* Do (v0-v1) to (v7-v8) \n\ - movq (%1), %%mm1 # load v0->v7 \n\ - pxor %%mm0, %%mm0 # mm0 = 0 \n\ - movq 1(%1), %%mm2 # load v1->v8 \n\ - psubb %%mm2, %%mm1 # v[i]-v[i+1] \n\ - paddb mmx_127_thr1, %%mm1 # + 127-THR1 with wrap \n\ - pcmpgtb mmx_127_2xthr1_1, %%mm1 # > 127 -2*thr1 - 1 \n\ - psadbw %%mm1, %%mm0 \n\ - movd %%mm0, %0 # \n\ - negl %0" + __asm__ __volatile__ ( + " #* Do (v0-v1) to (v7-v8) \n" + "movq (%1), %%mm1 # load v0->v7 \n" + "pxor %%mm0, %%mm0 # mm0 = 0 \n" + "movq 1(%1), %%mm2 # load v1->v8 \n" + "psubb %%mm2, %%mm1 # v[i]-v[i+1] \n" + "paddb mmx_127_thr1, %%mm1 # + 127-THR1 with wrap \n" + "pcmpgtb mmx_127_2xthr1_1, %%mm1 # > 127 -2*thr1 - 1 \n" + "psadbw %%mm1, %%mm0 \n" + "movd %%mm0, %0 # \n" + "negl %0" : "=r"(i_eq_cnt) : "r" (p_v) ); - + /* last test, hey, 9 don't fit in MMX */ - if(( ( p_v[8] - p_v[9] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) - { + if(( ( p_v[8] - p_v[9] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) + { i_eq_cnt++; } @@ -175,8 +175,8 @@ static inline int pp_deblock_isDC_mode( u8 *p_v ) for( i =0; i < 9; i++ ) { - if(( ( p_v[i] - p_v[i+1] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) - { + if(( ( p_v[i] - p_v[i+1] + PP_THR1 )&0xffff )<= PP_2xTHR1 ) + { i_eq_cnt++; } } @@ -185,24 +185,24 @@ static inline int pp_deblock_isDC_mode( u8 *p_v ) return( (i_eq_cnt >= PP_THR2 ) ? 1 : 0 ); } -static inline int pp_deblock_isMinMaxOk( u8 *p_v, int i_QP ) +static inline int pp_deblock_isMinMaxOk( uint8_t *p_v, int i_QP ) { int i_range; - __asm__ __volatile__ ( + __asm__ __volatile__ ( "movq 1(%1), %%mm0 # 8 bytes \n" "movq %%mm0, %%mm1 \n" MMXEXT_GET_PMIN( %%mm0, %%mm7 ) MMXEXT_GET_PMAX( %%mm1, %%mm7 ) - "psubd %%mm0, %%mm1 # max - min \n\ - movd %%mm1, %0 \n\ - andl $255, %0" : "=r"(i_range) : "r"(p_v) ); + "psubd %%mm0, %%mm1 # max - min \n" + "movd %%mm1, %0 \n" + "andl $255, %0" : "=r"(i_range) : "r"(p_v) ); #if 0 int i_max, i_min; int i; - i_min = i_max = p_v[1]; + i_min = i_max = p_v[1]; for( i = 2; i < 9; i++ ) { if( i_max < p_v[i] ) i_max = p_v[i]; @@ -215,7 +215,7 @@ static inline int pp_deblock_isMinMaxOk( u8 *p_v, int i_QP ) } -static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, +static inline void pp_deblock_DefaultMode( uint8_t i_v[10], int i_stride, int i_QP ) { int d, i_delta; @@ -225,15 +225,15 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, /* d = CLIP( 5(a3x0' - a3x0)//8, 0, (v4-v5)/2 ).d( abs(a3x0) < QP ) */ /* First calculate a3x0 */ - __asm__ __volatile__ ( " \n\ - pxor %%mm7, %%mm7 # mm7 = 0 \n\ - movq mmx_m2_5_m5_2, %%mm6 # mm6 =(2,-5,5,-2) \n\ - movd 3(%1), %%mm0 \n\ - punpcklbw %%mm7,%%mm0 \n\ - pmaddwd %%mm6, %%mm0 \n" + __asm__ __volatile__ ( + "pxor %%mm7, %%mm7 # mm7 = 0 \n" + "movq mmx_m2_5_m5_2, %%mm6 # mm6 =(2,-5,5,-2) \n" + "movd 3(%1), %%mm0 \n" + "punpcklbw %%mm7,%%mm0 \n" + "pmaddwd %%mm6, %%mm0 \n" "pshufw $0xfe, %%mm0, %%mm1 \n" - "paddd %%mm1, %%mm0 \n\ - movd %%mm0, %0" : "=r"(a3x0) :"r"(i_v) ); + "paddd %%mm1, %%mm0 \n" + "movd %%mm0, %0" : "=r"(a3x0) :"r"(i_v) ); #if 0 a3x0 = 2 * ( i_v[3] - i_v[6] ) + 5 *( i_v[5] - i_v[4] ); #endif @@ -242,7 +242,7 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, { b_neg = 1; a3x0 = -a3x0; - } + } else { b_neg = 0; @@ -251,22 +251,22 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, if( ( a3x0 < 8 * i_QP )&&( a3x0 != 0 ) ) /* |a3x0| < 8*i_QP */ { /* calculate a3x1 et a3x2 */ - __asm__ __volatile__ ( " \n\ - # mm7 = 0 \n\ - # mm6 = ( 2, -5, 5, -2 ) \n\ - movd 1(%2), %%mm0 \n\ - movd 5(%2), %%mm2 \n\ - punpcklbw %%mm7,%%mm0 \n\ - punpcklbw %%mm7,%%mm2 \n\ - pmaddwd %%mm6, %%mm0 \n\ - pmaddwd %%mm6, %%mm2 \n\ - pshufw $0xfe, %%mm0, %%mm1 \n\ - paddd %%mm1, %%mm0 # mm0 = a3x1 \n\ - movd %%mm0, %0 \n\ - pshufw $0xfe, %%mm2, %%mm1 \n\ - paddd %%mm1, %%mm2 # mm2 = a3x2 \n\ - movd %%mm2, %1 \n\ - " : "=r"(a3x1), "=r"(a3x2) : "r"(i_v) ); + __asm__ __volatile__ ( + " # mm7 = 0 \n" + " # mm6 = ( 2, -5, 5, -2 ) \n" + "movd 1(%2), %%mm0 \n" + "movd 5(%2), %%mm2 \n" + "punpcklbw %%mm7,%%mm0 \n" + "punpcklbw %%mm7,%%mm2 \n" + "pmaddwd %%mm6, %%mm0 \n" + "pmaddwd %%mm6, %%mm2 \n" + "pshufw $0xfe, %%mm0, %%mm1 \n" + "paddd %%mm1, %%mm0 # mm0 = a3x1 \n" + "movd %%mm0, %0 \n" + "pshufw $0xfe, %%mm2, %%mm1 \n" + "paddd %%mm1, %%mm2 # mm2 = a3x2 \n" + "movd %%mm2, %1 \n" + : "=r"(a3x1), "=r"(a3x2) : "r"(i_v) ); #if 0 a3x1 = 2 * ( i_v[1] - i_v[4] ) + 5 * ( i_v[3] - i_v[2] ); a3x2 = 2 * ( i_v[5] - i_v[8] ) + 5 * ( i_v[7] - i_v[6] ); @@ -276,7 +276,7 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, if( a3x2 < 0) a3x2 = -a3x2; /* abs( a3x2 ) */ a3x0_ = PP_MIN3( a3x0, a3x1, a3x2 ); - + d = 5 *( a3x0 - a3x0_ ) / 8; /* always > 0 */ i_delta = ( i_v[4] - i_v[5] ) / 2; @@ -305,7 +305,7 @@ static inline void pp_deblock_DefaultMode( u8 i_v[10], int i_stride, -static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ +static inline void pp_deblock_DCMode( uint8_t *p_v, /* = int i_v[10] */ int i_QP ) { int i_p0, i_p9; @@ -313,20 +313,20 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ i_p9 = PP_ABS( p_v[8] - p_v[9] ) < i_QP ? p_v[9] : p_v[8]; /* mm0 = 8 pix unmodified - -We will process first 4 pixel + -We will process first 4 pixel mm0 = 8 pix unmodified mm1 = for the first part of the 4 first pix (v1) -> (p0) -> ... ( word ) (v2) (v1) (v3) (v2) (v4) (v3) - + = for the commoin part between first and last pix (v2) -> (v3) -> ... ( word ) (v3) (v4) (v4) (v5) (v5) (v6) - + = for the last part of the 4 last pix (v5) -> (v6) -> ... ( word ) (v6) (v7) @@ -334,98 +334,98 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ (v8) (p9) mm2 = acu for first new pix - mm3 = acu for last pix + mm3 = acu for last pix mm4 = unused - mm5 = p0 + mm5 = p0 mm6 = p9 << 48 mm7 = 0 */ __asm__ __volatile__ ( - "pxor %%mm7, %%mm7 \n\ - movq 1(%0), %%mm0 # get 8 pix \n\ - # unpack into mm1 \n\ - movq %%mm0, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 \n\ - # get p_0 and i_p9 \n\ - movd %1, %%mm5 \n\ - movd %2, %%mm6 \n\ - psllq $48, %%mm6 \n - \n\ - movq %%mm1, %%mm3 # p_v[5-8] = v[1-4] !! \n\ - movq %%mm1, %%mm2 \n\ - psllw $2, %%mm2 # p_v[1-4] = 4*v[1-4] \n\ - \n\ - psllq $16, %%mm1 \n\ - por %%mm5, %%mm1 # mm1 =( p0, v1, v2 ,v3)\n\ - \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm2 \n\ - \n\ - pshufw $0x90,%%mm1,%%mm1 # mm1 =( p0, p0, v1, v2)\n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm2 \n\ - \n\ - pshufw $0x90,%%mm1,%%mm1 # mm1 =( p0, p0, p0, v2)\n\ - paddw %%mm1, %%mm2 \n\ - \n\ - pshufw $0x90,%%mm1,%%mm1 # mm1 =( p0, p0, p0, p0)\n\ - paddw %%mm1, %%mm2 \n\ - # Now last part a little borring\n\ - # last part for mm2, beginig for mm3 - movq %%mm0, %%mm1 \n\ - psrlq $8, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v2, v3, v4, v5 )\n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm3 \n\ - - \n\ - movq %%mm0, %%mm1 \n\ - psrlq $16, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v3, v4, v5, v6 )\n\ - psllw $1, %%mm1 \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - movq %%mm0, %%mm1 \n\ - psrlq $24, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v4, v5, v6, v7) \n\ - paddw %%mm1, %%mm2 \n\ - paddw %%mm1, %%mm3 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - movq %%mm0, %%mm1 \n\ - psrlq $32, %%mm1 \n\ - punpcklbw %%mm7, %%mm1 # mm1 =( v5, v6, v7, v8) \n\ - paddw %%mm1, %%mm2 \n\ - psllw $2, %%mm1 - paddw %%mm1, %%mm3 \n\ - # Now last part for last 4 pix \n\ - # \n\ - movq %%mm0, %%mm1 \n\ - punpckhbw %%mm7, %%mm1 # mm1 = ( v5, v6, v7, v8) \n\ - \n\ - psrlq $16, %%mm1 \n\ - por %%mm6, %%mm1 # mm1 =( v6, v7, v8, p9 )\n\ - \n\ - paddw %%mm1, %%mm3 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - pshufw $0xf9,%%mm1,%%mm1 # mm1 =( v7, v8, p9, p9)\n\ - paddw %%mm1, %%mm3 \n\ - paddw %%mm1, %%mm3 \n\ - \n\ - pshufw $0xf9,%%mm1,%%mm1 # mm1 =( v8, p9, p9, p9)\n\ - paddw %%mm1, %%mm3 \n\ - \n\ - pshufw $0xf9,%%mm1,%%mm1 # mm1 =( p9, p9, p9, p9)\n\ - paddw %%mm1, %%mm3 \n\ - - psrlw $4, %%mm2 \n\ - psrlw $4, %%mm3 \n\ - packuswb %%mm3, %%mm2 \n\ - movq %%mm2, 1(%0) \n\ - - ": : "r"(p_v), "r"(i_p0), "r"(i_p9) : "memory" ); + "pxor %%mm7, %%mm7 \n" + "movq 1(%0), %%mm0 # get 8 pix \n" + " # unpack into mm1 \n" + "movq %%mm0, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 \n" + " # get p_0 and i_p9 \n" + "movd %1, %%mm5 \n" + "movd %2, %%mm6 \n" + "psllq $48, %%mm6 \n" + " \n" + "movq %%mm1, %%mm3 # p_v[5-8] = v[1-4] !! \n" + "movq %%mm1, %%mm2 \n" + "psllw $2, %%mm2 # p_v[1-4] = 4*v[1-4] \n" + " \n" + "psllq $16, %%mm1 \n" + "por %%mm5, %%mm1 # mm1 =( p0, v1, v2 ,v3)\n" + " \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm2 \n" + " \n" + "pshufw $0x90,%%mm1,%%mm1 # mm1 =( p0, p0, v1, v2)\n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm2 \n" + " \n" + "pshufw $0x90,%%mm1,%%mm1 # mm1 =( p0, p0, p0, v2)\n" + "paddw %%mm1, %%mm2 \n" + " \n" + "pshufw $0x90,%%mm1,%%mm1 # mm1 =( p0, p0, p0, p0)\n" + "paddw %%mm1, %%mm2 \n" + " # Now last part a little borring\n" + " # last part for mm2, beginig for mm3\n" + "movq %%mm0, %%mm1 \n" + "psrlq $8, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v2, v3, v4, v5 )\n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm3 \n" + + " \n" + "movq %%mm0, %%mm1 \n" + "psrlq $16, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v3, v4, v5, v6 )\n" + "psllw $1, %%mm1 \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "movq %%mm0, %%mm1 \n" + "psrlq $24, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v4, v5, v6, v7) \n" + "paddw %%mm1, %%mm2 \n" + "paddw %%mm1, %%mm3 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "movq %%mm0, %%mm1 \n" + "psrlq $32, %%mm1 \n" + "punpcklbw %%mm7, %%mm1 # mm1 =( v5, v6, v7, v8) \n" + "paddw %%mm1, %%mm2 \n" + "psllw $2, %%mm1 \n" + "paddw %%mm1, %%mm3 \n" + " # Now last part for last 4 pix \n" + " # \n" + "movq %%mm0, %%mm1 \n" + "punpckhbw %%mm7, %%mm1 # mm1 = ( v5, v6, v7, v8) \n" + " \n" + "psrlq $16, %%mm1 \n" + "por %%mm6, %%mm1 # mm1 =( v6, v7, v8, p9 )\n" + " \n" + "paddw %%mm1, %%mm3 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "pshufw $0xf9,%%mm1,%%mm1 # mm1 =( v7, v8, p9, p9)\n" + "paddw %%mm1, %%mm3 \n" + "paddw %%mm1, %%mm3 \n" + " \n" + "pshufw $0xf9,%%mm1,%%mm1 # mm1 =( v8, p9, p9, p9)\n" + "paddw %%mm1, %%mm3 \n" + " \n" + "pshufw $0xf9,%%mm1,%%mm1 # mm1 =( p9, p9, p9, p9)\n" + "paddw %%mm1, %%mm3 \n" + + "psrlw $4, %%mm2 \n" + "psrlw $4, %%mm3 \n" + "packuswb %%mm3, %%mm2 \n" + "movq %%mm2, 1(%0) \n" + + : : "r"(p_v), "r"(i_p0), "r"(i_p9) : "memory" ); #if 0 for( i = 1; i < 9; i++ ) @@ -433,28 +433,28 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ v[i] = p_v[i]; /* save 8 pix that will be modified */ } - p_v[1] = ( 6 * i_p0 + 4 * v[1] + p_v[1] = ( 6 * i_p0 + 4 * v[1] + 2 *( v[2] + v[3]) + v[4] + v[5]) >> 4; - - p_v[2] = ( 4 * i_p0 + 2 * v[1] + 4 * v[2] + + p_v[2] = ( 4 * i_p0 + 2 * v[1] + 4 * v[2] + 2 *( v[3] + v[4]) + v[5] + v[6]) >> 4; - p_v[3] = ( 2 * i_p0 + 2 * (v[1] + v[2]) + 4 * v[3] + p_v[3] = ( 2 * i_p0 + 2 * (v[1] + v[2]) + 4 * v[3] + 2 *( v[4] + v[5]) + v[6] + v[7]) >> 4; - p_v[4] = ( i_p0 + v[1] + 2 * (v[2] + v[3]) + 4 * v[4] + p_v[4] = ( i_p0 + v[1] + 2 * (v[2] + v[3]) + 4 * v[4] + 2 *( v[5] + v[6]) + v[7] + v[8]) >> 4; - p_v[5] = ( v[1] + v[2] + 2 * (v[3] + v[4]) + 4 * v[5] + p_v[5] = ( v[1] + v[2] + 2 * (v[3] + v[4]) + 4 * v[5] + 2 *( v[6] + v[7]) + v[8] + i_p9) >> 4; - p_v[6] = ( v[2] + v[3] + 2 * (v[4] + v[5]) + 4 * v[6] + p_v[6] = ( v[2] + v[3] + 2 * (v[4] + v[5]) + 4 * v[6] + 2 *( v[7] + v[8]) + 2 * i_p9) >> 4; - p_v[7] = ( v[3] + v[4] + 2 * (v[5] + v[6]) + 4 * v[7] + p_v[7] = ( v[3] + v[4] + 2 * (v[5] + v[6]) + 4 * v[7] + 2 * v[8] + 4 * i_p9) >> 4; - p_v[8] = ( v[4] + v[5] + 2 * (v[6] + v[7]) + 4 * v[8] + p_v[8] = ( v[4] + v[5] + 2 * (v[6] + v[7]) + 4 * v[8] + 6 * i_p9) >> 4; #endif @@ -470,21 +470,21 @@ static inline void pp_deblock_DCMode( u8 *p_v, /* = int i_v[10] */ /*---------------------------------------------------------------------------*/ /*****************************************************************************/ -void E_( pp_deblock_V )( u8 *p_plane, +void E_( pp_deblock_V )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride, int b_chroma ) { int x, y, i; - u8 *p_v; + uint8_t *p_v; int i_QP_scale; /* use to do ( ? >> i_QP_scale ) */ int i_QP; - - u8 i_v[10]; - + + uint8_t i_v[10]; + i_QP_scale = b_chroma ? 5 : 4 ; - for( y = 8; y < i_height - 4; y += 8 ) + for( y = 8; y < i_height - 4; y += 8 ) { p_v = p_plane + ( y - 5 )* i_stride; for( x = 0; x < i_width; x++ ) @@ -529,22 +529,22 @@ void E_( pp_deblock_V )( u8 *p_plane, /*---------------------------------------------------------------------------*/ /*****************************************************************************/ -void E_( pp_deblock_H )( u8 *p_plane, +void E_( pp_deblock_H )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride, int b_chroma ) { int x, y; - u8 *p_v; + uint8_t *p_v; int i_QP_scale; int i_QP; - + i_QP_scale = b_chroma ? 5 : 4 ; - for( y = 0; y < i_height; y++ ) + for( y = 0; y < i_height; y++ ) { p_v = p_plane + y * i_stride - 5; - for( x = 8; x < i_width - 4; x += 8 ) + for( x = 8; x < i_width - 4; x += 8 ) { /* p_v point 5 pix before a block boundary */ /* XXX QP is for v5 */ @@ -563,7 +563,7 @@ void E_( pp_deblock_H )( u8 *p_plane, } } } - + return; } @@ -574,17 +574,17 @@ void E_( pp_deblock_H )( u8 *p_plane, * *****************************************************************************/ -static inline void pp_dering_MinMax( u8 *p_block, int i_stride, +static inline void pp_dering_MinMax( uint8_t *p_block, int i_stride, int *pi_min, int *pi_max ) { - /* First we will extract min/max for each pix on vertical line + /* First we will extract min/max for each pix on vertical line and next extract global min/max */ - __asm__ __volatile__( + __asm__ __volatile__( - "leal (%2,%3), %%eax \n\ - movq (%2), %%mm0 #load line \n\ - movq %%mm0, %%mm1 \n" + "leal (%2,%3), %%eax \n" + "movq (%2), %%mm0 #load line \n" + "movq %%mm0, %%mm1 \n" MMXEXT_GET_LMINMAX( (%%eax), %%mm0, %%mm1, %%mm7 ) MMXEXT_GET_LMINMAX( (%%eax, %3), %%mm0, %%mm1, %%mm7 ) @@ -595,20 +595,20 @@ static inline void pp_dering_MinMax( u8 *p_block, int i_stride, MMXEXT_GET_LMINMAX( (%%eax), %%mm0, %%mm1, %%mm7 ) MMXEXT_GET_LMINMAX( (%%eax, %3), %%mm0, %%mm1, %%mm7 ) MMXEXT_GET_LMINMAX( (%%eax, %3,2), %%mm0, %%mm1, %%mm7 ) - MMXEXT_GET_PMIN( %%mm0, %%mm7 ) + MMXEXT_GET_PMIN( %%mm0, %%mm7 ) MMXEXT_GET_PMAX( %%mm1, %%mm7 ) - "movd %%mm0, %%eax \n\ - andl $255, %%eax \n\ - movl %%eax, (%0) \n\ - movd %%mm1, %%eax \n\ - andl $255, %%eax \n\ - movl %%eax, (%1) \n" + "movd %%mm0, %%eax \n" + "andl $255, %%eax \n" + "movl %%eax, (%0) \n" + "movd %%mm1, %%eax \n" + "andl $255, %%eax \n" + "movl %%eax, (%1) \n" : : "r"(pi_min), "r"(pi_max), "r"(p_block), "r"(i_stride) : "%eax", "memory" ); #if 0 - + i_min = 255; i_max = 0; - + for( y = 0; y < 8; y++ ) { for( x = 0; x < 8; x++ ) @@ -618,18 +618,18 @@ static inline void pp_dering_MinMax( u8 *p_block, int i_stride, } p_block += i_stride; } - + *pi_min = i_min; *pi_max = i_max; #endif } -static inline void pp_dering_BinIndex( u8 *p_block, int i_stride, int i_thr, - u32 *p_bin ) +static inline void pp_dering_BinIndex( uint8_t *p_block, int i_stride, + int i_thr, uint32_t *p_bin ) { int y; - u32 i_bin; + uint32_t i_bin; /* first create mm7 with all bytes set to thr and mm6 = 0 */ __asm__ __volatile__( @@ -642,7 +642,7 @@ static inline void pp_dering_BinIndex( u8 *p_block, int i_stride, int i_thr, for( y = 0; y < 10; y++ ) { - __asm__ __volatile__( + __asm__ __volatile__( "movq (%1), %%mm0 \n" "psubusb %%mm7, %%mm0 \n" /* sat makes that x <= thr --> 0 */ "pcmpeqb %%mm6, %%mm0 \n" /* p_block <= i_thr ? -1 : 0 */ @@ -681,27 +681,27 @@ static inline void pp_dering_BinIndex( u8 *p_block, int i_stride, int i_thr, } -static inline void pp_dering_Filter( u8 *p_block, int i_stride, - u32 *p_bin, +static inline void pp_dering_Filter( uint8_t *p_block, int i_stride, + uint32_t *p_bin, int i_QP ) { int x, y; - u32 i_bin; - u8 i_flt[8][8]; + uint32_t i_bin; + uint8_t i_flt[8][8]; int i_f; - u8 *p_sav; + uint8_t *p_sav; int i_QP_2; - + p_sav = p_block; i_QP_2 = i_QP >> 1; - + for( y = 0; y < 8; y++ ) { i_bin = p_bin[y] & p_bin[y+1] & p_bin[y+2]; /* To be optimised */ i_bin |= i_bin >> 16; /* detect 0 or 1 */ for( x = 0; x < 8; x++ ) - { + { if( i_bin&0x02 ) /* 0x02 since 10 index but want 1-9 */ { /* apply dering */ @@ -711,11 +711,11 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, i_f = p_block[x - i_stride - 1] + ( p_block[x - i_stride ] << 1)+ p_block[x - i_stride + 1] + - + ( p_block[x - 1] << 1 )+ ( p_block[x ] << 2 )+ ( p_block[x + 1] << 1 )+ - + p_block[x + i_stride - 1] + ( p_block[x + i_stride ] << 1 ) + p_block[x + i_stride + 1]; @@ -728,7 +728,7 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, } i_bin >>= 1; - + } p_block += i_stride; } @@ -745,7 +745,7 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, for( y = 0; y < 8; y++ ) { /* clamp those values and copy them */ - __asm__ __volatile__( + __asm__ __volatile__( "movq (%0), %%mm0 \n" /* mm0 = i_ftl[y][0] ... i_ftl[y][7] */ "movq (%1), %%mm1 \n" /* mm1 = p_sav[0] ... p_sav[7] */ "movq %%mm1, %%mm2 \n" @@ -769,7 +769,7 @@ static inline void pp_dering_Filter( u8 *p_block, int i_stride, /*---------------------------------------------------------------------------*/ /*****************************************************************************/ -void E_( pp_dering_Y )( u8 *p_plane, +void E_( pp_dering_Y )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride ) { @@ -777,10 +777,10 @@ void E_( pp_dering_Y )( u8 *p_plane, int i_max[4], i_min[4], i_range[4]; int i_thr[4]; int i_max_range, i_kmax; - u32 i_bin[4][10]; - u8 *p_block[4]; + uint32_t i_bin[4][10]; + uint8_t *p_block[4]; QT_STORE_T *p_QP; - + /* We process 4 blocks/loop*/ for( y = 8; y < i_height-8; y += 16 ) { @@ -850,8 +850,8 @@ void E_( pp_dering_Y )( u8 *p_plane, i_thr[2], i_bin[2] ); pp_dering_BinIndex( p_block[3] - i_stride - 1, i_stride, i_thr[3], i_bin[3] ); - - + + /* 3: adaptive smoothing */ /* since we begin at (8,8) QP can be different for each block */ p_QP = &( p_QP_store[( y >> 4) * i_QP_stride + (x >> 4)] ); @@ -867,27 +867,25 @@ void E_( pp_dering_Y )( u8 *p_plane, pp_dering_Filter( p_block[3], i_stride, i_bin[3], p_QP[i_QP_stride+1] ); - + p_block[0] += 8; p_block[1] += 8; p_block[2] += 8; p_block[3] += 8; } } - } -void E_( pp_dering_C )( u8 *p_plane, +void E_( pp_dering_C )( uint8_t *p_plane, int i_width, int i_height, int i_stride, QT_STORE_T *p_QP_store, int i_QP_stride ) { int x, y; int i_max, i_min; int i_thr; - u32 i_bin[10]; - - u8 *p_block; - + uint32_t i_bin[10]; + + uint8_t *p_block; for( y = 8; y < i_height-8; y += 8 ) { @@ -908,13 +906,12 @@ void E_( pp_dering_C )( u8 *p_plane, pp_dering_BinIndex( p_block - i_stride -1, i_stride, i_thr, i_bin ); - + /* 3: adaptive smoothing */ pp_dering_Filter( p_block, i_stride, - i_bin, + i_bin, p_QP_store[(y>>5)*i_QP_stride+ (x>>5)]); p_block += 8; } } - } diff --git a/modules/codec/mpeg_video/parser.c b/modules/codec/mpeg_video/parser.c index 5bbadcea33..ad8968db22 100644 --- a/modules/codec/mpeg_video/parser.c +++ b/modules/codec/mpeg_video/parser.c @@ -2,7 +2,7 @@ * video_parser.c : video parser thread ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: parser.c,v 1.8 2002/11/28 17:35:00 sam Exp $ + * $Id: parser.c,v 1.9 2002/12/18 14:17:10 sam Exp $ * * Authors: Christophe Massiot * Samuel Hocevar @@ -317,22 +317,22 @@ static void EndThread( vpar_thread_t *p_vpar ) vout_Request( p_vpar->p_fifo, p_vpar->p_vout, 0, 0, 0, 0 ); - msg_Dbg( p_vpar->p_fifo, "%d loops among %d sequence(s)", + msg_Dbg( p_vpar->p_fifo, "%ld loops among %ld sequence(s)", p_vpar->c_loops, p_vpar->c_sequences ); #ifdef HAVE_SYS_TIMES_H - msg_Dbg( p_vpar->p_fifo, "cpu usage (user: %d, system: %d)", + msg_Dbg( p_vpar->p_fifo, "cpu usage (user: %ld, system: %ld)", cpu_usage.tms_utime, cpu_usage.tms_stime ); #endif - msg_Dbg( p_vpar->p_fifo, "read %d frames/fields (I %d/P %d/B %d)", + msg_Dbg( p_vpar->p_fifo, "read %ld frames/fields (I %ld/P %ld/B %ld)", p_vpar->pc_pictures[I_CODING_TYPE] + p_vpar->pc_pictures[P_CODING_TYPE] + p_vpar->pc_pictures[B_CODING_TYPE], p_vpar->pc_pictures[I_CODING_TYPE], p_vpar->pc_pictures[P_CODING_TYPE], p_vpar->pc_pictures[B_CODING_TYPE] ); - msg_Dbg( p_vpar->p_fifo, "decoded %d frames/fields (I %d/P %d/B %d)", + msg_Dbg( p_vpar->p_fifo, "decoded %ld frames/fields (I %ld/P %ld/B %ld)", p_vpar->pc_decoded_pictures[I_CODING_TYPE] + p_vpar->pc_decoded_pictures[P_CODING_TYPE] + p_vpar->pc_decoded_pictures[B_CODING_TYPE], @@ -340,7 +340,7 @@ static void EndThread( vpar_thread_t *p_vpar ) p_vpar->pc_decoded_pictures[P_CODING_TYPE], p_vpar->pc_decoded_pictures[B_CODING_TYPE] ); msg_Dbg( p_vpar->p_fifo, - "read %d malformed frames/fields (I %d/P %d/B %d)", + "read %ld malformed frames/fields (I %ld/P %ld/B %ld)", p_vpar->pc_malformed_pictures[I_CODING_TYPE] + p_vpar->pc_malformed_pictures[P_CODING_TYPE] + p_vpar->pc_malformed_pictures[B_CODING_TYPE], diff --git a/modules/demux/asf/libasf.c b/modules/demux/asf/libasf.c index f6d55bbf03..4563637cb2 100644 --- a/modules/demux/asf/libasf.c +++ b/modules/demux/asf/libasf.c @@ -2,7 +2,7 @@ * libasf.c : ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: libasf.c,v 1.8 2002/12/06 16:34:06 sam Exp $ + * $Id: libasf.c,v 1.9 2002/12/18 14:17:10 sam Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -353,10 +353,11 @@ int ASF_ReadObject_Index( input_thread_t *p_input, msg_Dbg( p_input, "Read \"Index Object\" file_id:" GUID_FMT " index_entry_time_interval:"I64Fd" max_packet_count:%d " - "index_entry_count:%d", + "index_entry_count:%ld", GUID_PRINT( p_index->i_file_id ), + p_index->i_index_entry_time_interval, p_index->i_max_packet_count, - p_index->i_index_entry_count ); + (long int)p_index->i_index_entry_count ); #endif return( 1 ); } diff --git a/modules/demux/demuxdump.c b/modules/demux/demuxdump.c index 8abb779943..74f5459c68 100644 --- a/modules/demux/demuxdump.c +++ b/modules/demux/demuxdump.c @@ -2,7 +2,7 @@ * demuxdump.c : Pseudo demux module for vlc (dump raw stream) ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: demuxdump.c,v 1.1 2002/11/13 20:23:21 fenrir Exp $ + * $Id: demuxdump.c,v 1.2 2002/12/18 14:17:10 sam Exp $ * * Authors: Laurent Aimar * @@ -157,7 +157,7 @@ static void Desactivate ( vlc_object_t *p_this ) demux_sys_t *p_demux = (demux_sys_t*)p_input->p_demux_data; msg_Info( p_input, - "closing %s (%d Kbytes dumped)", + "closing %s ("I64Fd" Kbytes dumped)", p_demux->psz_name, p_demux->i_write / 1024 ); diff --git a/modules/demux/mp4/libmp4.c b/modules/demux/mp4/libmp4.c index 67984ceac2..7edb0ace14 100644 --- a/modules/demux/mp4/libmp4.c +++ b/modules/demux/mp4/libmp4.c @@ -2,7 +2,7 @@ * libmp4.c : LibMP4 library for mp4 module for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: libmp4.c,v 1.10 2002/12/06 16:34:06 sam Exp $ + * $Id: libmp4.c,v 1.11 2002/12/18 14:17:10 sam Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -1557,7 +1557,7 @@ int MP4_ReadBox_stdp( MP4_Stream_t *p_stream, MP4_Box_t *p_box ) #ifdef MP4_VERBOSE - msg_Dbg( p_stream->p_input, "Read Box: \"stdp\" entry-count %d", + msg_Dbg( p_stream->p_input, "Read Box: \"stdp\" entry-count "I64Fd, i_read / 2 ); #endif @@ -1602,7 +1602,7 @@ int MP4_ReadBox_padb( MP4_Stream_t *p_stream, MP4_Box_t *p_box ) #ifdef MP4_VERBOSE - msg_Dbg( p_stream->p_input, "Read Box: \"stdp\" entry-count %d", + msg_Dbg( p_stream->p_input, "Read Box: \"stdp\" entry-count "I64Fd, i_read / 2 ); #endif @@ -1661,7 +1661,7 @@ int MP4_ReadBox_elst( MP4_Stream_t *p_stream, MP4_Box_t *p_box ) #ifdef MP4_VERBOSE - msg_Dbg( p_stream->p_input, "Read Box: \"elst\" entry-count %d", + msg_Dbg( p_stream->p_input, "Read Box: \"elst\" entry-count "I64Fd, i_read / 2 ); #endif diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c index f56388a250..3a40ba0317 100644 --- a/modules/demux/ogg.c +++ b/modules/demux/ogg.c @@ -2,7 +2,7 @@ * ogg.c : ogg stream input module for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: ogg.c,v 1.14 2002/12/16 18:30:12 gbazin Exp $ + * $Id: ogg.c,v 1.15 2002/12/18 14:17:10 sam Exp $ * * Authors: Gildas Bazin * @@ -457,7 +457,7 @@ static void Ogg_DecodePacket( input_thread_t *p_input, if( p_stream->i_fourcc == VLC_FOURCC( 't','a','r','k' ) ) { /* FIXME: the biggest hack I've ever done */ - msg_Warn( p_input, "tark pts: %lli, granule: %i", + msg_Warn( p_input, "tark pts: "I64Fd", granule: "I64Fd, p_pes->i_pts, p_pes->i_dts ); msleep(10000); } diff --git a/modules/demux/wav/wav.c b/modules/demux/wav/wav.c index e4c8cc6773..1c7f2e7148 100644 --- a/modules/demux/wav/wav.c +++ b/modules/demux/wav/wav.c @@ -2,7 +2,7 @@ * wav.c : wav file input module for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: wav.c,v 1.7 2002/12/10 23:34:19 gbazin Exp $ + * $Id: wav.c,v 1.8 2002/12/18 14:17:10 sam Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -210,7 +210,7 @@ static int FindTag( input_thread_t *p_input, u32 i_tag ) i_id = GetDWLE( p_peek ); i_size = GetDWLE( p_peek + 4 ); - msg_Dbg( p_input, "FindTag: tag:%4.4s size:%d", &i_id, i_size ); + msg_Dbg( p_input, "FindTag: tag:%4.4s size:%d", (char*)&i_id, i_size ); if( i_id == i_tag ) { /* Yes, we have found the good tag */ diff --git a/modules/gui/gtk/display.c b/modules/gui/gtk/display.c index bf52c248c4..aea0438b90 100644 --- a/modules/gui/gtk/display.c +++ b/modules/gui/gtk/display.c @@ -2,7 +2,7 @@ * display.c: Gtk+ tools for main interface ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN - * $Id: display.c,v 1.5 2002/12/13 01:56:29 gbazin Exp $ + * $Id: display.c,v 1.6 2002/12/18 14:17:11 sam Exp $ * * Authors: Samuel Hocevar * Stéphane Borel @@ -288,7 +288,7 @@ void GtkHideToolbarText( vlc_object_t *p_this ) for( i_index = 0; i_index < list.i_count; i_index++ ) { - p_intf = (module_t *)list.p_values[i_index].p_object ; + p_intf = (intf_thread_t *)list.p_values[i_index].p_object ; if( strcmp( MODULE_STRING, p_intf->p_module->psz_object_name ) ) { diff --git a/modules/mux/mpeg/ps.c b/modules/mux/mpeg/ps.c index a435a425a4..7adcd7e2a5 100644 --- a/modules/mux/mpeg/ps.c +++ b/modules/mux/mpeg/ps.c @@ -2,7 +2,7 @@ * ps.c ***************************************************************************** * Copyright (C) 2001, 2002 VideoLAN - * $Id: ps.c,v 1.2 2002/12/15 23:39:41 fenrir Exp $ + * $Id: ps.c,v 1.3 2002/12/18 14:17:11 sam Exp $ * * Authors: Laurent Aimar * Eric Petit @@ -160,7 +160,7 @@ static int AddStream( sout_instance_t *p_sout, sout_input_t *p_input ) sout_mux_t *p_mux = (sout_mux_t*)p_sout->p_mux_data; ps_stream_t *p_stream; - msg_Dbg( p_sout, "adding input", p_sout ); + msg_Dbg( p_sout, "adding input" ); p_input->p_mux_data = (void*)p_stream = malloc( sizeof( ps_stream_t ) ); p_stream->i_ok = 0; switch( p_input->input_format.i_cat ) @@ -188,7 +188,7 @@ static int AddStream( sout_instance_t *p_sout, sout_input_t *p_input ) } p_stream->i_ok = 1; - msg_Dbg( p_sout, "adding input stream_id:0x%x [OK]", p_stream->i_stream_id, p_sout ); + msg_Dbg( p_sout, "adding input stream_id:0x%x [OK]", p_stream->i_stream_id ); return( 0 ); } diff --git a/src/audio_output/mixer.c b/src/audio_output/mixer.c index 88c4ceab35..d2f3a035b7 100644 --- a/src/audio_output/mixer.c +++ b/src/audio_output/mixer.c @@ -2,7 +2,7 @@ * mixer.c : audio output mixing operations ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: mixer.c,v 1.21 2002/12/06 10:10:39 sam Exp $ + * $Id: mixer.c,v 1.22 2002/12/18 14:17:11 sam Exp $ * * Authors: Christophe Massiot * @@ -229,7 +229,7 @@ static int MixBuffer( aout_instance_t * p_aout ) + mixer_nb_bytes)) ) { msg_Warn( p_aout, - "mixer start isn't output start (%d)", + "mixer start isn't output start ("I64Fd, i_nb_bytes - mixer_nb_bytes ); /* Round to the nearest multiple */ diff --git a/src/input/input.c b/src/input/input.c index 908dfe3005..76874031db 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -4,7 +4,7 @@ * decoders. ***************************************************************************** * Copyright (C) 1998-2002 VideoLAN - * $Id: input.c,v 1.219 2002/12/12 15:23:43 gbazin Exp $ + * $Id: input.c,v 1.220 2002/12/18 14:17:11 sam Exp $ * * Authors: Christophe Massiot * @@ -541,10 +541,10 @@ static void EndThread( input_thread_t * p_input ) struct tms cpu_usage; times( &cpu_usage ); - msg_Dbg( p_input, "%d loops consuming user: %d, system: %d", + msg_Dbg( p_input, "%ld loops consuming user: %ld, system: %ld", p_input->c_loops, cpu_usage.tms_utime, cpu_usage.tms_stime ); #else - msg_Dbg( p_input, "%d loops", p_input->c_loops ); + msg_Dbg( p_input, "%ld loops", p_input->c_loops ); #endif /* Free info structures */ diff --git a/src/input/input_ext-intf.c b/src/input/input_ext-intf.c index d37f16ba73..b9ccec159d 100644 --- a/src/input/input_ext-intf.c +++ b/src/input/input_ext-intf.c @@ -2,7 +2,7 @@ * input_ext-intf.c: services to the interface ***************************************************************************** * Copyright (C) 1998-2001 VideoLAN - * $Id: input_ext-intf.c,v 1.44 2002/12/06 16:34:08 sam Exp $ + * $Id: input_ext-intf.c,v 1.45 2002/12/18 14:17:11 sam Exp $ * * Authors: Christophe Massiot * @@ -277,7 +277,7 @@ void input_DumpStream( input_thread_t * p_input ) unsigned int i, j; #define S p_input->stream - msg_Dbg( p_input, "dumping stream ID 0x%x [OK:%d/D:%d]", S.i_stream_id, + msg_Dbg( p_input, "dumping stream ID 0x%x [OK:%ld/D:%ld]", S.i_stream_id, S.c_packets_read, S.c_packets_trashed ); if( S.b_seekable ) msg_Dbg( p_input, "seekable stream, position: "I64Fd"/"I64Fd" (%s/%s)", @@ -299,8 +299,8 @@ void input_DumpStream( input_thread_t * p_input ) for( j = 0; j < p_input->stream.pp_programs[i]->i_es_number; j++ ) { #define ES p_input->stream.pp_programs[i]->pp_es[j] - msg_Dbg( p_input, - "ES 0x%x, stream 0x%x, fourcc `%4.4s', %s [OK:%d/ERR:%d]", + msg_Dbg( p_input, "ES 0x%x, " + "stream 0x%x, fourcc `%4.4s', %s [OK:%ld/ERR:%ld]", ES->i_id, ES->i_stream_id, (char*)&ES->i_fourcc, ES->p_decoder_fifo != NULL ? "selected" : "not selected", ES->c_packets, ES->c_invalid_packets ); diff --git a/src/misc/threads.c b/src/misc/threads.c index 36c4d3d849..ff876f38f3 100644 --- a/src/misc/threads.c +++ b/src/misc/threads.c @@ -2,7 +2,7 @@ * threads.c : threads implementation for the VideoLAN client ***************************************************************************** * Copyright (C) 1999, 2000, 2001, 2002 VideoLAN - * $Id: threads.c,v 1.29 2002/12/14 19:19:08 gbazin Exp $ + * $Id: threads.c,v 1.30 2002/12/18 14:17:11 sam Exp $ * * Authors: Jean-Marc Dressler * Samuel Hocevar @@ -651,7 +651,7 @@ int __vlc_thread_create( vlc_object_t *p_this, char * psz_file, int i_line, p_this->b_thread = 1; msg_Dbg( p_this, "thread %d (%s) created at priority %d (%s:%d)", - p_this->thread_id, psz_name, i_priority, + (int)p_this->thread_id, psz_name, i_priority, psz_file, i_line ); vlc_mutex_unlock( &p_this->object_lock ); @@ -752,16 +752,17 @@ void __vlc_thread_join( vlc_object_t *p_this, char * psz_file, int i_line ) { #ifdef HAVE_STRERROR msg_Err( p_this, "thread_join(%d) failed at %s:%d (%s)", - p_this->thread_id, psz_file, i_line, strerror(i_ret) ); + (int)p_this->thread_id, psz_file, i_line, + strerror(i_ret) ); #else msg_Err( p_this, "thread_join(%d) failed at %s:%d", - p_this->thread_id, psz_file, i_line ); + (int)p_this->thread_id, psz_file, i_line ); #endif } else { msg_Dbg( p_this, "thread %d joined (%s:%d)", - p_this->thread_id, psz_file, i_line ); + (int)p_this->thread_id, psz_file, i_line ); } p_this->b_thread = 0; diff --git a/src/misc/variables.c b/src/misc/variables.c index 9ba88b853a..cb53053e3a 100644 --- a/src/misc/variables.c +++ b/src/misc/variables.c @@ -2,7 +2,7 @@ * variables.c: routines for object variables handling ***************************************************************************** * Copyright (C) 2002 VideoLAN - * $Id: variables.c,v 1.18 2002/12/14 19:34:06 gbazin Exp $ + * $Id: variables.c,v 1.19 2002/12/18 14:17:11 sam Exp $ * * Authors: Samuel Hocevar * @@ -497,7 +497,7 @@ int __var_Set( vlc_object_t *p_this, const char *psz_name, vlc_value_t val ) i_var = Lookup( p_this->p_vars, p_this->i_vars, psz_name ); if( i_var < 0 ) { - msg_Err( p_this, "variable %s has disappeared" ); + msg_Err( p_this, "variable %s has disappeared", psz_name ); vlc_mutex_unlock( &p_this->var_lock ); return VLC_ENOVAR; } diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index daae18aeb3..94a72bb810 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -5,7 +5,7 @@ * thread, and destroy a previously oppened video output thread. ***************************************************************************** * Copyright (C) 2000-2001 VideoLAN - * $Id: video_output.c,v 1.204 2002/12/18 08:08:29 gbazin Exp $ + * $Id: video_output.c,v 1.205 2002/12/18 14:17:11 sam Exp $ * * Authors: Vincent Seguin * @@ -477,7 +477,8 @@ static int InitThread( vout_thread_t *p_vout ) if( p_vout->chroma.p_module == NULL ) { msg_Err( p_vout, "no chroma module for %4.4s to %4.4s", - &p_vout->render.i_chroma, &p_vout->output.i_chroma ); + (char*)&p_vout->render.i_chroma, + (char*)&p_vout->output.i_chroma ); p_vout->pf_end( p_vout ); vlc_mutex_unlock( &p_vout->change_lock ); return VLC_EGENERIC;