View Full Version : Playback of xvid file - black screen
Taurec
8th March 2002, 00:22
Hi,
a problem that just occured. Playback worked before. I simply installes the xvid codec (Win2k). I can encode, and also playback worked. Today I tryed again, I can encode, but playback only gives me a black picture. I checked the FourCC description and used codec: It says XVID in both fields. What else to check?
Teegedeck
8th March 2002, 01:35
Hi,
could it be that you still haven't got the XviD directshow filter installed? Check whether you can still watch your old encoded files. If they're still playable, check if their fourcc is 'divx' or 'xvid'. If it is 'divx', you have to install the xvid dsf, if it is 'xvid', I don't know, either.
Neo Neko
8th March 2002, 03:40
If there is no video displayed it is highly likely that the decoder is foobared or not installed. Try encoding a clip with Xvid set to use the Divx fourCC and see if it works.
wing1
5th April 2002, 19:04
I am currently having the same issue with the new build 3/30/2002 and forward. It will only display black screen on both the default xvid.ax and Nic's xvid.ax. If I unregistered the xvid.ax then the clip will play. If I changed the fourCC to divx then the clip will play. If I install the bicubic Resize filter then it will play also. This clip will play on my other W2K system fine and so does the 2 win98 systems. I have uninstalled all codecs from the system and re-installed them again. Still I am having this problem.
Where does regsvr32 install to ? registry? or ini file system?
Doh! I don't know how I could have broken anything (havent changed the source)??? It worked ok on my system...maybe its the xvid.dll ?
-Nic
wing1
5th April 2002, 19:36
@Nic
Oh no, by all means it is not your compile that broke, because it works great on my other W2K system and my win98 systems. I am wondering what went wrong with one W2K system that refused to work at all.
The system that refused to work has many things installed and uninstalled :D It is for testing purposes and I must have done something wrong in the process that caused this issue.
This system has been through :
Ogg DS filter(s) upgrades ( lots of them )
xvid upgrades ( lots of them too )
divx upgrades ( 4.01, 4.02, 4.11, 4.12, 4.5, 4.5Pro )
virtualdub upgrades ( 1.47, 1.48, 1.49 )
divx3.11alpha, divx3.11VKI, mpg4V3VKI, SMR, etc
DS Bicubic_ResizeFilters upgrades
Avisynth 1.0, 1.03, 1.05
These are the main upgrades not to mention a few other minor ones.
Perhaps on of these upgrades did something to the system files, and it is causing this problem. I just want to know how to fix without reinstall the whole operating system over again :(
avih
5th April 2002, 22:38
wing1:
try playing the clip with vdub.
vdub uses vfw only, and don't care about the dsf. vdub can even (theoretically, never tried) play an xvid clip using xvid.dll even if the xvid.ax is not anywhere in the system.
so, if it plays in vdub, something's broken in the chain codec->dsf. if it doesn't play with vdub, it's decore.
cheers
avi.
avih
5th April 2002, 22:57
@nic
u know, the fact that your filter doesn't accept (=overrides) my postprocessed image makes me think. maybe it has something to do with these black playback screens and other incompatibilities.
maybe there's something wrong in the way u get the image from decore, or whoever 1st implemented it had something wrong (on 2nd though the initial implementation is good, since in an old dsf, it does show my output)
in decoder.c in the function decoder_decode, after the call to the actual building of the image, the function that outputs the decoded image is:
image_output(&dec->cur, dec->width, dec->height, dec->edged_width,frame->image, frame->stride, frame->colorspace);
so basically, if u read dec->cur yourself, all seems fine. BUT since i use another copy of dec->cur, modify it, and send the new image in 'image_output' function, your dsf doesn't get it. it means it doesn't read the image from the proper output of the decoder (again, the old dsf, does use my modified image).
image_output handle color conversions, and propagate the image further. maybe in system where there's no yuy2 overlay (or another application is already using overlay), it should translate the image to rgb or something, but since you don't use the output from 'image_output', something your don't get the translated version. and the player is showing a blank image.
maybe, just as a test case, try to have a look at an old dsf, and utilize it's input image instead of overriding image_output's output.
if the case is indeed with missing conversions, it might be a hard work, converting from whatever color space, to yuv, such that your filter work ok, and then convert it again to the original color space.
it could be the case.
cheers
avi
wing1
5th April 2002, 23:47
@avih
Thanks for the reply. Virtualdub has no problem open and play the clip. This is the weirdest thing that is happening to me. I have never have this issue from the first day I use xvid and nic's DSF. This is only happening recently. It doesn't even play using the default xvid.ax filter from uManiac's instant builds. If I unregister the xvid.ax, then the clip will play using only video render from WMP: This is using xvid fourCC. Again my other W2K system does not have this problem, nor do the other two capture putters (win98). All of these uses AMD CPU's. I don't think it's xvid that is causing this problem. It must be some other .DLL's that is corrupted that is causing my problem.
avih
5th April 2002, 23:54
maybe an expert dshow programmer should have a look at the dsf and say if something might go wrong in some cases...
@wing1:
u're not the 1st one that says that the dsf (old one and nic's) has sometimes problems.
i'll wait for nic's respons regarding my previous post to him.. there's a chance he accidentally added another problem as i suggested in that post.
regards
avi
wing1
6th April 2002, 05:48
Ok, I've found out some interesting thing with this particular W2K system.
1. It is using two monitors via AGP(primary) and PCI(secondary).
2. AGP monitor is the one that refused to play the clip(black screen); It will only play if I grab WMP and juggle it around the screen! AGP video board is Nvidia TNT2 32Mb.
3. PCI monitor will play the clip if i moved WMP over to its monitor. This is an ATI Rage XL 8Mb board.
This issue may be due to the Motherboard driver. I am going to reinstall the darn AGP driver for it tonite.
Cryect
6th April 2002, 06:09
Try reducing your hardware acceleration windows is using all the way down. Sounds like there is a problem with the overlaying in the drivers.
wing1
6th April 2002, 06:27
@Cryect
That does the trick :D Thank you!!!!!
Why is that a problem? divx works fine tho.
I deselect the PCI graphic board and only run on AGP and it still has the problem. If I reduce the hardware acceleration to zero, full screen plays only 1/4 of the screen. Reduce the acceleration by 1 notch and everything is fine. hmmmmm..........
Ok Avi Ill explain....
Im getting the core frame in exactly the same way as the old DShow does, I just ask it not to do any color conversions on it (unlike the old DShow).
However, I save what the color conversion should have been.
I then do post-processing on the image. Then tell image_output to do the required color conversion & output the frame.
That is the only way of doing it in DShow & has worked very very well up until now. The core changes of recent have made previous versions of the xvid.ax crash. That means something in core is being changed that effects playback quite severely...I don't know what that is, but its either that..or a bad compile (which is probable) that has caused this bug.
Im fully aware of how the decoder works. My DSF gets the frame outputted by the image_output at the end of the decode function, as it should.
(You shouldn't be making another copy of dec->cur & calling image_output....)
The reason it doesn't work, has nothing to do with the way I deal with frames (as I do it the only possible way)....I know why it doesn't though...see if you can work it out.
-Nic
avih
6th April 2002, 12:29
@nic
no offence at all.
i was just suggesting whatever i could, since ppl did have problems.
and all i did was suggestions, and i said i'm not sure since i didn't see your code, AND i haven't done dshow programming myself.
pls don't take it as offence.
regards
avi.
ps
@wing1: glad it's solved.
I did take offence to:
"maybe an expert dshow programmer should have a look at the dsf and say if something might go wrong in some cases... "
&
".. there's a chance he accidentally added another problem as i suggested in that post. "
But dont worry about it. Sorry to hear about your harddrive troubles...Thats happened to a friend I know at work, lost months of code. :(
-Nic
trbarry
6th April 2002, 13:13
I did take offence to:
"maybe an expert dshow programmer should have a look at the dsf and say if something might go wrong in some cases... "
Nic -
I did notice that when I compile the (long unchanged) version of your dshow source it didn't work anymore with the newer CVS stuff. But I was hoping that expert dshow programmer was you since it is certainly not me. ;)
And I strongly agree with getting the data before any unneeded color space conversions. Dshow programming is rife with those anyway and they are expensive. Much of video programming overhead is just memory bandwidth limitations of dragging the data around from one place to another.
- Tom
avih
6th April 2002, 14:21
tom:
the dsf uses xvid.h.
there are 3 identical instances of (at least) this file: for dshow, vfw and core.
maybe u should replace the xvid.h in the dshow source with the new one and then try to recompile.
nic:
ok, after reading your offences, i now KNOW u're a dshow expert :)
be ready to confront the consequences when i try new stuff :)
cheers
avi.
ps.
using another comp now. i'll start fixing mine tomorow.
wing1
6th April 2002, 16:34
@xvid developers (-h, nic, avih, tom, koepi, issibar, foxer, & behind the scene personel )
I am very sorry to cause this issue among you guys, and I know the codec is still in alpha stage; However, this is a problem and I am reporting it as a tester in hope that experts can see what is wrong. I hope I did not offense anyone in the process.
@nic
I never have said that your DS filter is the root cause. It is by far the best filter out there. This is why it is alarming to me that it does not work.
trbarry
6th April 2002, 16:49
It is by far the best filter out there. This is why it is alarming to me that it does not work.
What a commentary on the state of filters everywhere! wing1, you are indeed a born diplomat. ;)
- Tom
wing1
6th April 2002, 17:39
ahh let me re-phrase that statement once again.
for the purpose of what the filter is doing to the codec: It is the best. That does not mean the other filters are not the best of its class.
I realized that there are others such as yours SimpleResize Filter (Tom) and the other Bicubic_Resize filter as well. They too are the best of their class. This is the reason why I have hoped that you would code your filter to work with Nic's filter (autoload).
Off course, there are others who would opinion differently from myself. Nevertheless, I do think that Nic's DSfilter is the best for xvid and if your SimpleResize filter is made to autoload instead of using via Avisynth ala script, then xvid world would be perfect :D
trbarry
6th April 2002, 18:45
wing1 -
Sorry. I guess my humor did not fly. It just seemed funny to me. I mean, if the best of all filters didn't work, then the other ones probably didn't either.
But I have had too much coffee this morning and I tend to ramble at even the best of times. ;)
Now, back to our regularly scheduled debugging ...
- Tom
wing1
7th April 2002, 01:11
hehehe :D That's ok tom. I understood what you meant. However, I've to clarify my statement a little so that it doesn't come out as an offensive statement.
gonwk
24th September 2006, 23:10
Hi folks,
I was reading this forum ... I am able to play some of my .AVI files that are made by Xvid with Window Media Player and I have DirectVobSub ... so my subtitles pop up automatically ... BUT some of my AVI's (Xvid) will have this "Black Screen" ...
As per the other poster I checked my AVI file using VDub and it is A-OK ... and I can play them with VLC (But no Subtitles) ...
Q: Can I just use "Nic's FourCC Changer" to change my FourCC code from Xvid to DivX? And would that fix my problem?
ALSO ... a bigger problem ... I am having difficulty with my subtitles of AVI files freezing when playing on my new Philips DVP5960!!!! CAN Anyone help me with this darn problem?
Thanks!
G!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.