/*****************************************************************************
- * common.h: h264 encoder
+ * osdep.h: h264 encoder
*****************************************************************************
* Copyright (C) 2007 x264 project
*
/*****************************************************************************
- * mc.h: h264 encoder library
+ * pixel.h: h264 encoder library
*****************************************************************************
* Copyright (C) 2003 Laurent Aimar
* $Id: pixel.h,v 1.1 2004/06/03 19:27:07 fenrir Exp $
int p6 = pack8to16(F1(l1,l2), F2(l0,l1,l2));
int p7 = pack8to16(F1(l0,l1), F2(lt,l0,l1));
int p8 = pack8to16(F1(lt,l0), F2(l0,lt,t0));
- int p9 = pack8to16(F2(t1,t0,lt), F2(t2,t1,t0 ));
- int p10 = pack8to16(F2(t3,t2,t1), F2(t4,t3,t2 ));
- int p11 = pack8to16(F2(t5,t4,t3), F2(t6,t5,t4 ));
+ int p9 = pack8to16(F2(t1,t0,lt), F2(t2,t1,t0));
+ int p10 = pack8to16(F2(t3,t2,t1), F2(t4,t3,t2));
+ int p11 = pack8to16(F2(t5,t4,t3), F2(t6,t5,t4));
SRC32(0,7)= pack16to32(p1,p2);
SRC32(0,6)= pack16to32(p2,p3);
SRC32(4,7)=SRC32(0,5)= pack16to32(p3,p4);
; uint8_t *src, int i_src_stride, int i_height )
;-----------------------------------------------------------------------------
cglobal x264_mc_copy_w4_mmx, 4,6
- cmp r4m, dword 4
+ cmp dword r4m, 4
lea r5, [r3*3]
lea r4, [r1*3]
je .end
movq [r0 + r2 + 0], mm0
movq [r0 + r2 + 8], mm1
.copy32:
- sub r2d, 32
- movq mm0, [r1 + r2 + 0]
- movq mm1, [r1 + r2 + 8]
- movq mm2, [r1 + r2 + 16]
- movq mm3, [r1 + r2 + 24]
- movq [r0 + r2 + 0], mm0
- movq [r0 + r2 + 8], mm1
- movq [r0 + r2 + 16], mm2
- movq [r0 + r2 + 24], mm3
+ sub r2d, 32
+ movq mm0, [r1 + r2 + 0]
+ movq mm1, [r1 + r2 + 8]
+ movq mm2, [r1 + r2 + 16]
+ movq mm3, [r1 + r2 + 24]
+ movq [r0 + r2 + 0], mm0
+ movq [r0 + r2 + 8], mm1
+ movq [r0 + r2 + 16], mm2
+ movq [r0 + r2 + 24], mm3
jg .copy32
REP_RET
movdqa xmm1, [r1 + r2 + 16]
movdqa [r0 + r2 + 16], xmm1
.copy64:
- sub r2d, 64
- movdqa xmm0, [r1 + r2 + 0]
- movdqa [r0 + r2 + 0], xmm0
- movdqa xmm1, [r1 + r2 + 16]
- movdqa [r0 + r2 + 16], xmm1
- movdqa xmm2, [r1 + r2 + 32]
- movdqa [r0 + r2 + 32], xmm2
- movdqa xmm3, [r1 + r2 + 48]
- movdqa [r0 + r2 + 48], xmm3
+ sub r2d, 64
+ movdqa xmm0, [r1 + r2 + 0]
+ movdqa [r0 + r2 + 0], xmm0
+ movdqa xmm1, [r1 + r2 + 16]
+ movdqa [r0 + r2 + 16], xmm1
+ movdqa xmm2, [r1 + r2 + 32]
+ movdqa [r0 + r2 + 32], xmm2
+ movdqa xmm3, [r1 + r2 + 48]
+ movdqa [r0 + r2 + 48], xmm3
jg .copy64
REP_RET
/*****************************************************************************
- * mc.h: h264 encoder library
+ * pixel.h: h264 encoder library
*****************************************************************************
* Copyright (C) 2003-2008 Laurent Aimar
*
else if( analysis.b_mbrd )
{
i_bskip_cost = ssd_mb( h );
-
/* 6 = minimum cavlc cost of a non-skipped MB */
- if( i_bskip_cost <= ((6 * analysis.i_lambda2 + 128) >> 8) )
- {
- h->mb.i_type = B_SKIP;
- x264_analyse_update_cache( h, &analysis );
- h->mb.b_skip_mc = 1;
- return;
- }
+ b_skip = h->mb.b_skip_mc = i_bskip_cost <= ((6 * analysis.i_lambda2 + 128) >> 8);
}
else if( !h->mb.b_direct_auto_write )
{
for( i=0; i<h->param.i_threads; i++ )
{
- // don't strictly have to wait for the other threads, but it's simpler than cancelling them
+ // don't strictly have to wait for the other threads, but it's simpler than canceling them
if( h->thread[i]->b_thread_active )
x264_pthread_join( h->thread[i]->thread_handle, NULL );
}
+++ /dev/null
-xyuv
-avc2avi
#define X264_CPU_ALTIVEC 0x000040 /* altivec */
#define X264_CPU_SSE3 0x000080 /* sse 3 */
#define X264_CPU_SSSE3 0x000100 /* ssse 3 */
-#define X264_CPU_CACHELINE_SPLIT 0x200 /* avoid memory loads that span the boder between two cachelines */
+#define X264_CPU_CACHELINE_SPLIT 0x200 /* avoid memory loads that span the border between two cachelines */
#define X264_CPU_CACHELINE_32 0x0400 /* size of a cacheline in bytes */
#define X264_CPU_CACHELINE_64 0x0800