Return to the CurtPalme.com main site CurtPalme.com Home Theater Forum
A forum with a sense of fun and community for Home Theater enthusiasts!
Products for Sale ] [ FAQ: Hooking it all up ] [ CRT Primer/FAQ ] [ Best/Worst CRT Projectors List ] [ Setup Tips & Manuals ] [ Advanced Procedures ] [ Newsletters ]

 
Forum FAQForum FAQ   SearchSearch   MemberlistMemberlist  Photo AlbumsPhoto Albums  RegisterRegister 
 MembershipClub Membership   ProfileProfile   Private MessagesPrivate Messages   Log inLog in 
Blu-ray disc release list and must-have titles. Buy the latest and best Blu-ray titles to show off in your home theater!

Custom 1024-point Individual R/G/B Gamma Correction for VP50
Goto page 1, 2  Next
 
Post new topic   Reply to topic   Printer-friendly view    CurtPalme.com Forum Index -> Video Processors, Converters, Switchers, Cables
View previous topic :: View next topic  
Author Message
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Sun Dec 21, 2008 7:44 pm    Post subject: Custom 1024-point Individual R/G/B Gamma Correction for VP50 Reply with quote


        Register to remove this ad. It's free!
1024-point Individual R/G/B Gamma Correction for DVDO VP50-family

A while back, I wrote:
> ...while the capability is there in the hardware, they never implemented any way to adjust the points in the OSD/GUI. So it's almost worthless, since it's unlikely at this stage that they'll spend that much effort. The potential saving grace is that I've been told by Dale that the functionality IS accessible via the serial control protocol (which is undocumented, other than possibly some internal engineering specs or notes). I'm petitioning DVDO to release those docs, so I can write my own control app. <

MikeEby requested:
> If you have any luck getting that informations let me know. That could be the tipping point for me on getting a VP50. <

Person99 commented:
> Wow, thanks Tim! When I first looked at it, I thought it is was equal to or inferior to the Lumagen in all ways but... <

I told Mike I'd let him know if anything came of it, so this is an update on that. I have now received some initial information, which looks like it will make it possible to pull this off. I don't know yet whether I have everything I will need, or if once I do, the information will actually work. I've been told by one source inside DVDO that the serial commands for these functions are in both the VP50 and VP50pro, and by another source there that they were designed in, but never actually implemented.

Due to work obligations ATM, and upcoming holiday festivities, it's doubtful I'm going to have much time to do anything significant with this for the remainder of the year. Though if I do find some time, I'll certainly give the basics a try, and see how the VP50 responds.

It will probably be January before I manage to produce anything concrete from this, but when I do, I'll also write up and release some documentation that will allow anyone else to write their own software, if they prefer to do something different than whatever utility(s) I come up with for this (UltraGamma?). Until then, I plan to keep it to myself, since all I have at this point is tech info in personal correspondence, which I don't share for privacy reasons.

There apparently never were any actual documents written with this information. So no PM requests, please, requesting a document that doesn't exist. But I did want to make good on my promise to Mike to keep him informed, and will continue to do so, as things evolve. As soon as I know something, so will you.

[Moved to it's own thread to avoid derailing the original, or getting lost in the middle of another discussion.]

_________________
- Tim
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Sun Dec 21, 2008 7:45 pm    Post subject: Reply with quote

Dave,
> Yes, this only happens with analog solutions. Though per our other conversations, I know how to reshape the curve (if you will) with a Lumagen and an HTPC, I thought it was impractical on the VP50? <

Your answer to that is above now. Smile It basically will be very similar to the HTPC method, that you're already used to.

My plan is to maintain the RGB gamma curves in a standardized file format as .CSV, and provide Load/Save capabilities in a utility, along with Send to the VP50 and some form of editing. By keeping the curves accessible like that, they can then be loaded into Excel (or anything) easily, and displayed/edited/whatever. I.e., decoupling the editing/processing functions. Then after saving them out again, they can be reloaded and sent to the VP50 with the utility, without having to write any code for that function (having to hassle with serial comm protocols).

That way, others can leverage off it, by being able to easily manipulate the data however they like. If you renamed the CSV file with a unique extension, like DGC (DVDO Gamma Curves), then you could just double-click on any gamma-curve file and have my utility auto-launch, load the file, and send it to your VP50 automatically. Stuff like that.

_________________
- Tim
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Sun Dec 21, 2008 8:03 pm    Post subject: Reply with quote

I've gotten more details on the VP50 gamma implementation, and filled in some of the blanks. That's the good news, which seems to confim that it will be possible to remap each of 1024 points in each of the R, G, and B channels, with 10-bit resolution. This means corrections could be made with exceptional accuracy.

I've also found out about a couple limitations of the VP50's custom gamma capabilities. They're not killer... just inconveniences. And while I don't want to squash interest before I even get started, I did want to share the information and see what impact folks might think it would have on usability.

Basically, the custom gamma curves are implemented in a RAM buffer, which gets loaded into the gamma LUT in the FPGA. They remain there as long as the VP50 is plugged in (has AC power), even if the unit is shut off for an indefinite period of time. However, apparently the VP50 has no non-volatile shadow memory to hold the 6 kB of gamma LUT information, so if power is lost to the unit, so is the custom gamma table.

This means that it will be necessary to reload the custom gamma data periodically/occasionally, which is a process that can only be done with a PC (or possibly a PDA, etc.) that can run a loader that speaks the VP50 comm protocol, and takes about 7 seconds to download over 40 kB of packets (running at the max speed of 57.6 kBaud). The reason for all the overhead is because only one 10-bit table entry can be sent in each message. So there's lots of packet wrapper overhead.

I'd be curious to hear opinions from those who might want to take advantage of custom gamma on the VP50-family processors.

_________________
- Tim
Back to top
MikeEby



Joined: 24 Jun 2007
Posts: 5236
Location: Osceola, Indiana


PostLink    Posted: Sun Dec 21, 2008 8:12 pm    Post subject: Reply with quote

Tim,

The first step I would do to find out if the command are implemented would be to connect the unit to a PC running Hyper Terminal or equivalent & establish a connection to the VP50 then attempt to set values with the brute force method by typing them in.

I am actually somewhat surprised that Anchor Bay does not offer an application to do this if the commands are implemented.

Mike

_________________
Doing HD since the last century!
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Mon Dec 22, 2008 1:04 pm    Post subject: Reply with quote

Hi, Mike. Glad to get some feedback.

I could try the brute-force typing just to see if the command gets NAK'ed or not, but that's not going to take me very far if I want to see something change on-screen. When you go to set the red curve, for example, that resets the pointer to the 0 slot. You have to send 1024 commands, and as soon as the last one is received, it will transfer the data from a temporary RAM receive buffer into the FPGA. Until then, you get nadda. Same for the other 2 primaries.

_________________
- Tim
Back to top
Person99



Joined: 09 Mar 2006
Posts: 4901
Location: Flower Mound, TX


PostLink    Posted: Mon Dec 22, 2008 2:52 pm    Post subject: Reply with quote

VideoGrabber wrote:
Hi, Mike. Glad to get some feedback.

I could try the brute-force typing just to see if the command gets NAK'ed or not, but that's not going to take me very far if I want to see something change on-screen. When you go to set the red curve, for example, that resets the pointer to the 0 slot. You have to send 1024 commands, and as soon as the last one is received, it will transfer the data from a temporary RAM receive buffer into the FPGA. Until then, you get nadda. Same for the other 2 primaries.


You couldn't really eff up one point, say jack the red at 2 IRE (point 20 or 21) way up and see a red tint in the blacks to see if it worked?

_________________
Dave

A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
Back to top
View user's photo album (1 photos)
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Mon Dec 22, 2008 9:23 pm    Post subject: Reply with quote

Dave,

no, unfortunately it doesn't work that way. The minimum required to see any change at all is to load a full 1024 data points. THEN and only then will the data be transferred from the RAM area into the FPGA. You can only start the loading process at 0, and it triggers the transfer to FPGA on receipt of the 1024-th data point. You can do one color at a time though.

I was looking more for reactions to the loss of gamma correction on power failures, due to the lack of NVM. And how folks felt about that.

_________________
- Tim
Back to top
MikeEby



Joined: 24 Jun 2007
Posts: 5236
Location: Osceola, Indiana


PostLink    Posted: Tue Dec 23, 2008 12:36 am    Post subject: Reply with quote

VideoGrabber wrote:
Dave,

no, unfortunately it doesn't work that way. The minimum required to see any change at all is to load a full 1024 data points. THEN and only then will the data be transferred from the RAM area into the FPGA. You can only start the loading process at 0, and it triggers the transfer to FPGA on receipt of the 1024-th data point. You can do one color at a time though.

I was looking more for reactions to the loss of gamma correction on power failures, due to the lack of NVM. And how folks felt about that.


Tim would this work?....Create an Excel worksheet exported to a text file. Hyperterminal has an option to then send the text file to the device. Note: This is only for testing, the final app would have a GUI but at least you could find out if the command set works.

I can test the Send text file option tomorrow at work with serial loopback, I don't have an USB to RS232 adapter handy at home to try with my notebook.


Mike

_________________
Doing HD since the last century!
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Tue Dec 23, 2008 1:12 am    Post subject: Reply with quote

Mike,

that might work, though I'd be concerned about overdriving the serial port on the VP50. Normally, you're supposed to wait for an acknowledgement message before sending the next one. If I had to guess, the full stack of messages wouldn't make it all in.

Doing a simple test app in VB for this isn't going to be that hard (certainly no harder for me than an Excel worksheet), or even take that much time. It's just that I have very little at the moment. I barely have time to stop in here once and a while. So what I was trying to do was get some idea if folks would diss it if could get wiped out occasionally.

One way or the other, I will wind up doing something with this. If others think the reloads are a PITA and not worth bothering with, I'll just do something for myself. If others might wind up using it, I'll probably put a bit more thought and effort into it.

P.S. You really don't even need Excel for this, which I assume you'd plan to use as a generator, with variable substitution. Since the base address is auto reset to 0 when you select a color channel, and auto-increments, you could just have one setting message, repeated 1024 times. Plus 2 prefix lines to enable things. That would generate a solid color, at whatever intensity you picked.

_________________
- Tim
Back to top
Gary M.
Guest







PostLink    Posted: Tue Dec 23, 2008 3:42 am    Post subject: Reply with quote

DVDO could very easily implement a greyscale and gamma system for the VP50pro, but they don't care to obviously

I actually have a program that allows you to edit these gamma points on the VP50, I never could get anywhere with it though Wink

here is a screenshot:




-Gary
Back to top
Gary M.
Guest







PostLink    Posted: Tue Dec 23, 2008 3:54 am    Post subject: Reply with quote

I have had this program for years and never could really understand how to proceed with it

if I understand correctly we go from 0 to 100ire, with 1024 points that is roughly 10.24 points for every single IRE

how does one go about adjusting the table to bump this up? say the first 51 points for 0-5 IRE

-Gary
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Tue Dec 23, 2008 4:27 am    Post subject: Reply with quote

That's very interesting, Gary. Thanks a lot for sharing that information! You just saved me a lot of time, since that looks similar to what I was planning on doing. Apparently, it's already been done. Shocked

> how does one go about adjusting the table to bump this up? <

Leave the 0 point alone, and perhaps up to 10 points above. That's the bottom 1 IRE. Pick a point where you want the maximum boost, e.g., say ~20 IRE, with it tapering off down to 1 and up to say, 30. That means you'll be adjusting the entries from 10-300, with those aound 200 being affected the most. Unity gain is simply slot[ i ] = i. You could start by bumping the values around 200 by 75 -> 275, and tapering off as you get farther away. Maybe bump 150 by 60 -> 210. And so forth. For gamma-comp, all 3 values would need to be adjusted in parallel.

Note the specific numbers mentioned are not intended to be recommendations for best performance. I haven't investigated precisely what those might be yet (was planning on doing some experimenting myself). But they should demonstrate the concept of what you need to do, to implement low-level gamma comp. For fixing other deviations in response, use something like HCFR to determine where you have peaks and valleys, then you can modify the R/G/B curve values individually to compensate for them.

> say the first 51 points for 0-5 IRE <

Addressing your question more specifically, if you change the value of 50 at point 50 to 60, you'll change the level at 5 IRE to 6 IRE.

Can you drag the curve around on that app, or do you need to enter all the numbers manually?

_________________
- Tim


Last edited by VideoGrabber on Tue Dec 23, 2008 4:41 am; edited 3 times in total
Back to top
Gary M.
Guest







PostLink    Posted: Tue Dec 23, 2008 4:34 am    Post subject: Reply with quote

Tim, that program is totally manual, you put in the display gamma and then set the scaler gamma to whatever it is set on on the unit, should be 1.0 I guess, then hit compute, then you can go over into the 1024 points and edit away

Tim, would you like for me to send this to you and you go to work on it and test it out?

this sort of comes from my DVDO beta testing, but I don't think it will hurt anything, or hope not Wink

-Gary
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Tue Dec 23, 2008 4:40 am    Post subject: Reply with quote

Yeah, that would be great, Gary. I PM'ed you with my e-mail address.

Since DVDO just gave me the undocumented tech info so I could write something like this myself, I can't see it would hurt anything.

_________________
- Tim
Back to top
SYC



Joined: 16 May 2006
Posts: 269



PostLink    Posted: Tue Dec 23, 2008 6:50 pm    Post subject: Reply with quote

It seems that I just bought a wrong video processor Lumagen HDQ. I need multi-point gamma correcting function, so I e-mailed to DVDO asking about this feature and was told only VP50 Pro has it. Then I decided to buy used HDQ with higher price than used VP50. I feel a little sad now.

SYC
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Tue Dec 23, 2008 6:55 pm    Post subject: Reply with quote

SYC commented:
> it seems that I just bought a wrong video processor Lumagen HDQ <

Not at all. The Lumagens have 11-point parametric correction, and it works NOW. And Dave can likely give you some pointers on how to optimize using those parameters.

Your e-mail from DVDO was incorrect, AFAIK, on both counts. The VP50pro does NOT have it ATM, and both the Pro and the normal VP50 support it (if someone comes up with the software to do it... DVDO hasn't, and isn't planning on it).

So, don't be sad. You've made the proper decision, at least for now. BTW, the Lumagens are great VPs too. Unless the VP50 has some feature you really need that the Lumgens lack (e.g. LipSync), you won't regret your purchase.

_________________
- Tim
Back to top
VideoGrabber



Joined: 09 Apr 2006
Posts: 933
Location: Michigan


PostLink    Posted: Tue Dec 23, 2008 7:08 pm    Post subject: Reply with quote

I need to run, but I wanted to share a bit of info I've uncovered. Gary was kind enough to provide me with a copy of the above Gamma Control Loader, and I've made a few findings.

First off, it wasn't written by DVDO. It was done by Barry Gordon, who also wrote a nice, functional editor program for the VP series processors, which is widely used. It's also early beta-level software, and was really more of a proof of concept. Barry was writing it to test the gamma control functions, which were still under development at DVDO at the time. His documentation includes a plea to DVDO to change how the serial communications worked, because it was problematic in a number of ways.

Evidently they did, because what he describes is different from the internals information I've obtained recently from DVDO. As a result, his tool can't load anything into a VP50. So it's no surprise, Gary, that you could never seem to get it to work.

There are also several bugs in the code, including the inability to reload saved files from disk back into the App. And other various gotchas. What it can do is generate a variety of gamma curves, based on a gamma parameter, display those curves, and (clumsily) allow data points to be edited, and then saved to a disk file. It does a decent job with that much, though the point editing is a bit nightmarish.

I've sent off an e-mail to Barry to inquire what the current status of his App is, though I highly suspect that he's done nothing with it. Hopefully, that's not the case. I've also asked whether he would be interested in getting working comms driver code from me that he could incorporate, or if he's not interested in pursuing it, if he would share his source code, to avoid reinventing the wheel. I'll let you know when/if I hear back from him.

Bottom line though... it looks nice, but it dun't woik.

_________________
- Tim


Last edited by VideoGrabber on Sun Dec 28, 2008 7:38 am; edited 1 time in total
Back to top
Person99



Joined: 09 Mar 2006
Posts: 4901
Location: Flower Mound, TX


PostLink    Posted: Tue Dec 23, 2008 7:12 pm    Post subject: Reply with quote

SYC wrote:
It seems that I just bought a wrong video processor Lumagen HDQ.


Actually, if you talk to me, you bought the right VP. Wink

SYC wrote:
I need multi-point gamma correcting function, so I e-mailed to DVDO asking about this feature and was told only VP50 Pro has it. Then I decided to buy used HDQ with higher price than used VP50. I feel a little sad now.


DVDO does not have what you need, Lumagen does. Read the FAQ called "Q: How do I use the new 2/5/11 point color temperature command?" here:
http://www.lumagen.com/testindex.php?module=faq_vis

Use the 11 point. It is parametric so that the create the proper curve from whatever points you set. The points are default at:
0, 10, 20, 30, ...100

For correcting the black crush of CRTs, I like to move the 10 point down to around 3. Then bump the Luma up for that point (you may have to decrease the RGB values to get proper color temp). If you don't need any other adjustments, you can leave the other points where they are (which usually works pretty well on a CRT).

If you need to tweak more, move the 10 and 20 points to 2 and 4 respectively. If the curve is too steep, move the 30 point to around 15 and use it to slope the curve a bit more than their built in functionality does.

_________________
Dave

A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
Back to top
View user's photo album (1 photos)
Nashou66



Joined: 12 Jan 2007
Posts: 16167
Location: West Seneca NY


PostLink    Posted: Tue Dec 23, 2008 7:24 pm    Post subject: Reply with quote

Person99 wrote:
SYC wrote:
It seems that I just bought a wrong video processor Lumagen HDQ.


Actually, if you talk to me, you bought the right VP. Wink

SYC wrote:
I need multi-point gamma correcting function, so I e-mailed to DVDO asking about this feature and was told only VP50 Pro has it. Then I decided to buy used HDQ with higher price than used VP50. I feel a little sad now.


DVDO does not have what you need, Lumagen does. Read the FAQ called "Q: How do I use the new 2/5/11 point color temperature command?" here:
http://www.lumagen.com/testindex.php?module=faq_vis

Use the 11 point. It is parametric so that the create the proper curve from whatever points you set. The points are default at:
0, 10, 20, 30, ...100

For correcting the black crush of CRTs, I like to move the 10 point down to around 3. Then bump the Luma up for that point (you may have to decrease the RGB values to get proper color temp). If you don't need any other adjustments, you can leave the other points where they are (which usually works pretty well on a CRT).

If you need to tweak more, move the 10 and 20 points to 2 and 4 respectively. If the curve is too steep, move the 30 point to around 15 and use it to slope the curve a bit more than their built in functionality does.


Exactly what dave says, i use the 10 at 5 then i set the 20 at 7.5 and set the 30 to 18 to straighten out the gamma curve,
then i just went back and checked the greyscale and went back and forth a few times to get it better each time.

Lumagens Rock.

Athanasios

_________________
Don't blame your underwear for your crooked ass~ unknown Greek philosopher


"Republicans believe every day is the Fourth of July, but the Democrats believe every day is April 15." --- President Reagan

One Smart Dog!!!

Marquee High Performance Bellows now shipping!!
Marquee Modifications and Performance Enhancement
Marquee C-element and Bellow removal
Back to top
View user's photo album (1 photos)
SYC



Joined: 16 May 2006
Posts: 269



PostLink    Posted: Tue Dec 23, 2008 7:45 pm    Post subject: Reply with quote

It seems a good news for me Laughing
But I do like HDMI switching function if possible. I spent $900 on a used HDQ and this one is $300 higher than a used VP50 ones which is still listed on Ebay.
My reason for this funciton is to make the greyscale flat since we all know that there are small bumps of R and B in the middle, even B is defocused. I don't like HTPC, so video processor is the only way to go. Wish HDQ won't let me down.

SYC
Back to top
Display posts from previous:   
Post new topic   Reply to topic   Printer-friendly view    CurtPalme.com Forum Index -> Video Processors, Converters, Switchers, Cables All times are GMT
Goto page 1, 2  Next
Page 1 of 2
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum