Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, May 06, 2015 at 05:18:15PM +0800, 周晓勇 wrote: -原始邮件- 发件人: Michael Niedermayer mich...@niedermayer.cc 发送时间: 2015年5月6日 星期三 收件人: FFmpeg development discussions and patches ffmpeg-devel@ffmpeg.org 抄送: gaoxiang gaoxi...@loongson.cn, 孟小甫 mengxia...@loongson.cn 主题: Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse On Tue, May 05, 2015 at 08:06:57PM +0200, Michael Niedermayer wrote: On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? For the record, i confirm to have recived one loongson computer: according to /proc/cpuinfo, 4 core system type : lst-loongson3-eva machine : Unknown processor : 0 cpu model : ICT Loongson-3A V0.5 FPU V0.1 BogoMIPS: 717.28 ... with 500gb 7200rpm WD Caviar Blue HDD 4gb memory it seems fate does not pass ./configure --enable-gpl --cc='ccache gcc' --enable-pthreads --samples=/home/loongson/fate/ --enable-nonfree --enable-version3 --assert-level=2 --cpu=loongson3a gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) Checkout the enclosure, you may need ccache rpms installed before do the configure. i installed it with yum install ccache is there a problem with the ccache installed this way ? also, is it possible to upgrade the distro on this box ? fedora 19 has reached end of life in 2015-01-06 Thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Its not that you shouldnt use gotos but rather that you should write readable code and code with gotos often but not always is less readable signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? For the record, i confirm to have recived one loongson computer: according to /proc/cpuinfo, 4 core system type : lst-loongson3-eva machine : Unknown processor : 0 cpu model : ICT Loongson-3A V0.5 FPU V0.1 BogoMIPS: 717.28 ... with 500gb 7200rpm WD Caviar Blue HDD 4gb memory Thanks ! [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Those who are too smart to engage in politics are punished by being governed by those who are dumber. -- Plato signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Tue, May 05, 2015 at 08:06:57PM +0200, Michael Niedermayer wrote: On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? For the record, i confirm to have recived one loongson computer: according to /proc/cpuinfo, 4 core system type : lst-loongson3-eva machine : Unknown processor : 0 cpu model : ICT Loongson-3A V0.5 FPU V0.1 BogoMIPS: 717.28 ... with 500gb 7200rpm WD Caviar Blue HDD 4gb memory it seems fate does not pass ./configure --enable-gpl --cc='ccache gcc' --enable-pthreads --samples=/home/loongson/fate/ --enable-nonfree --enable-version3 --assert-level=2 --cpu=loongson3a gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) tested with git master no additional patches applied do you have patch(es) which fix this ? make: *** [fate-acodec-mp2] Error 1 make: *** [fate-acodec-mp2fixed] Error 1 make: *** [fate-acodec-g723_1] Error 136 make: *** [fate-acodec-ra144] Error 136 make: *** [fate-acodec-roqaudio] Error 136 make: *** [fate-vsynth3-flv] Error 1 make: *** [fate-vsynth3-mpeg1] Error 136 make: *** [fate-vsynth3-mpeg1b] Error 136 make: *** [fate-vsynth3-mpeg2] Error 1 make: *** [fate-vsynth3-mpeg2-idct-int] Error 1 make: *** [fate-vsynth3-mpeg2-ilace] Error 1 make: *** [fate-vsynth3-mpeg2-thread-ivlc] Error 1 make: *** [fate-vsynth3-mpeg2-ivlc-qprd] Error 1 make: *** [fate-vsynth3-mpeg2-thread] Error 1 make: *** [fate-vsynth3-mpeg4-rc] Error 136 make: *** [fate-vsynth3-mpeg4-qprd] Error 1 make: *** [fate-vsynth3-mpeg4-qpel] Error 1 make: *** [fate-vsynth3-msmpeg4] Error 136 make: *** [fate-vsynth3-msmpeg4v2] Error 1 make: *** [fate-vsynth3-wmv1] Error 136 make: *** [fate-vsynth3-wmv2] Error 1 make: *** [fate-lavf-avi] Error 136 make: *** [fate-lavf-asf] Error 1 make: *** [fate-lavf-ffm] Error 136 make: *** [fate-lavf-flv_fmt] Error 136 make: *** [fate-lavf-mkv] Error 136 make: *** [fate-lavf-ismv] Error 136 make: *** [fate-lavf-gxf] Error 136 make: *** [fate-lavf-mov] Error 136 make: *** [fate-lavf-mpg] Error 136 make: *** [fate-lavf-mxf] Error 136 make: *** [fate-lavf-nut] Error 1 make: *** [fate-lavf-rm] Error 136 make: *** [fate-lavf-swf] Error 136 make: *** [fate-lavf-ts] Error 136 make: *** [fate-lavf-wtv] Error 1 make: *** [fate-vsynth_lena-mpeg1] Error 136 make: *** [fate-vsynth_lena-mpeg2] Error 136 make: *** [fate-vsynth_lena-mpeg4-rc] Error 136 make: *** [fate-vsynth_lena-mpeg4-adv] Error 136 make: *** [fate-vsynth_lena-mpeg4-qprd] Error 136 make: *** [fate-vsynth_lena-mpeg4-adap] Error 136 make: *** [fate-vsynth_lena-mpeg4-qpel] Error 136 make: *** [fate-vsynth_lena-mpeg4-error] Error 136 make: *** [fate-vsynth_lena-mpeg4-nr] Error 136 make: *** [fate-vsynth_lena-mpeg4-nsse] Error 136 make: *** [fate-vsynth_lena-msmpeg4] Error 136 make: *** [fate-vsynth_lena-msmpeg4v2] Error 136 make: *** [fate-vsynth_lena-rv20] Error 136 make: *** [fate-vsynth_lena-snow] Error 136 make: *** [fate-vsynth_lena-snow-hpel] Error 136 make: *** [fate-vsynth_lena-snow-ll] Error 136 make: *** [fate-vsynth_lena-svq1] Error 136 make: *** [fate-vsynth_lena-wmv1] Error 136 make: *** [fate-vsynth_lena-wmv2] Error 136 make: *** [fate-ac3-fixed-encode] Error 1 make: *** [fate-filter-mcdeint-fast] Error 136 make: *** [fate-gapless-mp3] Error 1 make: *** [fate-musepack7] Error 1 make: *** [fate-g723_1-dec-3] Error 1 make: *** [fate-g723_1-dec-5] Error 1 make: *** [fate-g723_1-dec-6] Error 1 make: *** [fate-g723_1-dec-7] Error 1 make: *** [fate-g723_1-dec-8] Error 1 make: *** [fate-wmavoice-7k] Error 1 make: *** [fate-wmavoice-11k] Error 1 make: *** [fate-wmavoice-19k] Error 1 make: *** [fate-amrnb-4k75] Error 1 make: *** [fate-amrnb-5k15] Error 1 make: *** [fate-amrnb-5k9] Error 1 make: *** [fate-amrnb-6k7] Error 1 make: *** [fate-amrnb-7k4] Error 1 make: *** [fate-amrnb-7k95] Error 1 make: *** [fate-amrnb-10k2] Error 1 make: *** [fate-amrnb-12k2] Error 1 make: *** [fate-amrwb-8k85] Error 1 make: *** [fate-amrwb-6k60] Error 1 make: *** [fate-amrwb-12k65] Error 1 make: *** [fate-amrwb-14k25] Error 1 make: *** [fate-amrwb-15k85] Error 1 make: *** [fate-amrwb-18k25] Error 1 make: *** [fate-amrwb-19k85] Error 1 make: *** [fate-amrwb-23k05] Error 1 make: *** [fate-opus-testvector01] Error 1 make: *** [fate-opus-testvector05] Error 136 make: *** [fate-opus-testvector06] Error 136 make: *** [fate-opus-testvector07] Error 136 make: ***
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Sat, Apr 25, 2015 at 01:15:11PM +0200, Michael Niedermayer wrote: On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China [...] @@ -3717,6 +3719,16 @@ case $arch in ;; mips*|IP*) arch=mips +_cpuinfo=cat /proc/cpuinfo +pname=$($_cpuinfo | grep 'model' | cut -d ':' -f 2 | head -n 1) +case $pname in +*Loongson-3A*) +cpu=loongson3a +;; +*Loongson-3B*) +cpu=loongson3a +;; +esac ;; parisc*|hppa*) arch=parisc this is not possible /proc/cpuinfo doesnt always exist and its not correct for cross compiling autodetection should also be rather simple as it seems to fail linking with the wrong flags [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Mon, Apr 27, 2015 at 10:58:11AM +0800, 周晓勇 wrote: The imgtec's msa optimization had changed the Makefile earlier than me, it's ok now. -原始邮件- 发件人: Michael Niedermayer mich...@niedermayer.cc 发送时间: 2015年4月25日 星期六 收件人: FFmpeg development discussions and patches ffmpeg-devel@ffmpeg.org 抄送: gaoxiang gaoxi...@loongson.cn, 孟小甫 mengxia...@loongson.cn 主题: Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Makefile |2 +- arch.mak |1 + libavcodec/mips/Makefile |2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) 26e64031017485302c85e184adcc941a26889962 0004-makefile-add-Loongson-3-support.patch From aae2e408d57d79aac8760b03eac98b03e04451b1 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Wed, 15 Apr 2015 20:26:31 +0800 Subject: [PATCH 04/11] makefile: add Loongson-3 support doesnt apply cleanly: Applying: makefile: add Loongson-3 support Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merging libavcodec/mips/Makefile CONFLICT (content): Merge conflict in libavcodec/mips/Makefile Auto-merging arch.mak CONFLICT (content): Merge conflict in arch.mak Auto-merging Makefile CONFLICT (content): Merge conflict in Makefile Failed to merge in the changes. Patch failed at 0001 makefile: add Loongson-3 support [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you think the mosad wants you dead since a long time then you are either wrong or dead since a long time. -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China Makefile |2 +- arch.mak |1 + 2 files changed, 2 insertions(+), 1 deletion(-) 56a7923134f0c318fd2bc51f1276ce9433da582e 0001-makefile-add-Loongson-3-support.patch From fd0c14940e721a5568d0a161e75b8ef30f29f536 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Mon, 27 Apr 2015 10:40:29 +0800 Subject: [PATCH] makefile: add Loongson-3 support patch applied [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Many things microsoft did are stupid, but not doing something just because microsoft did it is even more stupid. If everything ms did were stupid they would be bankrupt already. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Sun, Apr 26, 2015 at 11:38:10AM +0800, 周晓勇 wrote: HAVE_LOONGSON is insteaded by HAVE_LOONGSON3. Even Loongson-2E and 2F support Loongson SIMD instructs but have low performance for decoding. We plan to fucus on optimizing Loongson-3A1000, 3B1500 and 3A1500, and modify the configure file to support Loongson-2 series later by adding HAVE_LOONGSON2. ok, applied patch 0003-avcodec-optimize-mathops-for-Loongson-3-v1.patch thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 1 Used only once- Some unspecified defect prevented a second use In good condition - Can be repaird by experienced expert As is - You wouldnt want it even if you were payed for it, if you knew ... signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
HAVE_LOONGSON is insteaded by HAVE_LOONGSON3. Even Loongson-2E and 2F support Loongson SIMD instructs but have low performance for decoding. We plan to fucus on optimizing Loongson-3A1000, 3B1500 and 3A1500, and modify the configure file to support Loongson-2 series later by adding HAVE_LOONGSON2. 在 2015-04-25 19:41:46,Michael Niedermayer mich...@niedermayer.cc 写道: On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- [...] aacsbr_mips.h |4 ++-- iirfilter_mips.c |4 mpegaudiodsp_mips_float.c |6 ++ sbrdsp_mips.c |4 4 files changed, 16 insertions(+), 2 deletions(-) 2ee4cc1afabace5d2b6fa52ea91b211187cc18f0 0002-avcodec-mips-disable-assembly-not-supported-for-Loon.patch From 3488470e6099444ed5d9cd75c181ce69d824267f Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Wed, 15 Apr 2015 20:18:15 +0800 Subject: [PATCH 02/11] avcodec/mips: disable assembly not supported for Loongson-3 applied [...] mathops.h |3 ++ mips/mathops.h | 78 +++-- 2 files changed, 73 insertions(+), 8 deletions(-) 001ca979230cbffc83a1004d01c1b9d7a66f1577 0003-avcodec-optimize-mathops-for-Loongson-3-v1.patch From 6cb445778ef2730eb1f33ddb3ef30a5ed017e787 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Thu, 16 Apr 2015 14:42:44 +0800 Subject: [PATCH 03/11] avcodec: optimize mathops for Loongson-3 v1 --- libavcodec/mathops.h | 3 ++ libavcodec/mips/mathops.h | 78 ++- 2 files changed, 73 insertions(+), 8 deletions(-) diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h index 87d110b..46283ca 100644 --- a/libavcodec/mathops.h +++ b/libavcodec/mathops.h @@ -211,6 +211,8 @@ if ((y) (x)) {\ # define FASTDIV(a,b) ((uint32_t)uint64_t)a) * ff_inverse[b]) 32)) #endif /* FASTDIV */ +#ifndef ff_sqrt +#define ff_sqrt ff_sqrt static inline av_const unsigned int ff_sqrt(unsigned int a) { unsigned int b; @@ -230,6 +232,7 @@ static inline av_const unsigned int ff_sqrt(unsigned int a) return b - (a b * b); } +#endif static inline int8_t ff_u8_to_s8(uint8_t a) { diff --git a/libavcodec/mips/mathops.h b/libavcodec/mips/mathops.h index 5673fc0..cdc7705 100644 --- a/libavcodec/mips/mathops.h +++ b/libavcodec/mips/mathops.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2009 Mans Rullgard m...@mansr.com + * Copyright (c) 2015 Zhou Xiaoyong zhouxiaoy...@loongson.cn * * This file is part of FFmpeg. * @@ -27,14 +28,73 @@ #if HAVE_INLINE_ASM -#if HAVE_LOONGSON +#if HAVE_LOONGSON3 This removes optimizations for loongson (1 or whatever) ? is that intended ? -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 2 100% positive feedback - All either got their money back or didnt complain Best seller ever, very honest - Seller refunded buyer after failed scam ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
Ok! I will add ARCH_EXT_LIST_LOONGSON and clarify the CPU series in configure to support the older Loongson-2. Loongson-2: 2E, 2F with GS464 core support MMI SIMD Loongson-3: 3A1000 with GS464 core, 3B1500 with GS464V core is compatible with GS464 SIMD, the new 3A2000 with GS464E core is compatible with GS464 SIMD GS464V means Vector and have more vector instruts GS464E means Enhance and maybe added more SIMD later 在 2015-04-25 20:10:31,Michael Niedermayer mich...@niedermayer.cc 写道: On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China configure | 36 +--- 1 file changed, 33 insertions(+), 3 deletions(-) c12c6e26378a6e67153bffe7003592b5a3973f4b 0001-configure-add-Loongson-3-support.patch From 65973ecb8b667c0f75dcc808d664f72d27c52f71 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Wed, 15 Apr 2015 19:50:01 +0800 Subject: [PATCH 01/11] configure: add Loongson-3 support --- configure | 36 +--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 389de92..9a3f341 100755 --- a/configure +++ b/configure @@ -366,6 +366,7 @@ Optimization options (experts only): --disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations --disable-msadisable MSA optimizations --disable-mipsfpudisable floating point MIPS optimizations + --disable-loongson3 disable Loongson-3 SIMD optimizations --disable-fast-unaligned consider unaligned accesses slow Developer options (useful when working on FFmpeg itself): @@ -1573,6 +1574,7 @@ ARCH_EXT_LIST_MIPS= mipsdspr1 mipsdspr2 msa +loongson3 ARCH_EXT_LIST_X86_SIMD= @@ -1612,7 +1614,6 @@ ARCH_EXT_LIST= $ARCH_EXT_LIST_PPC $ARCH_EXT_LIST_X86 $ARCH_EXT_LIST_MIPS -loongson ARCH_FEATURES= @@ -2018,6 +2019,7 @@ mipsdspr2_deps=mips mips32r5_deps=mips mips64r6_deps=mips msa_deps=mips +loongson3_deps=mips altivec_deps=ppc ppc4xx_deps=ppc @@ -3717,6 +3719,16 @@ case $arch in ;; mips*|IP*) arch=mips +_cpuinfo=cat /proc/cpuinfo +pname=$($_cpuinfo | grep 'model' | cut -d ':' -f 2 | head -n 1) +case $pname in +*Loongson-3A*) +cpu=loongson3a +;; +*Loongson-3B*) +cpu=loongson3a +;; +esac ;; parisc*|hppa*) arch=parisc applied without this hunk and without the loongson removial you can remove loongson but it should be a seperate patch and also remove all uses of HAVE_LOONGSON [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB What does censorship reveal? It reveals fear. -- Julian Assange ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- [...] aacsbr_mips.h |4 ++-- iirfilter_mips.c |4 mpegaudiodsp_mips_float.c |6 ++ sbrdsp_mips.c |4 4 files changed, 16 insertions(+), 2 deletions(-) 2ee4cc1afabace5d2b6fa52ea91b211187cc18f0 0002-avcodec-mips-disable-assembly-not-supported-for-Loon.patch From 3488470e6099444ed5d9cd75c181ce69d824267f Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Wed, 15 Apr 2015 20:18:15 +0800 Subject: [PATCH 02/11] avcodec/mips: disable assembly not supported for Loongson-3 applied [...] mathops.h |3 ++ mips/mathops.h | 78 +++-- 2 files changed, 73 insertions(+), 8 deletions(-) 001ca979230cbffc83a1004d01c1b9d7a66f1577 0003-avcodec-optimize-mathops-for-Loongson-3-v1.patch From 6cb445778ef2730eb1f33ddb3ef30a5ed017e787 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Thu, 16 Apr 2015 14:42:44 +0800 Subject: [PATCH 03/11] avcodec: optimize mathops for Loongson-3 v1 --- libavcodec/mathops.h | 3 ++ libavcodec/mips/mathops.h | 78 ++- 2 files changed, 73 insertions(+), 8 deletions(-) diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h index 87d110b..46283ca 100644 --- a/libavcodec/mathops.h +++ b/libavcodec/mathops.h @@ -211,6 +211,8 @@ if ((y) (x)) {\ # define FASTDIV(a,b) ((uint32_t)uint64_t)a) * ff_inverse[b]) 32)) #endif /* FASTDIV */ +#ifndef ff_sqrt +#define ff_sqrt ff_sqrt static inline av_const unsigned int ff_sqrt(unsigned int a) { unsigned int b; @@ -230,6 +232,7 @@ static inline av_const unsigned int ff_sqrt(unsigned int a) return b - (a b * b); } +#endif static inline int8_t ff_u8_to_s8(uint8_t a) { diff --git a/libavcodec/mips/mathops.h b/libavcodec/mips/mathops.h index 5673fc0..cdc7705 100644 --- a/libavcodec/mips/mathops.h +++ b/libavcodec/mips/mathops.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2009 Mans Rullgard m...@mansr.com + * Copyright (c) 2015 Zhou Xiaoyong zhouxiaoy...@loongson.cn * * This file is part of FFmpeg. * @@ -27,14 +28,73 @@ #if HAVE_INLINE_ASM -#if HAVE_LOONGSON +#if HAVE_LOONGSON3 This removes optimizations for loongson (1 or whatever) ? is that intended ? -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 2 100% positive feedback - All either got their money back or didnt complain Best seller ever, very honest - Seller refunded buyer after failed scam signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China configure | 36 +--- 1 file changed, 33 insertions(+), 3 deletions(-) c12c6e26378a6e67153bffe7003592b5a3973f4b 0001-configure-add-Loongson-3-support.patch From 65973ecb8b667c0f75dcc808d664f72d27c52f71 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Wed, 15 Apr 2015 19:50:01 +0800 Subject: [PATCH 01/11] configure: add Loongson-3 support --- configure | 36 +--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 389de92..9a3f341 100755 --- a/configure +++ b/configure @@ -366,6 +366,7 @@ Optimization options (experts only): --disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations --disable-msadisable MSA optimizations --disable-mipsfpudisable floating point MIPS optimizations + --disable-loongson3 disable Loongson-3 SIMD optimizations --disable-fast-unaligned consider unaligned accesses slow Developer options (useful when working on FFmpeg itself): @@ -1573,6 +1574,7 @@ ARCH_EXT_LIST_MIPS= mipsdspr1 mipsdspr2 msa +loongson3 ARCH_EXT_LIST_X86_SIMD= @@ -1612,7 +1614,6 @@ ARCH_EXT_LIST= $ARCH_EXT_LIST_PPC $ARCH_EXT_LIST_X86 $ARCH_EXT_LIST_MIPS -loongson ARCH_FEATURES= @@ -2018,6 +2019,7 @@ mipsdspr2_deps=mips mips32r5_deps=mips mips64r6_deps=mips msa_deps=mips +loongson3_deps=mips altivec_deps=ppc ppc4xx_deps=ppc @@ -3717,6 +3719,16 @@ case $arch in ;; mips*|IP*) arch=mips +_cpuinfo=cat /proc/cpuinfo +pname=$($_cpuinfo | grep 'model' | cut -d ':' -f 2 | head -n 1) +case $pname in +*Loongson-3A*) +cpu=loongson3a +;; +*Loongson-3B*) +cpu=loongson3a +;; +esac ;; parisc*|hppa*) arch=parisc applied without this hunk and without the loongson removial you can remove loongson but it should be a seperate patch and also remove all uses of HAVE_LOONGSON [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB What does censorship reveal? It reveals fear. -- Julian Assange signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China [...] @@ -3717,6 +3719,16 @@ case $arch in ;; mips*|IP*) arch=mips +_cpuinfo=cat /proc/cpuinfo +pname=$($_cpuinfo | grep 'model' | cut -d ':' -f 2 | head -n 1) +case $pname in +*Loongson-3A*) +cpu=loongson3a +;; +*Loongson-3B*) +cpu=loongson3a +;; +esac ;; parisc*|hppa*) arch=parisc this is not possible /proc/cpuinfo doesnt always exist and its not correct for cross compiling [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Into a blind darkness they enter who follow after the Ignorance, they as if into a greater darkness enter who devote themselves to the Knowledge alone. -- Isha Upanishad signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: Makefile |2 +- arch.mak |1 + libavcodec/mips/Makefile |2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) 26e64031017485302c85e184adcc941a26889962 0004-makefile-add-Loongson-3-support.patch From aae2e408d57d79aac8760b03eac98b03e04451b1 Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Wed, 15 Apr 2015 20:26:31 +0800 Subject: [PATCH 04/11] makefile: add Loongson-3 support doesnt apply cleanly: Applying: makefile: add Loongson-3 support Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merging libavcodec/mips/Makefile CONFLICT (content): Merge conflict in libavcodec/mips/Makefile Auto-merging arch.mak CONFLICT (content): Merge conflict in arch.mak Auto-merging Makefile CONFLICT (content): Merge conflict in Makefile Failed to merge in the changes. Patch failed at 0001 makefile: add Loongson-3 support [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you think the mosad wants you dead since a long time then you are either wrong or dead since a long time. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
On Wed, Apr 22, 2015 at 02:27:11PM +0800, 周晓勇 wrote: h264.c | 25 + 1 file changed, 25 insertions(+) f3e41a6b5b3d657efe06a9dee43a8afbdc0f68d0 0006-avcodec-optimize-fill_rectangle-in-fast-64bit-mode-f.patch From 77cc85af4ce282b44a20f9a98481a31d78e5813f Mon Sep 17 00:00:00 2001 From: ZhouXiaoyong zhouxiaoy...@loongson.cn Date: Thu, 16 Apr 2015 06:41:22 +0800 Subject: [PATCH 05/11] avcodec: optimize h264_decode_nal in fast 64bit mode for Loongson-3 --- libavcodec/h264.c | 25 + 1 file changed, 25 insertions(+) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index a8ffdde..bacbf12 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -254,6 +254,30 @@ const uint8_t *ff_h264_decode_nal(H264Context *h, H264SliceContext *sl, i++ #if HAVE_FAST_64BIT +# if HAVE_LOONGSON3 cpu specific asm belongs in cpu specific subdirectories like libavcodec/mips/ [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Asymptotically faster algorithms should always be preferred if you have asymptotical amounts of data signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse
Sorry about the duplicated wrong patch-0007, 0007-avcodec-optimize-mpegvideo-decode-for-Loongson-3-v1.patch is the right one. -原始邮件- 发件人: 周晓勇 zhouxiaoy...@loongson.cn 发送时间: 2015年4月22日 星期三 收件人: ffmpeg-devel ffmpeg-devel@ffmpeg.org 抄送: gaoxiang gaoxi...@loongson.cn, 孟小甫 mengxia...@loongson.cn 主题: [FFmpeg-devel] Loongson Optimization Patchs and Machine Express Issuse Hi Michael, We have prepared the patchs and Loongson-3A machine for you, but DHL needs consignee's phone number in case they could not contact u. Could you send me your phone number right now? I have make an appointment with courier tomorrow morning. The enclosures are our Loongson-3 patchs for ffmpeg-master based on fbdaebb29861d32acc93fa55fd13554a2ae32eb4. Cause the machine belong to the company, our boss need one Electronic Receipt to confirm that i do not keep the machine privately. Could you email me one receipt with your sign after you receive it? Thanks. -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China -- 周晓勇 @系统研发部 Christian Zhou @System R D 龙芯中科技术有限公司 Loongson Technology Corporation Limited 北京市海淀区温泉镇中关村环保科技示范园龙芯产业园2号楼 Loongson Industrial Park, building 2 , Zhongguancun Environmental protection park, Haidian District, Beijing, China ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel