Am 09.08.2016 um 19:21 schrieb Nayan Deshmukh:
Hi Christian,
A few questions.
On Tue, Aug 9, 2016 at 5:10 PM, Christian König
<deathsim...@vodafone.de <mailto:deathsim...@vodafone.de>> wrote:
I am more than happy to solve these problems, the
Lanczos filtering was getting a little stale
anyway because I was not able to reproduce the problems Andy was
facing.
Yeah thought so, the reason is probably that you don't have the
necessary hardware.
Is that why I need to add a PIPE_BIND_LINEAR to a surface?
Yes exactly.
So I need to use maybe a couple of surfaces alternatively to read
and write with the filters. This approach should work I guess.
Allocate a temporary surface for each step, apply the necessary
filters using it and then use the temporary buffer as input for
the next step.
See how the deinterlacing filter does this, you should use the
same approach here.
I would use this order for doing things:
1. Median filter for noise reduction.
2. Sharpening/blur filter.
3. Deinterlacing.
4. Compositioning and CC conversion.
5. Advanced scaling.
I need to provide the median filter and the blur filter with a sampler
view and the deint filter requires a pipe_video_buffer. I am not sure
how to acheive this. Any suggestions?
video buffers are basically just a collection of sampler views and
render targets (up to six). You just need to apply each filter to each
plane separately.
Also right now deinterlacing is the first step and the other steps
follow. But if we perform median and sharpening filter before then we
also need to apply them on the past and the future surfaces that we
require for deinterlacing. Am I right?
Oh, good point. Might be that we need to change the order to 1)
Deinterlacing, 2) Median 3) Sharpening.
Otherwise the calculation overhead/memory bandwidth probably start to
hit some limits on low end hardware.
Regards,
Christian.
Regards,
Nayan.
Regards,
Christian.
Am 08.08.2016 um 16:32 schrieb Nayan Deshmukh:
Hi Christian,
I am more than happy to solve these problems, the
Lanczos filtering was getting a little stale
anyway because I was not able to reproduce the problems Andy was
facing.
On Mon, Aug 8, 2016 at 6:24 PM, Christian König
<christian.koe...@amd.com <mailto:christian.koe...@amd.com>> wrote:
Hi Nayan,
ok let's take a step back and put the lanczos filtering aside
for a moment. I have another task for you which is more
urgent right now.
The order we do things in vlVdpVideoMixerRender() was never
100% correct, so we have at least three problems here which
needs fixing:
1) The noise reduction and sharpness filter read and write to
the same surface at the same time. That only works because we
use a linear layout.
Is that why I need to add a PIPE_BIND_LINEAR to a surface? So I
need to use maybe a couple of surfaces alternatively to read and
write with the filters. This approach should work I guess.
2) We apply the noise reduction and sharpness filter after
the composition. That is rather odd and should be fixed so
that we apply those filters on the original video frame instead.
So we need to apply the filter before the CSC conversion.
3) We use delayed rendering to render into output surfaces
directly. We should rather use the DRI3 capabilities to
allocate multiple output surfaces instead.
Could you take care of some of those issues? Especially #1
has become a problem recently.
Surely, I will start working on the first 2 problem for now and
look at the third problem a little later.
Regards,
Nayan.
Regards,
Christian.
Am 04.08.2016 um 19:22 schrieb Nayan Deshmukh:
Hi Andy,
On Thu, Aug 4, 2016 at 8:48 PM, Andy Furniss
<adf.li...@gmail.com <mailto:adf.li...@gmail.com>> wrote:
Nayan Deshmukh wrote:
Hi Andy,
Thanks for testing my patches.
NP
The scaling happens after CSC.
OK, thanks.
I believe there is some misunderstanding here, I was
able to see the
artifacts in the video that you sent me previously.
But I was not
able to replicate them
Yea, I got that - just thought you may want to see how
they had changed.
with the pendulum video on my system. Same case this
time the
pendulum video plays fine this time too. I am
attacing a video of it
here
https://drive.google.com/file/d/0B1s62k5GtdBwOVAtOUVaU0V5c1E/view?usp=sharing
<https://drive.google.com/file/d/0B1s62k5GtdBwOVAtOUVaU0V5c1E/view?usp=sharing>
Hmm, that's interesting for a few reasons.
Though my monitor won't do 1366x768 I can replicate the
same scale
factor windowed with mplayer ... -xy 768/576 ...
At first glance only level 2 is obviously artifacted
(though very close
inspection shows others are slightly).
Levels: for some reason your vid has the black bars at 0
but the content
isn't scaled - like your mplayer didn't expand tv to pc
on playback.
This shouldn't happen by default. Do you have some extra
config
somewhere like in $HOME/.mplayer, if so maybe better to
test without.
Most important - though the vp9 compression may be to
blame I can't
really see any difference between the levels in that vid.
In fact closely comparing just your level 1 to my
(admittedly
uncompressed) level 1 and 0 output scaled the same plus
unstretched
levels wise it looks to me like you are getting level 0
on this test.
You are right it I am getting level 0 only. I have a PRIME
configuration
and I forgot to set DRI_PRIME to 1. But for some reason, I
am not able to create
a screen recording when I use my AMD card. So, for now, I
can't reproduce the artifacts
you are having so can't debug them too :(
Regards,
Nayan.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
<mailto:mesa-dev@lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
<https://lists.freedesktop.org/mailman/listinfo/mesa-dev>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev