|
|
| Dstruct |
| Posted: Oct 30 2010, 11:49 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 257
Member No.: 24005
Joined: 8-August 08

|
| QUOTE (phaeron @ Oct 31 2010, 01:02 AM) | | Odd. I always thought HC people were picky enough that they wouldn't be willing to sacrifice color precision to do color adjustment in the PC instead of on the display device. | What do you mean?
It's pretty the same as color management in graphic editors, not? Needs a calibrated display but also support from the application (using monitor profile). |
 |
| levicki |
| Posted: Oct 31 2010, 02:45 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 167
Member No.: 22605
Joined: 13-December 07

|
| QUOTE (Dstruct @ Oct 26 2010, 02:09 PM) | In Media Player Classic Homecinema they use Little CMS: http://www.littlecms.com
Maybe this could be used in VirtualDub too? |
I use littlecms for my image viewer.
It takes a lot of CPU power to color-correct an image, especially higher-resolution ones (6000x4000 image takes almost 3 seconds on my Core i7-920).
For color correction you need to know source colorspace.
As far as I know, videos do not have embedded color profiles so your corrections will end up as accurate as your guess of source colorspace.
I haven't tried Windows color management functions so I cannot comment on their speed but I doubt they are any faster. Moreover, they have been deprecated in Vista and Windows 7 in favor of WCS.
Finally, in 90% of the cases we are talking about lossy compressed videos which have chroma components squashed. What kind of wide color gamut you are expecting to see by color correcting those is beyond me. |
 |
| Dstruct |
| Posted: Oct 31 2010, 03:03 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 257
Member No.: 24005
Joined: 8-August 08

|
| QUOTE (levicki @ Oct 31 2010, 04:45 PM) | | QUOTE (Dstruct @ Oct 26 2010, 02:09 PM) | In Media Player Classic Homecinema they use Little CMS: http://www.littlecms.com
Maybe this could be used in VirtualDub too? |
I use littlecms for my image viewer.
It takes a lot of CPU power to color-correct an image, especially higher-resolution ones (6000x4000 image takes almost 3 seconds on my Core i7-920). | MPC-HC seems to be pretty light on CPU. But I also don't have videos in 6000x4000 size ... |
 |
| levicki |
| Posted: Oct 31 2010, 03:36 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 167
Member No.: 22605
Joined: 13-December 07

|
| QUOTE (Dstruct @ Oct 31 2010, 04:03 PM) | | QUOTE (levicki @ Oct 31 2010, 04:45 PM) | | QUOTE (Dstruct @ Oct 26 2010, 02:09 PM) | In Media Player Classic Homecinema they use Little CMS: http://www.littlecms.com
Maybe this could be used in VirtualDub too? |
I use littlecms for my image viewer.
It takes a lot of CPU power to color-correct an image, especially higher-resolution ones (6000x4000 image takes almost 3 seconds on my Core i7-920). |
MPC-HC seems to be pretty light on CPU. But I also don't have videos in 6000x4000 size ... | I don't have such large videos either, it was just for comparison.
Anyway, I just tested with 1920x1080 image -- littlecms takes 222ms for color transformation (conversion from source colorspace to destination colorspace) on my Core i7-920 CPU (which is clocked at 3.3GHz by the way).
That would be 4.5 FPS. |
 |
| phaeron |
| Posted: Nov 3 2010, 09:48 PM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
| QUOTE | What do you mean?
It's pretty the same as color management in graphic editors, not? Needs a calibrated display but also support from the application (using monitor profile).
|
Any time you are using a monotonic color mapping other than identity, you are losing output precision. The usual situation is 8 bits per channel on both input and output, which means that any compensation mapping causes a small amount of visible banding. This is fine for casual viewing, but for this reason, the alternative approach of modifying the display settings is usually preferred in situations that demand high quality. The usual method involves tweaking the settings on the display itself. With an analog display or an LCD display supporting at least 30-bit color, it is also sometimes possible to either use high output precision gamma ramps on the DAC (limited transforms and whacks entire display) or a 30-bit framebuffer (only supported by some recent 3D cards, and often also only full screen). It's also possible to dither the output, but the increased grainyness may not be acceptable.
If you are in a situation where there is sufficient precision or the precision loss is acceptable, though, then it's not a big deal to do the transform in real time on a modern 3D card. The straightforward way to do it is a lookup through a 3D texture with linear interpolation, which is handy because it's trivial to hook up to any existing CMS system -- you just ask it to map a boatload of color points in a grid. |
 |
| Dstruct |
| Posted: Nov 4 2010, 07:21 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 257
Member No.: 24005
Joined: 8-August 08

|
| QUOTE (levicki @ Oct 31 2010, 05:36 PM) | Anyway, I just tested with 1920x1080 image -- littlecms takes 222ms for color transformation (conversion from source colorspace to destination colorspace) on my Core i7-920 CPU (which is clocked at 3.3GHz by the way).
That would be 4.5 FPS. |
Mmh, in MPC-HC this is a lot faster. I can watch 25fps videos in that size with enabled color management on an Intel Core 2 Duo E6700. |
 |
| mrphantuan |
| Posted: Jan 2 2011, 06:38 PM |
 |
|
Unregistered

|
I had something like this in mind:
-> let the user specify a icc file (the one you get from calibration) -> then with some pixel shader the colors should be adjusted by virtualdub to the screen (only to the screen!) according to the icc file |
 |