PDA

View Full Version : All XviD Decoded at Wrong Colors


Tornberry
16th August 2004, 05:20
I'll make this short and to the point:

-Ripped the DVD. (YV12)
-Used AviSynth with both internal and external fitlers (all of which support YV12 colorspace) to create an .AVS file.
-Loaded the .AVS file into VirtualDub and used Fast Recompress to make an XviD (1.0.1 Koepi) AVI. (YV12)

Since I kept the colorspace as YV12 all the way through, how come XviD decodes at richer (and not as clean) colors? It is impossible to show you a screenshot of this because if I load the XviD video file into VirtualDub, the colors are back to being the same as the original.

I'm using FFDShow (with no filters active) to decode XviD. I've tried using both XviD 1 and libavcodec to decode. Both yield the same results.

I do notice that if I cover the playing video file with a huge window (such as IE) and then return to the video file, it will show the correct colors until it hits a keyframe. Then it goes back to the richer, less cleaner, colors.

If I use Media Player Classic to decode the video (instead of Windows Media Player 6.4) the colors are correct this time.

(Since many people use WMP 6.4 anyways, I wish them to see the correct colors when playing the video files. Not all will resort to MPC.)

KR
16th August 2004, 07:04
I think this has nothing to do with XViD.

You might be having problems with your Overlay settings. Brightness, Contrast, Saturation and Gamma settings can be adjusted independantly for Desktop, Overlay and Full Screen Playback on a second monitor or TV, in the video card's driver configuration.

Media Player Classic might be configured to not use Overlay, which could explain why the colors are correct. The colors are okay in VDub because it doesn't use Overlay.

My suggestion is to try to see if the problem appears in Media Player Classic when it is configured with different renderers (especially Overlay), and to adjust your video card's settings. You'll need to adjust them until Overlay gives a similar output as any other non-Overlay renderer.

Manao
16th August 2004, 07:05
What you described looks like an overlay issue. What are your OS / DirectX version / graphic card / graphic drivers ? To what colorspace do you output the video clip ( it is an option which you can set in FFDshow and XviD decoder ) ?

Tornberry
16th August 2004, 07:15
-Windows 2000 Pro
-nVidia GeForce4 ti4200 (latest drivers from the official site.)
-DirectX 9.0b

It seems that the default overlay (in my graphic card settings) has Saturation set to 115%. I changed this to 100%. The picture looks a little better now, but it is still slightly different than the original.

Is there a way to tell WMP 6.4 to not use the overlay? I tried unchecking YUV and RGB overlay in the DirectDraw properties in WMP6.4. (File > Properties > Advanced > Video Renderer > DirectDraw)

However, after applying and restarting WMP 6.4, the two boxes are still checked! The settings reset without my doing.

Manao
16th August 2004, 07:24
With Media Player Classic, you can deactivate overlay easily. Why bother with WMP 6.4 ? Colors in overlay will always be slightly different if you do not take care to tweak properly its color settings. You should be able to do it by going into the driver's property page.

KR
16th August 2004, 07:38
You'll have to play with the settings until you think it's right. For the colors to be okay, Saturation probably has to be set at a different value. 100% is just an arbitrary value: It doesn't guarantee the best output. You'll have to find the ideal value.

WMP 6.4 and WMP 9 are crappy players, in my not so humble opinion. Media Player Classic is much better. However, I would take the time to properly adjust Overlay settings, and would not deactivate it, because using it requires less processing power.

Since many people use WMP 6.4 anyways, I wish them to see the correct colors when playing the video files. Not all will resort to MPC.)
There's not much you can do. As you can see, many people have non-optimal overlay settings. But it also applies to non-overlay settings. Also, many do not follow the sRGB standard, which states that color temperature should be 6500 K. I myself use 7500 K. At least, I do use the established gamma standard, but many people don't. (I'v heard Mac users use 1.6 or 1.8 instead of 2.2). Brightness is often poorly adjusted on many computer monitors. There is simply no way to make sure everyone sees the video as you encoded it.

Tornberry
16th August 2004, 16:05
I understand now. (Thank you everyone for clearing it up.)

There is one last, silly question: If XviD truly encodes in YV12 colorspace, why would any RBG values or tweaks affect the video's output? :confused:

(I'll be using MPC from now on anyways.)

Selur
16th August 2004, 17:06
your graphic card should output RGB, since afaik monitor&co (atm) are only able to playback RGB