From owner-svn-ports-all@FreeBSD.ORG Wed Jan 7 18:54:57 2015 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B6D941DA; Wed, 7 Jan 2015 18:54:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A12086682C; Wed, 7 Jan 2015 18:54:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t07IsvNc046500; Wed, 7 Jan 2015 18:54:57 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t07IstsE046488; Wed, 7 Jan 2015 18:54:55 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201501071854.t07IstsE046488@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 7 Jan 2015 18:54:55 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r376488 - in head/multimedia/libx264: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jan 2015 18:54:57 -0000 Author: sbruno Date: Wed Jan 7 18:54:54 2015 New Revision: 376488 URL: https://svnweb.freebsd.org/changeset/ports/376488 QAT: https://qat.redports.org/buildarchive/r376488/ Log: Pull in upstream commits to our libx264 to deal with the clang 3.5 -integrated-as defaults for ARMv6 compilation. Handling for koobs@ while he's on vacation. PR: 196591 Submitted by: mikael.urankar@gmail.com Approved by: mentor (implicit) Added: head/multimedia/libx264/files/patch-common_arm_asm.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_cpu-a.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_dct-a.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_deblock-a.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_mc-a.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_pixel-a.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_predict-a.S (contents, props changed) head/multimedia/libx264/files/patch-common_arm_quant-a.S (contents, props changed) Modified: head/multimedia/libx264/Makefile head/multimedia/libx264/files/patch-configure Modified: head/multimedia/libx264/Makefile ============================================================================== --- head/multimedia/libx264/Makefile Wed Jan 7 18:51:57 2015 (r376487) +++ head/multimedia/libx264/Makefile Wed Jan 7 18:54:54 2015 (r376488) @@ -5,7 +5,7 @@ PORTNAME= libx264 PORTVERSION= 0.${X264_BUILD}.${X264_REV} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= multimedia MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ \ http://samples.mplayerhq.hu/yuv4mpeg2/:pgo Added: head/multimedia/libx264/files/patch-common_arm_asm.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_asm.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,40 @@ +--- common/arm/asm.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/asm.S +@@ -40,6 +40,12 @@ + # define ELF @ + #endif + ++#if HAVE_AS_FUNC ++# define FUNC ++#else ++# define FUNC @ ++#endif ++ + .macro require8, val=1 + ELF .eabi_attribute 24, \val + .endm +@@ -49,17 +55,22 @@ ELF .eabi_attribute 25, \val + .endm + + .macro function name, export=1 ++ .macro endfunc ++ELF .size \name, . - \name ++FUNC .endfunc ++ .purgem endfunc ++ .endm + .align 2 + .if \export == 1 + .global EXTERN_ASM\name + ELF .hidden EXTERN_ASM\name + ELF .type EXTERN_ASM\name, %function +- .func EXTERN_ASM\name ++FUNC .func EXTERN_ASM\name + EXTERN_ASM\name: + .else + ELF .hidden \name + ELF .type \name, %function +- .func \name ++FUNC .func \name + \name: + .endif + .endm Added: head/multimedia/libx264/files/patch-common_arm_cpu-a.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_cpu-a.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,34 @@ +--- common/arm/cpu-a.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/cpu-a.S +@@ -33,7 +33,7 @@ + function x264_cpu_neon_test + vadd.i16 q0, q0, q0 + bx lr +-.endfunc ++endfunc + + // return: 0 on success + // 1 if counters were already enabled +@@ -49,14 +49,14 @@ function x264_cpu_enable_armv7_counter, + mov r2, #1 << 31 // enable cycle counter + mcr p15, 0, r2, c9, c12, 1 // write CNTENS + bx lr +-.endfunc ++endfunc + + function x264_cpu_disable_armv7_counter, export=0 + mrc p15, 0, r0, c9, c12, 0 // read PMNC + bic r0, r0, #1 // disable counters + mcr p15, 0, r0, c9, c12, 0 // write PMNC + bx lr +-.endfunc ++endfunc + + + .macro READ_TIME r +@@ -106,4 +106,4 @@ average_loop: + cmp r0, #10 + movgt r0, #0 + pop {r4-r6,pc} +-.endfunc ++endfunc Added: head/multimedia/libx264/files/patch-common_arm_dct-a.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_dct-a.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,161 @@ +--- common/arm/dct-a.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/dct-a.S +@@ -82,7 +82,7 @@ function x264_dct4x4dc_neon + vrhadd.s16 d3, d6, d7 + vst1.64 {d0-d3}, [r0,:128] + bx lr +-.endfunc ++endfunc + + function x264_idct4x4dc_neon + vld1.64 {d0-d3}, [r0,:128] +@@ -94,7 +94,7 @@ function x264_idct4x4dc_neon + HADAMARD 2, sumsub, d3, d2, d6, d7 + vst1.64 {d0-d3}, [r0,:128] + bx lr +-.endfunc ++endfunc + + + .macro DCT_1D d0 d1 d2 d3 d4 d5 d6 d7 +@@ -129,7 +129,7 @@ function x264_sub4x4_dct_neon + DCT_1D d4, d5, d6, d7, d0, d1, d2, d3 + vst1.64 {d4-d7}, [r0,:128] + bx lr +-.endfunc ++endfunc + + function x264_sub8x4_dct_neon, export=0 + vld1.64 {d0}, [r1,:64], r3 +@@ -165,7 +165,7 @@ function x264_sub8x4_dct_neon, export=0 + vst1.64 {d4-d5}, [r0,:128]! + vst1.64 {d6-d7}, [r0,:128]! + bx lr +-.endfunc ++endfunc + + function x264_sub8x8_dct_neon + push {lr} +@@ -174,7 +174,7 @@ function x264_sub8x8_dct_neon + bl x264_sub8x4_dct_neon + pop {lr} + b x264_sub8x4_dct_neon +-.endfunc ++endfunc + + function x264_sub16x16_dct_neon + push {lr} +@@ -195,7 +195,7 @@ function x264_sub16x16_dct_neon + bl x264_sub8x4_dct_neon + pop {lr} + b x264_sub8x4_dct_neon +-.endfunc ++endfunc + + + .macro DCT8_1D type +@@ -279,7 +279,7 @@ function x264_sub8x8_dct8_neon + vst1.64 {d24-d27}, [r0,:128]! + vst1.64 {d28-d31}, [r0,:128]! + bx lr +-.endfunc ++endfunc + + function x264_sub16x16_dct8_neon + push {lr} +@@ -294,7 +294,7 @@ function x264_sub16x16_dct8_neon + sub r1, r1, #FENC_STRIDE*8 - 8 + sub r2, r2, #FDEC_STRIDE*8 - 8 + b X(x264_sub8x8_dct8_neon) +-.endfunc ++endfunc + + + // First part of IDCT (minus final SUMSUB_BA) +@@ -336,7 +336,7 @@ function x264_add4x4_idct_neon + vst1.32 {d2[1]}, [r0,:32], r2 + vst1.32 {d2[0]}, [r0,:32], r2 + bx lr +-.endfunc ++endfunc + + function x264_add8x4_idct_neon, export=0 + vld1.64 {d0-d3}, [r1,:128]! +@@ -376,7 +376,7 @@ function x264_add8x4_idct_neon, export=0 + vst1.32 {d2}, [r0,:64], r2 + vst1.32 {d3}, [r0,:64], r2 + bx lr +-.endfunc ++endfunc + + function x264_add8x8_idct_neon + mov r2, #FDEC_STRIDE +@@ -384,7 +384,7 @@ function x264_add8x8_idct_neon + bl x264_add8x4_idct_neon + mov lr, ip + b x264_add8x4_idct_neon +-.endfunc ++endfunc + + function x264_add16x16_idct_neon + mov r2, #FDEC_STRIDE +@@ -401,7 +401,7 @@ function x264_add16x16_idct_neon + bl x264_add8x4_idct_neon + mov lr, ip + b x264_add8x4_idct_neon +-.endfunc ++endfunc + + + .macro IDCT8_1D type +@@ -498,7 +498,7 @@ function x264_add8x8_idct8_neon + vst1.64 {d6}, [r0,:64], r2 + vst1.64 {d7}, [r0,:64], r2 + bx lr +-.endfunc ++endfunc + + function x264_add16x16_idct8_neon + mov ip, lr +@@ -510,7 +510,7 @@ function x264_add16x16_idct8_neon + sub r0, r0, #8*FDEC_STRIDE-8 + mov lr, ip + b X(x264_add8x8_idct8_neon) +-.endfunc ++endfunc + + + function x264_add8x8_idct_dc_neon +@@ -562,7 +562,7 @@ function x264_add8x8_idct_dc_neon + vst1.64 {d6}, [r0,:64], r2 + vst1.64 {d7}, [r0,:64], r2 + bx lr +-.endfunc ++endfunc + + .macro ADD16x4_IDCT_DC dc + vld1.64 {d16-d17}, [r0,:128], r3 +@@ -610,7 +610,7 @@ function x264_add16x16_idct_dc_neon + ADD16x4_IDCT_DC d2 + ADD16x4_IDCT_DC d3 + bx lr +-.endfunc ++endfunc + + function x264_sub8x8_dct_dc_neon + mov r3, #FENC_STRIDE +@@ -658,7 +658,7 @@ function x264_sub8x8_dct_dc_neon + vpadd.s16 d0, d0, d1 + vst1.64 {d0}, [r0,:64] + bx lr +-.endfunc ++endfunc + + + function x264_zigzag_scan_4x4_frame_neon +@@ -671,4 +671,4 @@ function x264_zigzag_scan_4x4_frame_neon + vtbl.8 d7, {d2-d3}, d19 + vst1.64 {d4-d7}, [r0,:128] + bx lr +-.endfunc ++endfunc Added: head/multimedia/libx264/files/patch-common_arm_deblock-a.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_deblock-a.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,44 @@ +--- common/arm/deblock-a.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/deblock-a.S +@@ -142,7 +142,7 @@ function x264_deblock_v_luma_neon + + align_pop_regs + bx lr +-.endfunc ++endfunc + + function x264_deblock_h_luma_neon + h264_loop_filter_start +@@ -194,7 +194,7 @@ function x264_deblock_h_luma_neon + + align_pop_regs + bx lr +-.endfunc ++endfunc + + .macro h264_loop_filter_chroma + vdup.8 q11, r2 // alpha +@@ -255,7 +255,7 @@ function x264_deblock_v_chroma_neon + vst2.8 {d0, d1}, [r0,:128], r1 + + bx lr +-.endfunc ++endfunc + + function x264_deblock_h_chroma_neon + h264_loop_filter_start +@@ -303,7 +303,7 @@ function x264_deblock_h_chroma_neon + vst1.8 {d3}, [r0], r1 + + bx lr +-.endfunc ++endfunc + + function x264_deblock_strength_neon + ldr ip, [sp] +@@ -409,4 +409,4 @@ lists: + + vst1.8 {q8}, [r3,:128] @ bs[0] + bx lr +-.endfunc ++endfunc Added: head/multimedia/libx264/files/patch-common_arm_mc-a.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_mc-a.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,386 @@ +--- common/arm/mc-a.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/mc-a.S +@@ -50,7 +50,7 @@ function x264_prefetch_ref_arm + pld [r3, r1, lsl #1] + pld [r3, r2] + bx lr +-.endfunc ++endfunc + + // void prefetch_fenc( uint8_t *pix_y, intptr_t stride_y, + // uint8_t *pix_uv, intptr_t stride_uv, int mb_x ) +@@ -76,7 +76,7 @@ function x264_prefetch_fenc_arm + pld [ip] + pld [ip, r3] + pop {pc} +-.endfunc ++endfunc + + + // void *x264_memcpy_aligned( void *dst, const void *src, size_t n ) +@@ -85,7 +85,7 @@ function x264_memcpy_aligned_neon + movrel ip, memcpy_table + and r3, r3, #0xc + ldr pc, [ip, r3] +-.endfunc ++endfunc + + .macro MEMCPY_ALIGNED srcalign dstalign + function memcpy_aligned_\dstalign\()_\srcalign\()_neon, export=0 +@@ -127,7 +127,7 @@ function memcpy_aligned_\dstalign\()_\sr + vst1.64 {d0}, [r3,:64]! + .endif + bx lr +-.endfunc ++endfunc + .endm + + MEMCPY_ALIGNED 16, 16 +@@ -156,7 +156,7 @@ memzero_loop: + .endr + bgt memzero_loop + bx lr +-.endfunc ++endfunc + + + // void pixel_avg( uint8_t *dst, intptr_t dst_stride, +@@ -175,7 +175,7 @@ function x264_pixel_avg_\w\()x\h\()_neon + cmp ip, #0 + bge x264_pixel_avg_weight_w\w\()_add_add_neon + b x264_pixel_avg_weight_w\w\()_sub_add_neon // weight < 0 +-.endfunc ++endfunc + .endm + + AVGH 4, 2 +@@ -253,7 +253,7 @@ function x264_pixel_avg_weight_w4_\ext\( + vst1.32 {d1[0]}, [r0,:32], r1 + bgt 1b + pop {r4-r6,pc} +-.endfunc ++endfunc + + function x264_pixel_avg_weight_w8_\ext\()_neon, export=0 + load_weights_\ext +@@ -277,7 +277,7 @@ function x264_pixel_avg_weight_w8_\ext\( + vst1.64 {d3}, [r0,:64], r1 + bgt 1b + pop {r4-r6,pc} +-.endfunc ++endfunc + + function x264_pixel_avg_weight_w16_\ext\()_neon, export=0 + load_weights_\ext +@@ -297,7 +297,7 @@ function x264_pixel_avg_weight_w16_\ext\ + vst1.64 {d2-d3}, [r0,:128], r1 + bgt 1b + pop {r4-r6,pc} +-.endfunc ++endfunc + .endm + + AVG_WEIGHT add_add +@@ -316,7 +316,7 @@ function x264_pixel_avg_w4_neon, export= + vst1.32 {d1[0]}, [r0,:32], r1 + bgt x264_pixel_avg_w4_neon + pop {r4-r6,pc} +-.endfunc ++endfunc + + function x264_pixel_avg_w8_neon, export=0 + subs lr, lr, #4 +@@ -338,7 +338,7 @@ function x264_pixel_avg_w8_neon, export= + vst1.64 {d3}, [r0,:64], r1 + bgt x264_pixel_avg_w8_neon + pop {r4-r6,pc} +-.endfunc ++endfunc + + function x264_pixel_avg_w16_neon, export=0 + subs lr, lr, #4 +@@ -360,7 +360,7 @@ function x264_pixel_avg_w16_neon, export + vst1.64 {d6-d7}, [r0,:128], r1 + bgt x264_pixel_avg_w16_neon + pop {r4-r6,pc} +-.endfunc ++endfunc + + + function x264_pixel_avg2_w4_neon +@@ -379,7 +379,7 @@ avg2_w4_loop: + vst1.32 {d1[0]}, [r0,:32], r1 + bgt avg2_w4_loop + pop {pc} +-.endfunc ++endfunc + + function x264_pixel_avg2_w8_neon + ldr ip, [sp, #4] +@@ -397,7 +397,7 @@ avg2_w8_loop: + vst1.64 {d1}, [r0,:64], r1 + bgt avg2_w8_loop + pop {pc} +-.endfunc ++endfunc + + function x264_pixel_avg2_w16_neon + ldr ip, [sp, #4] +@@ -415,7 +415,7 @@ avg2_w16_loop: + vst1.64 {d4-d5}, [r0,:128], r1 + bgt avg2_w16_loop + pop {pc} +-.endfunc ++endfunc + + function x264_pixel_avg2_w20_neon + ldr ip, [sp, #4] +@@ -438,7 +438,7 @@ avg2_w20_loop: + vst1.32 {d6[0]}, [r0,:32], r1 + bgt avg2_w20_loop + pop {pc} +-.endfunc ++endfunc + + + .macro weight_prologue type +@@ -499,7 +499,7 @@ weight20_loop: + vst1.32 {d20[1]}, [r0,:32], r1 + bgt weight20_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w16_neon + weight_prologue full +@@ -531,7 +531,7 @@ weight16_loop: + vst1.8 {d18-d19}, [r0,:128], r1 + bgt weight16_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w8_neon + weight_prologue full +@@ -553,7 +553,7 @@ weight8_loop: + vst1.8 {d18}, [r0,:64], r1 + bgt weight8_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w4_neon + weight_prologue full +@@ -572,7 +572,7 @@ weight4_loop: + vst1.32 {d16[1]}, [r0,:32], r1 + bgt weight4_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w20_nodenom_neon + weight_prologue nodenom +@@ -609,7 +609,7 @@ weight20_nodenom_loop: + vst1.32 {d20[1]}, [r0,:32], r1 + bgt weight20_nodenom_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w16_nodenom_neon + weight_prologue nodenom +@@ -637,7 +637,7 @@ weight16_nodenom_loop: + vst1.8 {d18-d19}, [r0,:128], r1 + bgt weight16_nodenom_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w8_nodenom_neon + weight_prologue nodenom +@@ -657,7 +657,7 @@ weight8_nodenom_loop: + vst1.8 {d17}, [r0,:64], r1 + bgt weight8_nodenom_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + function x264_mc_weight_w4_nodenom_neon + weight_prologue nodenom +@@ -675,7 +675,7 @@ weight4_nodenom_loop: + vst1.32 {d16[1]}, [r0,:32], r1 + bgt weight4_nodenom_loop + pop {r4-r5,pc} +-.endfunc ++endfunc + + .macro weight_simple_prologue + push {lr} +@@ -699,7 +699,7 @@ weight20_\name\()_loop: + vst1.8 {d19-d21}, [r0,:64], r1 + bgt weight20_\name\()_loop + pop {pc} +-.endfunc ++endfunc + + function x264_mc_weight_w16_\name\()_neon + weight_simple_prologue +@@ -713,7 +713,7 @@ weight16_\name\()_loop: + vst1.8 {d18-d19}, [r0,:128], r1 + bgt weight16_\name\()_loop + pop {pc} +-.endfunc ++endfunc + + function x264_mc_weight_w8_\name\()_neon + weight_simple_prologue +@@ -726,7 +726,7 @@ weight8_\name\()_loop: + vst1.8 {d17}, [r0,:64], r1 + bgt weight8_\name\()_loop + pop {pc} +-.endfunc ++endfunc + + function x264_mc_weight_w4_\name\()_neon + weight_simple_prologue +@@ -739,7 +739,7 @@ weight4_\name\()_loop: + vst1.32 {d17[0]}, [r0,:32], r1 + bgt weight4_\name\()_loop + pop {pc} +-.endfunc ++endfunc + .endm + + weight_simple offsetadd, vqadd.u8 +@@ -761,7 +761,7 @@ copy_w4_loop: + vst1.32 {d3[0]}, [r0,:32], r1 + bgt copy_w4_loop + bx lr +-.endfunc ++endfunc + + function x264_mc_copy_w8_neon + ldr ip, [sp] +@@ -777,7 +777,7 @@ copy_w8_loop: + vst1.32 {d3}, [r0,:64], r1 + bgt copy_w8_loop + bx lr +-.endfunc ++endfunc + + function x264_mc_copy_w16_neon + ldr ip, [sp] +@@ -793,7 +793,7 @@ copy_w16_loop: + vst1.32 {d6-d7}, [r0,:128], r1 + bgt copy_w16_loop + bx lr +-.endfunc ++endfunc + + function x264_mc_copy_w16_aligned_neon + ldr ip, [sp] +@@ -809,7 +809,7 @@ copy_w16_aligned_loop: + vst1.32 {d6-d7}, [r0,:128], r1 + bgt copy_w16_aligned_loop + bx lr +-.endfunc ++endfunc + + + // void x264_mc_chroma_neon( uint8_t *dst, intptr_t i_dst_stride, +@@ -1159,7 +1159,7 @@ mc_chroma_w8: + vpop {d8-d11} + pop {r4-r8, pc} + +-.endfunc ++endfunc + + + // hpel_filter_v( uint8_t *dst, uint8_t *src, int16_t *buf, intptr_t stride, int width ) +@@ -1200,7 +1200,7 @@ filter_v_loop: + vst1.64 {d0-d1}, [r0,:128]! + bgt filter_v_loop + pop {pc} +-.endfunc ++endfunc + + // hpel_filter_c( uint8_t *dst, int16_t *buf, int width ); + function x264_hpel_filter_c_neon +@@ -1285,7 +1285,7 @@ filter_c_loop: + vst1.64 {d30-d31}, [r0,:128]! + bgt filter_c_loop + bx lr +-.endfunc ++endfunc + + // hpel_filter_h( uint8_t *dst, uint8_t *src, int width ); + function x264_hpel_filter_h_neon +@@ -1372,7 +1372,7 @@ filter_h_loop: + vst1.64 {d6-d7}, [r0,:128]! + bgt filter_h_loop + bx lr +-.endfunc ++endfunc + + + // frame_init_lowres_core( uint8_t *src0, uint8_t *dst0, uint8_t *dsth, uint8_t *dstv, +@@ -1464,7 +1464,7 @@ lowres_xloop_end: + + vpop {d8-d15} + pop {r4-r10,pc} +-.endfunc ++endfunc + + function x264_load_deinterleave_chroma_fdec_neon + mov ip, #FDEC_STRIDE/2 +@@ -1477,7 +1477,7 @@ function x264_load_deinterleave_chroma_f + bgt 1b + + bx lr +-.endfunc ++endfunc + + function x264_load_deinterleave_chroma_fenc_neon + mov ip, #FENC_STRIDE/2 +@@ -1490,7 +1490,7 @@ function x264_load_deinterleave_chroma_f + bgt 1b + + bx lr +-.endfunc ++endfunc + + function x264_plane_copy_deinterleave_neon + push {r4-r7, lr} +@@ -1516,7 +1516,7 @@ block: + bgt block + + pop {r4-r7, pc} +-.endfunc ++endfunc + + function x264_plane_copy_deinterleave_rgb_neon + push {r4-r8, r10, r11, lr} +@@ -1568,7 +1568,7 @@ block4: + bgt block4 + + pop {r4-r8, r10, r11, pc} +-.endfunc ++endfunc + + function x264_plane_copy_interleave_neon + push {r4-r7, lr} +@@ -1595,7 +1595,7 @@ blocki: + bgt blocki + + pop {r4-r7, pc} +-.endfunc ++endfunc + + function x264_store_interleave_chroma_neon + push {lr} +@@ -1609,4 +1609,4 @@ function x264_store_interleave_chroma_ne + bgt 1b + + pop {pc} +-.endfunc ++endfunc Added: head/multimedia/libx264/files/patch-common_arm_pixel-a.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_pixel-a.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,275 @@ +--- common/arm/pixel-a.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/pixel-a.S +@@ -29,10 +29,12 @@ + .section .rodata + .align 4 + +-.rept 16 .byte 0xff ++.rept 16 ++ .byte 0xff + .endr + mask_ff: +-.rept 16 .byte 0 ++.rept 16 ++ .byte 0 + .endr + + mask_ac4: +@@ -60,7 +62,7 @@ function x264_pixel_sad_4x\h\()_armv6 + .endr + usada8 r0, r6, lr, ip + pop {r4-r6,pc} +-.endfunc ++endfunc + .endm + + SAD4_ARMV6 4 +@@ -137,7 +139,7 @@ function x264_pixel_sad\name\()_\w\()x\h + vpaddl.u16 d0, d0 + vmov.u32 r0, d0[0] + bx lr +-.endfunc ++endfunc + .endm + + SAD_FUNC 4, 4 +@@ -222,7 +224,7 @@ function x264_pixel_sad_aligned_\w\()x\h + vpaddl.u16 d0, d0 + vmov.u32 r0, d0[0] + bx lr +-.endfunc ++endfunc + .endm + + SAD_FUNC_DUAL 8, 4 +@@ -368,7 +370,7 @@ function x264_pixel_sad_x\x\()_\w\()x\h\ + vst1.32 {d0-d1}, [r7] + .endif + pop {r6-r7,pc} +-.endfunc ++endfunc + .endm + + SAD_X_FUNC 3, 4, 4 +@@ -477,7 +479,7 @@ function x264_pixel_ssd_\w\()x\h\()_neon + vpadd.s32 d0, d0, d0 + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + .endm + + SSD_FUNC 4, 4 +@@ -517,7 +519,7 @@ function x264_pixel_var_8x8_neon + vld1.64 {d26}, [r0,:64], r1 + VAR_SQR_SUM q2, q10, q15, d26 + b x264_var_end +-.endfunc ++endfunc + + function x264_pixel_var_8x16_neon + vld1.64 {d16}, [r0,:64], r1 +@@ -549,7 +551,7 @@ function x264_pixel_var_8x16_neon + 2: + VAR_SQR_SUM q2, q13, q15, d22 + b x264_var_end +-.endfunc ++endfunc + + function x264_pixel_var_16x16_neon + vld1.64 {d16-d17}, [r0,:128], r1 +@@ -573,7 +575,7 @@ var16_loop: + VAR_SQR_SUM q1, q12, q14, d18 + VAR_SQR_SUM q2, q13, q15, d19 + bgt var16_loop +-.endfunc ++endfunc + + function x264_var_end, export=0 + vpaddl.u16 q8, q14 +@@ -588,7 +590,7 @@ function x264_var_end, export=0 + + vmov r0, r1, d0 + bx lr +-.endfunc ++endfunc + + .macro DIFF_SUM diff da db lastdiff + vld1.64 {\da}, [r0,:64], r1 +@@ -633,7 +635,7 @@ function x264_pixel_var2_8x8_neon + mul r0, r0, r0 + sub r0, r1, r0, lsr #6 + bx lr +-.endfunc ++endfunc + + function x264_pixel_var2_8x16_neon + vld1.64 {d16}, [r0,:64], r1 +@@ -677,7 +679,7 @@ function x264_pixel_var2_8x16_neon + mul r0, r0, r0 + sub r0, r1, r0, lsr #7 + bx lr +-.endfunc ++endfunc + + .macro LOAD_DIFF_8x4 q0 q1 q2 q3 + vld1.32 {d1}, [r2], r3 +@@ -714,7 +716,7 @@ function x264_pixel_satd_4x4_neon + HORIZ_ADD d0, d0, d1 + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + + function x264_pixel_satd_4x8_neon + vld1.32 {d1[]}, [r2], r3 +@@ -741,7 +743,7 @@ function x264_pixel_satd_4x8_neon + vsubl.u8 q3, d6, d7 + SUMSUB_AB q10, q11, q2, q3 + b x264_satd_4x8_8x4_end_neon +-.endfunc ++endfunc + + function x264_pixel_satd_8x4_neon + vld1.64 {d1}, [r2], r3 +@@ -758,7 +760,7 @@ function x264_pixel_satd_8x4_neon + vld1.64 {d6}, [r0,:64], r1 + vsubl.u8 q3, d6, d7 + SUMSUB_AB q10, q11, q2, q3 +-.endfunc ++endfunc + + function x264_satd_4x8_8x4_end_neon, export=0 + vadd.s16 q0, q8, q10 +@@ -785,7 +787,7 @@ function x264_satd_4x8_8x4_end_neon, exp + HORIZ_ADD d0, d0, d1 + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + + function x264_pixel_satd_8x8_neon + mov ip, lr +@@ -799,7 +801,7 @@ function x264_pixel_satd_8x8_neon + mov lr, ip + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + + function x264_pixel_satd_8x16_neon + vpush {d8-d11} +@@ -821,7 +823,7 @@ function x264_pixel_satd_8x16_neon + mov lr, ip + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + + function x264_satd_8x8_neon, export=0 + LOAD_DIFF_8x4 q8, q9, q10, q11 +@@ -841,7 +843,7 @@ function x264_satd_8x8_neon, export=0 + SUMSUB_AB q9, q11, q1, q3 + vld1.64 {d0}, [r0,:64], r1 + vsubl.u8 q15, d0, d1 +-.endfunc ++endfunc + + // one vertical hadamard pass and two horizontal + function x264_satd_8x4v_8x8h_neon, export=0 +@@ -870,7 +872,7 @@ function x264_satd_8x4v_8x8h_neon, expor + vmax.s16 q14, q8, q10 + vmax.s16 q15, q9, q11 + bx lr +-.endfunc ++endfunc + + function x264_pixel_satd_16x8_neon + vpush {d8-d11} +@@ -892,7 +894,7 @@ function x264_pixel_satd_16x8_neon + mov lr, ip + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + + function x264_pixel_satd_16x16_neon + vpush {d8-d11} +@@ -926,7 +928,7 @@ function x264_pixel_satd_16x16_neon + mov lr, ip + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc + + function x264_satd_16x4_neon, export=0 + vld1.64 {d2-d3}, [r2], r3 +@@ -950,7 +952,7 @@ function x264_satd_16x4_neon, export=0 + SUMSUB_AB q2, q3, q10, q11 + SUMSUB_ABCD q8, q10, q9, q11, q0, q2, q1, q3 + b x264_satd_8x4v_8x8h_neon +-.endfunc ++endfunc + + + function x264_pixel_sa8d_8x8_neon +@@ -963,7 +965,7 @@ function x264_pixel_sa8d_8x8_neon + add r0, r0, #1 + lsr r0, r0, #1 + bx lr +-.endfunc ++endfunc + + function x264_pixel_sa8d_16x16_neon + vpush {d8-d11} +@@ -995,7 +997,7 @@ function x264_pixel_sa8d_16x16_neon + add r0, r0, #1 + lsr r0, r0, #1 + bx lr +-.endfunc ++endfunc + + .macro HADAMARD4_V r1, r2, r3, r4, t1, t2, t3, t4 + SUMSUB_ABCD \t1, \t2, \t3, \t4, \r1, \r2, \r3, \r4 +@@ -1058,7 +1060,7 @@ function x264_sa8d_8x8_neon, export=0 + vadd.i16 q8, q8, q9 + vadd.i16 q9, q10, q11 + bx lr +-.endfunc ++endfunc + + + .macro HADAMARD_AC w h +@@ -1094,7 +1096,7 @@ function x264_pixel_hadamard_ac_\w\()x\h + lsr r0, r0, #1 + lsr r1, r1, #2 + bx lr +-.endfunc ++endfunc + .endm + + HADAMARD_AC 8, 8 +@@ -1189,7 +1191,7 @@ function x264_hadamard_ac_8x8_neon, expo + vadd.s16 q2, q2, q14 + vpadal.u16 q5, q2 + bx lr +-.endfunc ++endfunc + + + .macro SSIM_ITER n ssa s12 ssb lastssa lasts12 lastssb da db dnext +@@ -1243,7 +1245,7 @@ function x264_pixel_ssim_4x4x2_core_neon + + vst4.32 {d0-d3}, [ip] + bx lr +-.endfunc ++endfunc + + // FIXME: see about doing 16x16 -> 32 bit multiplies for s1/s2 + function x264_pixel_ssim_end4_neon +@@ -1314,4 +1316,4 @@ ssim_skip: + vpadd.f32 d0, d0, d0 + vmov.32 r0, d0[0] + bx lr +-.endfunc ++endfunc Added: head/multimedia/libx264/files/patch-common_arm_predict-a.S ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/libx264/files/patch-common_arm_predict-a.S Wed Jan 7 18:54:54 2015 (r376488) @@ -0,0 +1,242 @@ +--- common/arm/predict-a.S.orig 2014-08-27 20:45:08 UTC ++++ common/arm/predict-a.S +@@ -77,7 +77,7 @@ function x264_predict_4x4_h_armv6 + add ip, ip, ip, lsl #16 + str ip, [r0, #3*FDEC_STRIDE] + bx lr +-.endfunc ++endfunc + + function x264_predict_4x4_v_armv6 + ldr r1, [r0, #0 - 1 * FDEC_STRIDE] +@@ -86,7 +86,7 @@ function x264_predict_4x4_v_armv6 + str r1, [r0, #0 + 2 * FDEC_STRIDE] + str r1, [r0, #0 + 3 * FDEC_STRIDE] + bx lr +-.endfunc ++endfunc + + function x264_predict_4x4_dc_armv6 + mov ip, #0 +@@ -109,7 +109,7 @@ function x264_predict_4x4_dc_armv6 + str r1, [r0, #2*FDEC_STRIDE] + str r1, [r0, #3*FDEC_STRIDE] + bx lr +-.endfunc ++endfunc + + function x264_predict_4x4_dc_top_neon *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***