不参展,也能找到有质量的客户伎俩
linux-media@vger.kernel.org 面对竞争激烈的外贸环境,海外客户资源的争夺,优质客户资源的争夺。 单一的海外开发模式已经淘汰 ,与时俱进大胆尝试才能不断的创新。 外贸客户开发系统帮你快速整合你们行业的全球的目标客户资源,拥有资源优势,我们更增加了挖掘高质量的客户的筹码。 一套主动出击开发客户的系统,能为您带来不一样的惊喜! 优势对比: B2B平台: 上B2B的是一些比较了解中国的中间商,群发询盘给所有同行造成询盘多价格低,价格为王客户忠诚度低。(价格3万-10万) 展会: 价格高,投资风险大,见效周期短。(价格3万-100万) 外贸客户开发系统主动式营销: 1)操作简单,普通业务员经过简单培训即可上手操作。 2)数据更新快,客户数据来源与取之不尽的全球互联网。 3)一对一询盘,可搜索任意区域国家潜在客户,收到客户采购意向询盘都是一对一询盘。 4)客户忠诚度高,可以避开中间商直接开发终端客户,客户稳定,利润高。 (价格几千元) 免费在线演示 qq:2755365043 tel:18038068680 0755-36300750
cron job: media_tree daily build: OK
This message is generated daily by a cron job that builds media_tree for the kernels and architectures in the list below. Results of the daily build of media_tree: date: Mon Jul 23 05:00:11 CEST 2018 media-tree git hash:39fbb88165b2bbbc77ea7acab5f10632a31526e6 media_build git hash: f3b64e45d2f2ef45cd4ae5b90a8f2a4fb284e43c v4l-utils git hash: e4df0e3cd3a84570714defe279d13eae894cb1fa edid-decode git hash: ab18befbcacd6cd4dff63faa82e32700369d6f25 gcc version:i686-linux-gcc (GCC) 8.1.0 sparse version: 0.5.2 smatch version: 0.5.1 host hardware: x86_64 host os:4.16.0-1-amd64 linux-git-arm-at91: OK linux-git-arm-davinci: OK linux-git-arm-multi: OK linux-git-arm-pxa: OK linux-git-arm-stm32: OK linux-git-arm64: OK linux-git-i686: OK linux-git-mips: OK linux-git-powerpc64: OK linux-git-sh: OK linux-git-x86_64: OK Check COMPILE_TEST: OK linux-2.6.36.4-i686: OK linux-2.6.36.4-x86_64: OK linux-2.6.37.6-i686: OK linux-2.6.37.6-x86_64: OK linux-2.6.38.8-i686: OK linux-2.6.38.8-x86_64: OK linux-2.6.39.4-i686: OK linux-2.6.39.4-x86_64: OK linux-3.0.101-i686: OK linux-3.0.101-x86_64: OK linux-3.1.10-i686: OK linux-3.1.10-x86_64: OK linux-3.2.102-i686: OK linux-3.2.102-x86_64: OK linux-3.3.8-i686: OK linux-3.3.8-x86_64: OK linux-3.4.113-i686: OK linux-3.4.113-x86_64: OK linux-3.5.7-i686: OK linux-3.5.7-x86_64: OK linux-3.6.11-i686: OK linux-3.6.11-x86_64: OK linux-3.7.10-i686: OK linux-3.7.10-x86_64: OK linux-3.8.13-i686: OK linux-3.8.13-x86_64: OK linux-3.9.11-i686: OK linux-3.9.11-x86_64: OK linux-3.10.108-i686: OK linux-3.10.108-x86_64: OK linux-3.11.10-i686: OK linux-3.11.10-x86_64: OK linux-3.12.74-i686: OK linux-3.12.74-x86_64: OK linux-3.13.11-i686: OK linux-3.13.11-x86_64: OK linux-3.14.79-i686: OK linux-3.14.79-x86_64: OK linux-3.15.10-i686: OK linux-3.15.10-x86_64: OK linux-3.16.57-i686: OK linux-3.16.57-x86_64: OK linux-3.17.8-i686: OK linux-3.17.8-x86_64: OK linux-3.18.115-i686: OK linux-3.18.115-x86_64: OK linux-3.19.8-i686: OK linux-3.19.8-x86_64: OK linux-4.0.9-i686: OK linux-4.0.9-x86_64: OK linux-4.1.52-i686: OK linux-4.1.52-x86_64: OK linux-4.2.8-i686: OK linux-4.2.8-x86_64: OK linux-4.3.6-i686: OK linux-4.3.6-x86_64: OK linux-4.4.140-i686: OK linux-4.4.140-x86_64: OK linux-4.5.7-i686: OK linux-4.5.7-x86_64: OK linux-4.6.7-i686: OK linux-4.6.7-x86_64: OK linux-4.7.10-i686: OK linux-4.7.10-x86_64: OK linux-4.8.17-i686: OK linux-4.8.17-x86_64: OK linux-4.9.112-i686: OK linux-4.9.112-x86_64: OK linux-4.10.17-i686: OK linux-4.10.17-x86_64: OK linux-4.11.12-i686: OK linux-4.11.12-x86_64: OK linux-4.12.14-i686: OK linux-4.12.14-x86_64: OK linux-4.13.16-i686: OK linux-4.13.16-x86_64: OK linux-4.14.55-i686: OK linux-4.14.55-x86_64: OK linux-4.15.18-i686: OK linux-4.15.18-x86_64: OK linux-4.16.18-i686: OK linux-4.16.18-x86_64: OK linux-4.17.6-i686: OK linux-4.17.6-x86_64: OK linux-4.18-rc4-i686: OK linux-4.18-rc4-x86_64: OK apps: OK spec-git: OK Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.tar.bz2 The Media Infrastructure API from this daily build is here: http://www.xs4all.nl/~hverkuil/spec/index.html
Re: [PATCH v2 00/16] i.MX media mem2mem scaler
On 07/22/2018 11:30 AM, Steve Longerbeam wrote: Hi Philipp, On 07/19/2018 08:30 AM, Philipp Zabel wrote: Hi, this is the second version of the i.MX mem2mem scaler series. Patches 8 and 16 have been modified. Changes since v1: - Fix inverted allow_overshoot logic - Correctly switch horizontal / vertical tile alignment when determining seam positions with the 90° rotator active. Yes, this fixes the specific rotation test that was broken (720x480, UYVY --> 1280x768, UYVY, rotate 90). But running more tests on this v2 reveals more issues. I chose a somewhat random upscaling-only example as a first try: 640x480, YV12 --> full HD 2560x1600, YV12 (no rotation or flip). This produces division by zero backtraces and the conversion hangs: The hang is apparently because the conversion is re-attempted over and over again, with an endless WARN() from drivers/media/common/videobuf2/videobuf2-core.c:900. I fixed the hang with an additional patch: 50026cbe08 ("media: imx: mem2mem: Remove buffers on device_run failures") With this the conversion completes, but the below div-by-zero errors persist, and the resultant image is blank. Steve [ 131.079978] Division by zero in kernel. [ 131.083853] CPU: 0 PID: 683 Comm: mx6-m2m Tainted: G W 4.18.0-rc2-13448-g678218d #7 [ 131.092830] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 131.099372] Backtrace: [ 131.101858] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 131.109450] r7: r6:600f0013 r5: r4:c107db3c [ 131.115135] [] (show_stack) from [] (dump_stack+0xb4/0xe8) [ 131.122380] [] (dump_stack) from [] (__div0+0x18/0x20) [ 131.129274] r9:ec37d800 r8:0003 r7: r6: r5: r4:ec37dae8 [ 131.137036] [] (__div0) from [] (Ldiv0+0x8/0x10) [ 131.143425] [] (ipu_image_convert_prepare) from [] (mem2mem_start_streaming+0xe0/0x1c0) [ 131.153186] r10:c0b9f640 r9:c071958c r8:0280 r7:01e0 r6:32315659 r5:c1008908 [ 131.161030] r4:ecf9c800 [ 131.163588] [] (mem2mem_start_streaming) from [] (vb2_start_streaming+0x64/0x160) [ 131.172826] r8:c1008908 r7:0001 r6:ed01b808 r5:ed01b934 r4:ed01b810 [ 131.179547] [] (vb2_start_streaming) from [] (vb2_core_streamon+0x10c/0x164) [ 131.188351] r9:c071958c r8:c1008908 r7:0001 r6:ec1038f8 r5: r4:ed01b808 [ 131.196114] [] (vb2_core_streamon) from [] (vb2_streamon+0x34/0x58) [ 131.204133] r5:40045612 r4:ed01b800 [ 131.207733] [] (vb2_streamon) from [] (v4l2_m2m_streamon+0x24/0x3c) [ 131.215758] [] (v4l2_m2m_streamon) from [] (v4l2_m2m_ioctl_streamon+0x18/0x1c) [ 131.224732] r5:40045612 r4:c072f354 [ 131.228330] [] (v4l2_m2m_ioctl_streamon) from [] (v4l_streamon+0x24/0x28) [ 131.236878] [] (v4l_streamon) from [] (__video_do_ioctl+0x284/0x4f8) [ 131.244984] r5:40045612 r4:ecc50800 [ 131.248583] [] (__video_do_ioctl) from [] (video_usercopy+0x260/0x55c) [ 131.256866] r10:0004 r9: r8:c1008908 r7:ed747dfc r6: r5:0004 [ 131.264709] r4:40045612 [ 131.267265] [] (video_usercopy) from [] (video_ioctl2+0x14/0x1c) [ 131.275026] r10:0036 r9:0003 r8:ed480068 r7:c0254840 r6:ecc76000 r5:bea6ab38 [ 131.282869] r4:c071fcd8 [ 131.285424] [] (video_ioctl2) from [] (v4l2_ioctl+0x44/0x5c) [ 131.292845] [] (v4l2_ioctl) from [] (do_vfs_ioctl+0xa8/0xa4c) [ 131.300343] r5:bea6ab38 r4:c1008908 [ 131.303940] [] (do_vfs_ioctl) from [] (ksys_ioctl+0x3c/0x60) [ 131.311355] r10:0036 r9:ed746000 r8:bea6ab38 r7:40045612 r6:0003 r5:ecc76000 [ 131.319198] r4:ecc76000 [ 131.321752] [] (ksys_ioctl) from [] (sys_ioctl+0x10/0x14) [ 131.328907] r9:ed746000 r8:c01011e4 r7:0036 r6:00010960 r5: r4:00012620 [ 131.336672] [] (sys_ioctl) from [] (ret_fast_syscall+0x0/0x28) [ 131.344256] Exception stack(0xed747fa8 to 0xed747ff0) [ 131.349327] 7fa0: 00012620 0003 40045612 bea6ab38 0003 [ 131.357524] 7fc0: 00012620 00010960 0036 45d8 bea6abac [ 131.365717] 7fe0: 0002312c bea6aaa4 00012308 45e58d5c To aid in debugging this I created branch 'imx-mem2mem.stevel' in my mediatree fork on github. I moved the mem2mem driver to the beginning and added a few patches: d317a7771c ("gpu: ipu-cpmem: add WARN_ON_ONCE() for unaligned dma buffers") b4362162c0 ("media: imx: mem2mem: Use ipu_image_convert_adjust in try format") 4758be0cf8 ("gpu: ipu-v3: image-convert: Fix width/height alignment") d069163c7f ("gpu: ipu-v3: image-convert: Fix input bytesperline clamp in adjust") (feel free to squash some of those if you agree with them for v3). By moving the mem2mem driver before the seam avoidance patches, and making it independent of the image converter implementation, the driver can be tested with and without the seam avoidance changes. If you run a git rebase and build/run the kernel when stopped at b4362162c0 (e.g. without the seam avoidance patches), you will find that the
Re: [PATCH v2 00/16] i.MX media mem2mem scaler
Hi Philipp, On 07/19/2018 08:30 AM, Philipp Zabel wrote: Hi, this is the second version of the i.MX mem2mem scaler series. Patches 8 and 16 have been modified. Changes since v1: - Fix inverted allow_overshoot logic - Correctly switch horizontal / vertical tile alignment when determining seam positions with the 90° rotator active. Yes, this fixes the specific rotation test that was broken (720x480, UYVY --> 1280x768, UYVY, rotate 90). But running more tests on this v2 reveals more issues. I chose a somewhat random upscaling-only example as a first try: 640x480, YV12 --> full HD 2560x1600, YV12 (no rotation or flip). This produces division by zero backtraces and the conversion hangs: [ 131.079978] Division by zero in kernel. [ 131.083853] CPU: 0 PID: 683 Comm: mx6-m2m Tainted: G W 4.18.0-rc2-13448-g678218d #7 [ 131.092830] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 131.099372] Backtrace: [ 131.101858] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 131.109450] r7: r6:600f0013 r5: r4:c107db3c [ 131.115135] [] (show_stack) from [] (dump_stack+0xb4/0xe8) [ 131.122380] [] (dump_stack) from [] (__div0+0x18/0x20) [ 131.129274] r9:ec37d800 r8:0003 r7: r6: r5: r4:ec37dae8 [ 131.137036] [] (__div0) from [] (Ldiv0+0x8/0x10) [ 131.143425] [] (ipu_image_convert_prepare) from [] (mem2mem_start_streaming+0xe0/0x1c0) [ 131.153186] r10:c0b9f640 r9:c071958c r8:0280 r7:01e0 r6:32315659 r5:c1008908 [ 131.161030] r4:ecf9c800 [ 131.163588] [] (mem2mem_start_streaming) from [] (vb2_start_streaming+0x64/0x160) [ 131.172826] r8:c1008908 r7:0001 r6:ed01b808 r5:ed01b934 r4:ed01b810 [ 131.179547] [] (vb2_start_streaming) from [] (vb2_core_streamon+0x10c/0x164) [ 131.188351] r9:c071958c r8:c1008908 r7:0001 r6:ec1038f8 r5: r4:ed01b808 [ 131.196114] [] (vb2_core_streamon) from [] (vb2_streamon+0x34/0x58) [ 131.204133] r5:40045612 r4:ed01b800 [ 131.207733] [] (vb2_streamon) from [] (v4l2_m2m_streamon+0x24/0x3c) [ 131.215758] [] (v4l2_m2m_streamon) from [] (v4l2_m2m_ioctl_streamon+0x18/0x1c) [ 131.224732] r5:40045612 r4:c072f354 [ 131.228330] [] (v4l2_m2m_ioctl_streamon) from [] (v4l_streamon+0x24/0x28) [ 131.236878] [] (v4l_streamon) from [] (__video_do_ioctl+0x284/0x4f8) [ 131.244984] r5:40045612 r4:ecc50800 [ 131.248583] [] (__video_do_ioctl) from [] (video_usercopy+0x260/0x55c) [ 131.256866] r10:0004 r9: r8:c1008908 r7:ed747dfc r6: r5:0004 [ 131.264709] r4:40045612 [ 131.267265] [] (video_usercopy) from [] (video_ioctl2+0x14/0x1c) [ 131.275026] r10:0036 r9:0003 r8:ed480068 r7:c0254840 r6:ecc76000 r5:bea6ab38 [ 131.282869] r4:c071fcd8 [ 131.285424] [] (video_ioctl2) from [] (v4l2_ioctl+0x44/0x5c) [ 131.292845] [] (v4l2_ioctl) from [] (do_vfs_ioctl+0xa8/0xa4c) [ 131.300343] r5:bea6ab38 r4:c1008908 [ 131.303940] [] (do_vfs_ioctl) from [] (ksys_ioctl+0x3c/0x60) [ 131.311355] r10:0036 r9:ed746000 r8:bea6ab38 r7:40045612 r6:0003 r5:ecc76000 [ 131.319198] r4:ecc76000 [ 131.321752] [] (ksys_ioctl) from [] (sys_ioctl+0x10/0x14) [ 131.328907] r9:ed746000 r8:c01011e4 r7:0036 r6:00010960 r5: r4:00012620 [ 131.336672] [] (sys_ioctl) from [] (ret_fast_syscall+0x0/0x28) [ 131.344256] Exception stack(0xed747fa8 to 0xed747ff0) [ 131.349327] 7fa0: 00012620 0003 40045612 bea6ab38 0003 [ 131.357524] 7fc0: 00012620 00010960 0036 45d8 bea6abac [ 131.365717] 7fe0: 0002312c bea6aaa4 00012308 45e58d5c To aid in debugging this I created branch 'imx-mem2mem.stevel' in my mediatree fork on github. I moved the mem2mem driver to the beginning and added a few patches: d317a7771c ("gpu: ipu-cpmem: add WARN_ON_ONCE() for unaligned dma buffers") b4362162c0 ("media: imx: mem2mem: Use ipu_image_convert_adjust in try format") 4758be0cf8 ("gpu: ipu-v3: image-convert: Fix width/height alignment") d069163c7f ("gpu: ipu-v3: image-convert: Fix input bytesperline clamp in adjust") (feel free to squash some of those if you agree with them for v3). By moving the mem2mem driver before the seam avoidance patches, and making it independent of the image converter implementation, the driver can be tested with and without the seam avoidance changes. If you run a git rebase and build/run the kernel when stopped at b4362162c0 (e.g. without the seam avoidance patches), you will find that the above 640x480 --> 2560x1600 conversion succeeds, albeit with the expected visible seams at the tile boundaries. Also, I'm trying to parse the functions find_best_seam() and find_seams(). Can you provide some more background on the behavior of those functions? Steve - Fix SPDX-License-Identifier and remove superfluous license text. - Fix uninitialized walign in try_fmt Previous cover letter: we have image conversion code for scaling
Hello Beautiful
Hi Dear, my name is Jack and i am seeking for a relationship in which i will feel loved after a series of failed relationships. I am hoping that you would be interested and we could possibly get to know each other more if you do not mind. I am open to answering questions from you as i think my approach is a little inappropriate. Hope to hear back from you. Jack.
Re: [PATCH 16/16] media: imx: add mem2mem device
On 07/16/2018 07:12 AM, Philipp Zabel wrote: Hi Steve, On Thu, 2018-07-05 at 15:09 -0700, Steve Longerbeam wrote: [...] [...] + halign = 0; + break; + } + if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) { + /* +* The IC burst reads 8 pixels at a time. Reading beyond the +* end of the line is usually acceptable. Those pixels are +* ignored, unless the IC has to write the scaled line in +* reverse. +*/ + if (!ipu_rot_mode_is_irt(ctx->rot_mode) && + ctx->rot_mode && IPU_ROT_BIT_HFLIP) + walign = 3; This looks wrong. Do you mean: if (ipu_rot_mode_is_irt(ctx->rot_mode) || (ctx->rot_mode & IPU_ROT_BIT_HFLIP)) walign = 3; else walign = 1; The input DMA burst width alignment is only necessary if the lines are scanned from right to left (that is, if HF is enabled) in the scaling step. Ok, thanks for the explanation, that makes sense. If the rotator is used, the flipping is done in the rotation step instead, Ah, I missed or forgot about that detail in the ref manual, I reviewed it again and you are right... so the alignment restriction would be on the width of the intermediate tile (and thus on the output height). This is already covered by the rotator 8x8 pixel block alignment. so this makes sense too. That is, require 8 byte width alignment for IRT or if HFLIP is enabled. No, I specifically meant (!IRT && HFLIP). Right, but there is still a typo: if (!ipu_rot_mode_is_irt(ctx->rot_mode) && ctx->rot_mode && IPU_ROT_BIT_HFLIP) should be: if (!ipu_rot_mode_is_irt(ctx->rot_mode) && (ctx->rot_mode & IPU_ROT_BIT_HFLIP)) The rotator itself doesn't cause any input alignment restrictions, we just have to make sure that the intermediate tiles after scaling are 8x8 aligned. Also, why not simply call ipu_image_convert_adjust() in mem2mem_try_fmt()? If there is something missing in the former function, then it should be added there, instead of adding the missing checks in mem2mem_try_fmt(). ipu_image_convert_adjust tries to adjust both input and output image at the same time, here we just have the format of either input or output image. Do you suggest to split this function into an input and an output version? See b4362162c0 ("media: imx: mem2mem: Use ipu_image_convert_adjust in try format") in my mediatree fork at g...@github.com:slongerbeam/mediatree.git. Let's discuss this further in the v2 patches. Steve