不参展,也能找到有质量的客户伎俩

2018-07-22 Thread vip

  
  
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

2018-07-22 Thread Hans Verkuil
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

2018-07-22 Thread Steve Longerbeam




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

2018-07-22 Thread Steve Longerbeam

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

2018-07-22 Thread Jack
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

2018-07-22 Thread Steve Longerbeam




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