[RESOLVED] PVBob() requiring mod8 height?
[RESOLVED] PVBob() requiring mod8 height?
Hi,
Maybe I am missing something, but PVBob (standalone) seems to require that the picture height must be mod8, otherwise the bobbed picture gets messed up.
I didn't find the mod8 requirement in the documentation of DGDecodeNV, so maybe it is a driver issue on my side only.
Any thoughts? Thanks.
Windows 10
GeForce GTX 1050Ti
Driver Version: 26.21.14.3630 (GeForce 436.30)
Maybe I am missing something, but PVBob (standalone) seems to require that the picture height must be mod8, otherwise the bobbed picture gets messed up.
I didn't find the mod8 requirement in the documentation of DGDecodeNV, so maybe it is a driver issue on my side only.
Any thoughts? Thanks.
Windows 10
GeForce GTX 1050Ti
Driver Version: 26.21.14.3630 (GeForce 436.30)
Re: PVBob() requiring mod8 height?
Close to zero chance of a driver issue or of you missing something. I'll check it after I get DGDemux squared away for THD. Thank you for your report, Sharc.
Re: PVBob() requiring mod8 height?
My initial attempt to duplicate this didn't show any problems. Can you please provide a sample file, your script, and a screenshot of the problem? Thanks!
Does it fail the same way with bundled DGBob() also?
Does it fail the same way with bundled DGBob() also?
Sherman Peabody
Director of Linux Development
Director of Linux Development
Re: PVBob() requiring mod8 height?
Sample and screenshot:
https://www.mediafire.com/file/6or2nege ... 2.zip/file
Script:
The problem depends on the horizontal and vertical cropping values
https://www.mediafire.com/file/6or2nege ... 2.zip/file
Script:
Code: Select all
v1=AVISource("sample.avi") #YUV422
YV12=v1.converttoYV12(interlaced=true)
YV12cropped=YV12.crop(16,4,-24,-8)
bob=YV12cropped.PVBob()
Return bob
Re: PVBob() requiring mod8 height?
Thank you, Sharc! That is super weird. Investigating...
Sherman Peabody
Director of Linux Development
Director of Linux Development
Re: PVBob() requiring mod8 height?
Probably a width versus pitch bug, given there is a crop in the picture (get it?). Who would code like that?
Daddy taught me all about puns. Bullwinkle is really good at word mirroring. For example, "me meanie", "take over while he takes cover". He's brilliant. And I am not just saying that because I want to be Moose Approved.
Daddy taught me all about puns. Bullwinkle is really good at word mirroring. For example, "me meanie", "take over while he takes cover". He's brilliant. And I am not just saying that because I want to be Moose Approved.
Sherman Peabody
Director of Linux Development
Director of Linux Development
Re: PVBob() requiring mod8 height?
When you learn C/C++ you'll figure it out.
Re: PVBob() requiring mod8 height?
Thanks Natasha. I don't believe a word they say about you.
Mr Peabody is teaching me binary right now.
Mr Peabody is teaching me binary right now.
Sherman Peabody
Director of Linux Development
Director of Linux Development
- Bullwinkle
- Posts: 338
- Joined: Thu Sep 05, 2019 6:37 pm
Re: PVBob() requiring mod8 height?
The thing about puns is you should never say "get it?". You got it?
Re: PVBob() requiring mod8 height?
Got it, Bullwinkle! Cuz if you have to say "get it?" the pun wasn't good enough. Stupid people won't get it, right?
If you chose one out of 8 dresses how many yes/no questions would I need to ask to know which one you are wearing?
If you chose one out of 8 dresses how many yes/no questions would I need to ask to know which one you are wearing?
Sherman Peabody
Director of Linux Development
Director of Linux Development
- Bullwinkle
- Posts: 338
- Joined: Thu Sep 05, 2019 6:37 pm
Re: PVBob() requiring mod8 height?
Nice try. I don't wear dresses, Sherman. Still wanna be Moose Approved?
Re: PVBob() requiring mod8 height?
Oh, right, sorry Bullwinkle.
In case you didn't know, the answer is 3. That's log base 2 of 8!
Do I get credit for a workaround? The user could crop after PVBob().
In case you didn't know, the answer is 3. That's log base 2 of 8!
Do I get credit for a workaround? The user could crop after PVBob().
Sherman Peabody
Director of Linux Development
Director of Linux Development
- Bullwinkle
- Posts: 338
- Joined: Thu Sep 05, 2019 6:37 pm
Re: PVBob() requiring mod8 height?
Partial credit. We don't want people to have to work around our bugs. Go for perfection!
Re: PVBob() requiring mod8 height?
Mr Peabody said we're gonna go back in time and meet George Boole. Not only did he invent Boolean numbering and logic but he also anticipated some of the Bell inequalities, at least the simple 3-term ones, the ones without auxiliary hypotheses. They're tautologies, really. Later inequalities involve locality assumptions, etc. Like CH and CHSH.
Sherman Peabody
Director of Linux Development
Director of Linux Development
- Bullwinkle
- Posts: 338
- Joined: Thu Sep 05, 2019 6:37 pm
Re: PVBob() requiring mod8 height?
Stick to Sharc's problem until you solve it. Don't get sidetracked.
Re: PVBob() requiring mod8 height?
The user could also add black borders back after cropping. Do I get credit for this workaround?
- Bullwinkle
- Posts: 338
- Joined: Thu Sep 05, 2019 6:37 pm
Re: PVBob() requiring mod8 height?
Full credit Sharc, you've been Moose Approved for donkeys' years.
Sherman's gonna fix it for sure.
It's not just about alliteration. Look for the deeper structure. Singing from the heart, as our dear friend Levi might say. Rest in peace all dear departed.
https://youtu.be/mxhIK7rUeqI?t=190
Sherman's gonna fix it for sure.
It's not just about alliteration. Look for the deeper structure. Singing from the heart, as our dear friend Levi might say. Rest in peace all dear departed.
https://youtu.be/mxhIK7rUeqI?t=190
Re: PVBob() requiring mod8 height?
Divine energy will flow through you, if you allow it.
Curly Howard
Director of EAC3TO Development
Director of EAC3TO Development
Re: PVBob() requiring mod8 height?
Making good progress. I understand for loops now but pointers are blowing my mind.
Sherman Peabody
Director of Linux Development
Director of Linux Development
- Bullwinkle
- Posts: 338
- Joined: Thu Sep 05, 2019 6:37 pm
Re: PVBob() requiring mod8 height?
Don't give up! You're almost there.
Re: PVBob() requiring mod8 height?
I don't see any obvious coding errors. It's really interesting.
Crop only the sides:
crop(0,4,-0,-8) # NO PROBLEM
PVBob()
Crop only the top/bottom:
crop(16,0,-24,-0) # NO PROBLEM
PVBob()
Crop all around:
crop(16,4,-24,-8) # FAILS
PVBob()
Here's the kicker. We can try to eliminate width/pitch issues by sourcing with BlankClip():
blankclip(240,640,576,pixel_type="YV12",color=$0000ff) # NO PROBLEM
PVBob()
blankclip(240,680,576,pixel_type="YV12",color=$0000ff) # FAILS
PVBob()
Everything is mod8 for both of them.
Still investigating...
Crop only the sides:
crop(0,4,-0,-8) # NO PROBLEM
PVBob()
Crop only the top/bottom:
crop(16,0,-24,-0) # NO PROBLEM
PVBob()
Crop all around:
crop(16,4,-24,-8) # FAILS
PVBob()
Here's the kicker. We can try to eliminate width/pitch issues by sourcing with BlankClip():
blankclip(240,640,576,pixel_type="YV12",color=$0000ff) # NO PROBLEM
PVBob()
blankclip(240,680,576,pixel_type="YV12",color=$0000ff) # FAILS
PVBob()
Everything is mod8 for both of them.
Still investigating...
Sherman Peabody
Director of Linux Development
Director of Linux Development
Re: PVBob() requiring mod8 height?
Guys, I might have found something!
The code that uploads the U and V planes to the VPP on the GPU assumes that the UV pitch is half the Y pitch. Well, in tracing I find that is not true for the failing cases. Gonna try fixing it...
Does the VPP even allow for UV pitch != Y pitch / 2 ? We'll see.
BTW, I'm a bit confused about modulo. What is 256 mod 0?
The code that uploads the U and V planes to the VPP on the GPU assumes that the UV pitch is half the Y pitch. Well, in tracing I find that is not true for the failing cases. Gonna try fixing it...
Does the VPP even allow for UV pitch != Y pitch / 2 ? We'll see.
BTW, I'm a bit confused about modulo. What is 256 mod 0?
Sherman Peabody
Director of Linux Development
Director of Linux Development
Re: PVBob() requiring mod8 height?
If the VPP is limited as you suggest, you'll have to re-pack things on the way up.
If you write:
int x = 256, y;
y = x % 0;
Your computer will explode. Don't do it!
If you write:
int x = 256, y;
y = x % 0;
Your computer will explode. Don't do it!
Curly Howard
Director of EAC3TO Development
Director of EAC3TO Development
Re: PVBob() requiring mod8 height?
You could be right, jpsdr. I haven't learned quantum mechanics yet, maybe next week.
I'm shopping for a new PC...Curly was right.
I'm shopping for a new PC...Curly was right.
Sherman Peabody
Director of Linux Development
Director of Linux Development