View Full Version : ffdshow tryouts project: Discussion & Development
Kurtnoise
15th May 2009, 17:07
I use both MP4 splitters. Haali by default. Gabest as backup when Haali fails. Its just a matter of toggling the preferred splitter through a registry setting.
Also, the Haali splitter is not yet updated for compliant AC3-in-MP4 streams.
I am using a avisynth script in ffdshow that needs more than 99 buffers.
Sorry, but I call bull**** on that one.
So I humbly ask Leak if he can kindly raise the buffers so they can go over 100.
No way in hell. If your script needs more than a second of video buffered in both directions please fix your script, you're doing it wrong.
np: Sleepy Town Manufacture - O Nei (Inspired By You)
Sharktooth
15th May 2009, 17:40
@kurtnoise: doh! i thought the gabest mp4 splitter from project guliverkli...
RadScorpion
15th May 2009, 18:39
I'm not sure if this is a known bug, but Gabest MP4 splitter ignores values in "EDTS\ELST" boxes and if both streams don't start with the same time stamp values, it introduces desync. Haali works fine with this.
Jeremy Duncan
15th May 2009, 19:00
Sorry, but I call bull**** on that one.
No way in hell. If your script needs more than a second of video buffered in both directions please fix your script, you're doing it wrong.
np: Sleepy Town Manufacture - O Nei (Inspired By You)
Thank you for the reply. I thought it was a bit weird too that I would need more than 99 buffers. The script is not mine but somebody elses in a different forum. I was trying it out.
STaRGaZeR
15th May 2009, 19:08
haruhiko, after testing your lastest fixes to ffmpeg-mt I've noticed that each revision has fixed various blocking issues with different sources. However the changes in rev2941 produce some garbage when seeking the Blu-ray MSG00 ED.mkv comes from. Your code from rev2939 works perfectly fine.
haruhiko_yamagata
16th May 2009, 00:14
revision 2896 works ok (tested with 32bit compiles acquired from xvidvideo) but all recent builds since then cause an explorer crash when building thumbnails for MP4 files using Gabest's splitter from HC SVN builds. (OS: Vista 32bit)
After all, I can't reproduce. It was old MPC-HC EVR-custom with interlaced flag output (double clicking mp4 happened to open that quite old MPC-HC on my Vista). The latest MPC-HC works just fine.
If you can find a file that makes ffdshow crash, please send it to me.
// EDIT: By the way, how can I create thumbnails for explorer in Vista? I have tried some registry hacks which didn't work. I can create thumbnails for FLV, but not for MP4. Thumbnails are created for MKV, but they are all white.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.mp4]
@="mp4file"
[HKEY_CLASSES_ROOT\.mp4\ShellEx]
[HKEY_CLASSES_ROOT\.mp4\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
@="{c5a40261-cd64-4ccf-84cb-c394da41d590} "
Kurtnoise
16th May 2009, 08:15
By the way, how can I create thumbnails for explorer in Vista? I have tried some registry hacks which didn't work. I can create thumbnails for FLV, but not for MP4. Thumbnails are created for MKV, but they are all white.
try to clean up the thumbnails cache (http://a8t8.spaces.live.com/blog/cns!2518DD508BB713E8!265.entry)...
haruhiko_yamagata
16th May 2009, 09:07
try to clean up the thumbnails cache (http://a8t8.spaces.live.com/blog/cns!2518DD508BB713E8!265.entry)...
Thank you. I have changed the value to {327669A0-59A7-4be9-B99E-1C9F3A57611A}. It started to created thumbnails. Though they are all white, I can't reproduce crashes.
haruhiko_yamagata
16th May 2009, 09:38
haruhiko, after testing your lastest fixes to ffmpeg-mt I've noticed that each revision has fixed various blocking issues with different sources. However the changes in rev2941 produce some garbage when seeking the Blu-ray MSG00 ED.mkv comes from. Your code from rev2939 works perfectly fine.I can't reproduce.
To which frame should I seek? How many threads are used?
clsid
16th May 2009, 12:39
I'm not sure if this is a known bug, but Gabest MP4 splitter ignores values in "EDTS\ELST" boxes and if both streams don't start with the same time stamp values, it introduces desync. Haali works fine with this.
I don't think that is a known bug. Please report it to Casimir666. Then it get hopefully be fixed soon.
haruhiko_yamagata
16th May 2009, 13:18
Edit: I've tested and still have the problem. It happens even with empty plugins and plugins32 directories. Build 2645 is the most recent which works properly. Tested with Athlon and XP Pro and also with Centrino Duo and Tablet PC.
Does this mean image filters are not related at all? Is it CPU specific?
STaRGaZeR
16th May 2009, 17:51
I can't reproduce.
To which frame should I seek? How many threads are used?
I can't reproduce in that short sample, but on the entire file in random locations. 4 threads are used, but it happens also with only 1 thread. As I say rev2939 works fine, isn't rev2941 a better way of doing the same?
travolter
16th May 2009, 18:52
Its possible Anaglyph filter into ffdshow? (remember... the red&cyan glasses!!)
http://www.stereoscopy.com/faq/anaglyph.jpg
Watch videos in 3D!!!
FredThompson
16th May 2009, 20:54
Does this mean image filters are not related at all? Is it CPU specific?I have the problem with no filters present. I tested on an Athlon running Windows XP Pro and on a Centrino Duo running Tablet XP. The error happens with both ffdshow_rev2946_20090515_clsid and ffdshow_rev2946_20090515_xxl releases.
I will have access to an Athon 64 running Windows XP Pro tomorrow and will test on it as well.
Are the HuffYUV routines the exact same for build 2645 and whatever revision was next? Could it be a compiler issue?
lych_necross
16th May 2009, 22:29
Its possible Anaglyph filter into ffdshow? (remember... the red&cyan glasses!!)
Watch videos in 3D!!!
Probably via an avisynth plugin, but I don't know if any anaglyph filters exist in avisynth.
Jeremy Duncan
17th May 2009, 03:30
I am using a avisynth script in ffdshow that needs more than 99 buffers.
Here is the script:
setmtmode(mode=2)
last=ffdshow_source()
super = MSuper(pel=2,hpad=4,vpad=4)
backward_vec = MAnalyse(super,chroma=false, blksize=16, isb = true, search=5, searchparam=1)
forward_vec = MAnalyse(super, chroma=false, blksize=16)
MFlowFps(super, backward_vec, forward_vec, num=0, mask=1, ml=49)
distributor()
Ädd ffdshow video source" is unchecked.
I have a ntsc dvd called "The bourne identity". And it has a sub root menu that asks me if I want to see the extended or regular version.
I use this sub root menu to identify how much the buffer need to be.
How I do this is if the buffer is high enough the sub root menu will show.
How I see if the buffer is high enough is if it is too low a buffer number I raise it by 2 and the sub root menu is not seen but the picture overlaying on it has moves a frame, I keep adding buffers by two and in so doing move the overlaying picture frame by frame until the sub root menu is visable.
In windows 7, if the buffer is too high the video has a paused frame every few seconds.
So I need to keep the buffer high enough I see the sub root menu and low enough the video is windows 7 doesn't pause every few seconds.
I have raised the buffers to 99, 99 and in so doing have almost gotten to the sub root menu but I need more buffers, over 100 to get there.
So I humbly ask Leak if he can kindly raise the buffers so they can go over 100.
And if he does not believe me that they need to be so high he can test the code I posted above on a dvd that has a sub root menu that asks if he wants to see the regular or extended version. :)
I'm almost got the buffers where I need them to be I just need over 100 buffers to get there and am stuck at 99 buffers.
After telling the person who gave me the code in the quote above. He said the code was not wrong.
So I thought about it and decided to try the mt method and frame doubling method in the mvtools readme.
This would guarantee that neither the use of mt or the frame doubling method was done wrong with bad code.
So I will now post the codes I tried. The first code I will post is the exact code the person asked me to try:
#Settings
tc=4 #general thread count (try 2 or some other until it fits)
bs=16 #general block size (8 for nicer but slower)
ch=false #chroma correction (try true for nicer)
ms=0 #mask filtering (0-2)
sr=3 #search radius (3-4)
sp=1 #search param (1-2)
rr=60 #refresh rate of your screen
#EndSettings
#
SetMTmode(2, tc)
last=ffdshow_source()
super=MSuper(pel=1, hpad=bs, vpad=bs, chroma=ch)
backward_vec=MAnalyse(super, blksize=bs, chroma=ch,\
search=sr, searchparam=sp, isb = true)
forward_vec=MAnalyse(super, blksize=bs, chroma=ch,\
search=sr, searchparam=sp)
MFlowFps(super, backward_vec, forward_vec, num=0, mask=ms)
ConvertFps(rr) #remove this line for more speed
distributor()
The next two codes are from the mvtools readme. Note that the frame doubler did not use mt in the readme but I followed the readme on how to and did so in the two codes below. All of the two code from the codes below is from the mvtools readme:
last=ffdshow_Source()
MT("""
super = MSuper(pel=1,hpad=16,vpad=16)
backward_vec = MAnalyse(super, blksize=16, isb = true, chroma=false, searchparam=1)
forward_vec = MAnalyse(super, blksize=16, isb = false, chroma=false, searchparam=1)
MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(last), \
den=FramerateDenominator(last), mask=0)
""",2)
setmtmode(5)
last=ffdshow_Source()
setmtmode(2)
super = MSuper(pel=1,hpad=16,vpad=16)
backward_vec = MAnalyse(super, blksize=16, isb = true, chroma=false, searchparam=1)
forward_vec = MAnalyse(super, blksize=16, isb = false, chroma=false, searchparam=1)
MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(last), \
den=FramerateDenominator(last), mask=0)
I will post the sample of the movie, the root menu that is having the problem.
Use mpc and open file and open the top file from the list.
sample (http://www.mediafire.com/?mun4hxxmcny)
On the sample rrot menu click Play and it will take you to the sub root menu.
I will post the software I'm using now:
FFDshow. Updated april 24, 2009 (http://sourceforge.net/project/downloading.php?group_id=173941&filename=ffdshow_rev2940_20090506_clsid.exe&a=75398883)
media player classic. updated december 31, 2008 (http://downloads.sourceforge.net/guliverkli2/mplayerc_20081210.zip?modtime=1229004652&big_mirror=0)
Avisynth. march 10, 09 (http://downloads.sourceforge.net/avisynth2/Avisynth_258.exe?use_mirror=voxel)
mvtools (http://www.megaupload.com/?d=5RQK6DR2)
MT (http://www.megaupload.com/?d=V6HRTOBX)
And here is my software settings:
________ advanced ffdshow: framerate doubler ________
Codecs tab
Set Mpeg2 to Libmpeg2, and check "DVD decoding".
Set Avisynth to Avisynth, Raw video to All supported
Subtitles tab, Unchecked
Uncheck "Decode closed captions"
Uncheck "Accept embedded subs"
Uncheck "Accept SSA, ASS, ASS2 Subtitle (experimental)
Vobsub subpage, uncheck Vobsub Enable.
Avisynth tab checked
YV12 checked,
Add FFdshow Video source is UNchecked,
3:2 Pulldown box: Ignore Pulldown checked,
check Buffer back/Ahead: 9, 9
# add one of the codes from above in this place
Resize & aspect tab checked
Multiply by:
2.743 (for 1920x1080 16:9 aspect ratio)
Process Pixel aspect ratio internally checked
No aspect ratio correction checked
spline
Luma gaussian blur: 0.50
Luma Sharpen: 0.00
Accurate rounding checked
Queue & Output tab
Queue output samples unchecked
Very unstable. May cause player to crash.
No box is checked.
Output tab
rgb32 checked
high quality yv12 to rgb conversion checked
rgb conversion tab
ycbcr: itu-bt 601
contrast: standard
Output levels: Tv/Projector
________ Media Player Classic ________
Click the View button. Check only the top three in the drop down list.
Click options.
Click the output tab, and set Directshow output to vrm9 renderless.
Directshow Audio: default
Click the External Filters Tab.
Click the Add Filter Button.
Double click the filters you want. You'll need;
FFdshow Audio decoder
FFdshow video decoder
lych_necross
17th May 2009, 06:13
@ Jeremy Duncan
That script makes no sense (99+ buffers?!?). Using MFlowFPS to double the framerate, then converting the framerate again using ConvertFPS is a horrible idea. As a general rule, don't convert the fps more than once if possible. FFDShow has a nice built-in framerate doubler (fast too). Also, using MT( or SetMTMode( with MFlowFPS probably won't help much. Just use the latest version of mvtools 2 and the example code for realtime framerate doubling and forget the MT stuff.
haruhiko_yamagata
17th May 2009, 06:14
I have the problem with no filters present. I tested on an Athlon running Windows XP Pro and on a Centrino Duo running Tablet XP. The error happens with both ffdshow_rev2946_20090515_clsid and ffdshow_rev2946_20090515_xxl releases.
I will have access to an Athon 64 running Windows XP Pro tomorrow and will test on it as well.
Are the HuffYUV routines the exact same for build 2645 and whatever revision was next? Could it be a compiler issue?
If it is related to rev 2666, MMXEXT and 3DNOW! may matter.
Could you uncheck them?
Jeremy Duncan
17th May 2009, 07:48
@ Jeremy Duncan
That script makes no sense (99+ buffers?!?).
Yes, it should not be that much. It must be a problem with ffdshow.
Using MFlowFPS to double the framerate, then converting the framerate again using ConvertFPS is a horrible idea. As a general rule, don't convert the fps more than once if possible.
I showed in my previous post I used the mvtools readme code which only increases the frame rate once.
FFDShow has a nice built-in framerate doubler (fast too). No, thank you.
Also, using MT( or SetMTMode( with MFlowFPS probably won't help much. Just use the latest version of mvtools 2 and the example code for realtime framerate doubling and forget the MT stuff. Actuall it helps activate the hyperthreading cores in the I7 cpu's I was told.
haruhiko_yamagata
17th May 2009, 09:40
I can't reproduce in that short sample, but on the entire file in random locations. 4 threads are used, but it happens also with only 1 thread. As I say rev2939 works fine, isn't rev2941 a better way of doing the same?
Rev 2939 is theoretically wrong, 2941 should be better...
@ Jeremy Duncan
That script makes no sense (99+ buffers?!?). Using MFlowFPS to double the framerate, then converting the framerate again using ConvertFPS is a horrible idea. As a general rule, don't convert the fps more than once if possible. FFDShow has a nice built-in framerate doubler (fast too). Also, using MT( or SetMTMode( with MFlowFPS probably won't help much. Just use the latest version of mvtools 2 and the example code for realtime framerate doubling and forget the MT stuff.
Ok I disabled HT on my i7 just to prove the point of MT being necessary for heavy processing.
Usually there would be 8 cores listed in the Task Manager, now it is 4.
Here is the comparison between MFlowFPS default fast example for frame doubling.
Without SetMTmode:
http://img194.imageshack.us/img194/4377/nomt.jpg
and with SetMTmode/distributor:
http://img41.imageshack.us/img41/746/56850135.jpg
Before you say tell that to MVTools author we are talking about general benefits, MT plugin can be wrapped around almost anything to split into more threads. And upcoming Avisynth 2.6 (if it ever gets finished) has these functions in it so you will be seeing more of it :)
Anyway just trying to help, thank you guys.
haruhiko_yamagata
17th May 2009, 13:42
I can't reproduce in that short sample, but on the entire file in random locations. 4 threads are used, but it happens also with only 1 thread. As I say rev2939 works fine, isn't rev2941 a better way of doing the same?
If it is not a race condition, you may be able to reproduce by pausing at a certain frame (enable OSD "current frame"), cltl-G to seek, and play. If it is possible, please cut that part.
It is not likely a race condition, but DirectShow has bug-prone thread issue.
I checked the code again, but couldn't find any suspicious part. Please try again with rev 2939 to make sure you are not too lucky with that revision.
STaRGaZeR
17th May 2009, 16:24
If it is not a race condition, you may be able to reproduce by pausing at a certain frame (enable OSD "current frame"), cltl-G to seek, and play. If it is possible, please cut that part.
It is not likely a race condition, but DirectShow has bug-prone thread issue.
I checked the code again, but couldn't find any suspicious part. Please try again with rev 2939 to make sure you are not too lucky with that revision.
OK, will do. In the meantime, some screenshots:
http://thumbnails12.imagebam.com/3604/39b52d36031425.gif (http://www.imagebam.com/image/39b52d36031425) http://thumbnails12.imagebam.com/3604/98e8b436031426.gif (http://www.imagebam.com/image/98e8b436031426)
The garbage is part of the frame that was being displayed before the seek. That's why is difficult to see in small samples, the two frames may be almost identical. Also it only last 1 frame.
lych_necross
17th May 2009, 22:52
@Jeremy Duncan
From the original code in question:
MFlowFps(super, backward_vec, forward_vec, num=0, mask=ms)
ConvertFps(rr) #remove this line for more speed
Two frame rate conversions: MFlowFPS with num=0 doubles framerate. ConvertFPS converts the framerate again.
The code from your guide(s) only convert's the framerate once, yes. My point was that the script you tried originally from another forum, is illogical. If you are increasing the framerate to achieve smoother playback, it won't help much (it will only mask playback problems, not eliminate them). Reducing jitter and dropped frames is far better than doubling fps.
@nuhi
I said, using MT or SetMTMode with MFlowFPS probably won't help much. That doesn't mean that won't (on my system, it doesn't help much, yours may differ).
Jeremy Duncan
17th May 2009, 23:07
@Jeremy Duncan
From the original code in question:
Two frame rate conversions: MFlowFPS with num=0 doubles framerate. ConvertFPS converts the framerate again.
The code from your guide(s) only convert's the framerate once, yes. My point was that the script you tried originally from another forum, is illogical.
I will post a few replies I got from a different thread on the subject.
The point the quotes make is if your video is 23.976 fps then use use mvtools to double the framerate and then use changefps to change the fps from 48 to 60.
I meant that if you first apply ChangeFPS(30) to 23.976 fps video and then double framerate with MVTools, interpolation will insert 3d duplicated frame between already existing repeated frames. So it would be better instead of ChangeFPS(30) before MFlowFPS to use ChangeFPS(60) after it like this:
#23.976
super = MSuper(pel=1,hpad=16,vpad=16)
backward_vec = MAnalyse(super, blksize=16, isb = true, chroma=false, searchparam=1)
forward_vec = MAnalyse(super, blksize=16, isb = false, chroma=false, searchparam=1)
MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(last), \
den=FramerateDenominator(last), mask=0)
ChangeFPS(60)
#then the inserted frames will not form longer chains
The usual application of MFlowFPS to get 60 from 23.976 looks like this:
#23.976
super = MSuper(pel=2)
backward_vec = MAnalyse(super, isb = true)
forward_vec = MAnalyse(super, isb = false)
MFlowFps(super, backward_vec, forward_vec, num=60, den=1, ml=100)
It works not as fast as with script for double framerate (probably you wanted realtime processing), but this way you could completely avoid duplicated frames. It changes all the frames, not just inserts new ones.
Before any framerate conversion, you need to do inverse telecining (restore film to 23.976 progressive). Your sample of studio logo shows 23.976 pics/s (29.97 fps) in GSpot. This means soft telecining (encoded as 23.976 mpeg with display flags added for 29.97). If main film shows the same in GSpot, you want to import it into AviSynth as 23.976 (e.g. with DGIndex in 'force film' mode), otherwise you'll have 2 interlaced frames in every 5-frame cycle. If the film VOBs show 29.97/29.97 pics/frames per second, you need inverse telecining in AviSynth e.g. with Decomb plugin.
Don't rely on fps numbers determined by DirectShow-based import filters, use AssumeFPS() where necessary.
link (http://forum.doom9.org/showthread.php?p=1261569#post1261569)
So, in fact it does make sense to use both mvtools to double the frame rate as well as changefps.
STaRGaZeR
17th May 2009, 23:54
If it is not a race condition, you may be able to reproduce by pausing at a certain frame (enable OSD "current frame"), cltl-G to seek, and play. If it is possible, please cut that part.
It is not likely a race condition, but DirectShow has bug-prone thread issue.
I checked the code again, but couldn't find any suspicious part. Please try again with rev 2939 to make sure you are not too lucky with that revision.
It's impossible to reproduce it in the same frame more than 1 time. When you pause, seek again or restart the player, and then go back to the frame that had garbage before, it's fine. All I can do is upload a big sample so you can test it yourself. After retesting: 2939 is unaffected, problem starts with 2941 and upwards. For testing I'm using my own builds, clsid's and xvidvideo.ru's, all show the same issue. Other Blu-ray's are affected too.
Jeremy Duncan
18th May 2009, 00:05
http://thumbnails12.imagebam.com/3604/98e8b436031426.gif (http://www.imagebam.com/image/98e8b436031426)
I see that corruption in the root menu when I use ffdshow avisynth and the buffer is too low.
So whatever your doing it's using buffers i think, and it's using buffers incorrectly.
Since he said 2939 works fine and 2940 only updates ffmpeg. it seems ffmpeg changed it's use of buffers. I can't find the changelog to confirm this though.
clsid
18th May 2009, 00:22
It's caused by 2941, which fixes a different blocking problem.
http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/trunk/src/ffmpeg-mt/libavcodec/h264.c?r1=2941&r2=2940
lych_necross
18th May 2009, 00:35
I will post a few replies I got from a different thread on the subject.
The point the quotes make is if your video is 23.976 fps then use use mvtools to double the framerate and then use changefps to change the fps from 48 to 60.
link (http://forum.doom9.org/showthread.php?p=1261569#post1261569)
So, in fact it does make sense to use both mvtools to double the frame rate as well as changefps.
Actually, from that link, it still does not make sense to use both, but I don't feel like arguing right now. If your happy with using both, fine; however, I still believe that the problem is your script and not ffdshow.
leeperry
18th May 2009, 00:35
Its possible Anaglyph filter into ffdshow? (remember... the red&cyan glasses!!)
http://www.stereoscopy.com/faq/anaglyph.jpg
Watch videos in 3D!!!
http://forum.doom9.org/showthread.php?t=143855
Jeremy Duncan
18th May 2009, 00:45
Actually, from that link, it still does not make sense to use both, but I don't feel like arguing right now. If your happy with using both, fine; however, I still believe that the problem is your script and not ffdshow.
Not every script I posted uses changefps. The ones that don't still have the problem with the sample I linked too.
No number of buffers fixes the problem, even for the scripts that don't use changefps but still use setmtmode.
Using setmtmode activated the ht cores on the I7 I was told. so the problem I showed and gave the sample to reproduce the problem should be fixed.
I see that corruption in the root menu when I use ffdshow avisynth and the buffer is too low.
Would you please stop spouting garbage already?
The above is clearly a decoding error in ffmpeg-mt and doesn't concern AviSynth at all. And if playback somehow stalls in the menu but the AviSynth filter produces correct output during the movie part it's not "using buffers incorrectly" but there's obviously some other part of the chain that needs to be fixed.
np: Secede - Vega Libre (Vega Libre)
Jeremy Duncan
18th May 2009, 01:13
Leak,
With all due respect.
I can reproduce the blocking problem I quoted by adjusting the buffers to do this.
I read clsid reply in his post on rev 2941link (http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout/trunk/src/ffmpeg-mt/libavcodec/h264.c?r1=2941&r2=2940) and this rev uses buffers differently than the one it replaced.
I know full well the problem has nothing to do with avisynth.
lych_necross
18th May 2009, 05:51
:D, Leak. I agree. ffmpeg-mt is still experimental and buggy (but getting better).
Jeremy Duncan
18th May 2009, 06:35
lych sounds like leak in my language. I wonder what it means in your language.
Anyway. to Add to this linked post; link (http://forum.doom9.org/showthread.php?p=1286413#post1286413). I tested with the 2.4.2, the newest mvtools2, and i used only the official avisynth 2.5.8 with no mt avisynth.dll added. I tried with mpc-hc and clsid's newest build. I tried with this code in avisynth ffdshow using the sample root menu I uploaded before:
super = MSuper(pel=2,hpad=4,vpad=4)
backward_vec = MAnalyse(super,chroma=false, blksize=16, isb = true, search=5, searchparam=1)
forward_vec = MAnalyse(super, chroma=false, blksize=16)
MFlowFps(super, backward_vec, forward_vec, num=0, mask=1, ml=49)
I could not even see the sub root menu where it asks me which version i want to see.
haruhiko_yamagata
18th May 2009, 10:34
The garbage is part of the frame that was being displayed before the seek. That's why is difficult to see in small samples, the two frames may be almost identical. Also it only last 1 frame.
From todo.txt in the git (http://gitorious.org/~astrange/ffmpeg/ffmpeg-mt),
Todo
Bug fixes:
h264:
- The frame num gap compensation code calls ff_report_*_progress with INT_MAX on every frame; it should only do this for every frame but the last.Maybe this is concerned. Rev 2941 is not likely to cause that kind of problem. It may alter the timing a bit.
swalker
18th May 2009, 11:14
Does the ffdshow (r2940) crop -> autocrop filter work? Only manually cropping works; AviSynth's autocrop plugin is broken as well on a Mobility Radeon X300 running Catalyst 9.3 drivers.
clsid
18th May 2009, 11:45
autocrop has been broken for a long time
STaRGaZeR
18th May 2009, 12:45
From todo.txt in the git (http://gitorious.org/~astrange/ffmpeg/ffmpeg-mt),
Maybe this is concerned. Rev 2941 is not likely to cause that kind of problem. It may alter the timing a bit.
Since 2939 works, can you revert it until is fixed?
haruhiko_yamagata
18th May 2009, 15:23
@STaRGaZeR
Could you turn on OSD "Frame type"? Is the first frame after seeking a B frame and garbled?
In that case, it's a bug in ffdshow custom part.
tetsuo55
18th May 2009, 16:26
There appears to be a bug with the output framerate when playing back DVD's
All samples act the same, output is always fixed at 25fps
Here is a screenshot:
http://img33.imageshack.us/img33/5011/incorrectframerate.th.png (http://img33.imageshack.us/my.php?image=incorrectframerate.png)
And here is the pin out information for that file (same problem with every renderer)
Filter : madVR - CLSID : {E1A8B82A-32CE-4B0D-BE0D-AA68C772E423}
- Connected to:
CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
Filter: ffdshow Video Decoder
Pin: Out
- Connection media type:
Video: YV12 720x480 (4:3) 25.00fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_YV12 {32315659-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 518400
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(720,480)
rcTarget: (0,0)-(720,480)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 400000
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 4
dwPictAspectRatioY: 3
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 720
biHeight: 480
biPlanes: 3
biBitCount: 12
biCompression: YV12
biSizeImage: 518400
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 d0 02 00 00 e0 01 00 00 ........Ð...à...
0010: 00 00 00 00 00 00 00 00 d0 02 00 00 e0 01 00 00 ........Ð...à...
0020: 00 00 00 00 00 00 00 00 80 1a 06 00 00 00 00 00 ........€.......
0030: 00 00 00 00 00 00 00 00 04 00 00 00 03 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 28 00 00 00 d0 02 00 00 ........(...Ð...
0050: e0 01 00 00 03 00 0c 00 59 56 31 32 00 e9 07 00 à.......YV12.é..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Also it appears that DTS over Spdif is not working for me anymore all of suddon (it used to work, i did not touch any of the ffdshow settings) now all i get is silence or pops.
AC3 is working as expected.
I am streaming over HDMI
Build im currently using is 2940
Spec-Chum
18th May 2009, 20:54
I've heard it's implemented, but can't find it...I'm using build 2951.
Am I going mad?
clsid
18th May 2009, 21:06
The new option is located on the "RGB conversion" page in the config.
BatKnight
18th May 2009, 21:15
The new option is located on the "RGB conversion" page in the config.
How does it work? Is it like the DeBand filter?
Is it supposed to give better picture quality when checked or the other way around?
Bat
Spec-Chum
18th May 2009, 21:17
The new option is located on the "RGB conversion" page in the config.
I really am going mad, it's not there...I'm using latest build from XvidVideo.RU. Using Core2 so SSE2 is available. Can anyone confirm my sanity?
mark0077
18th May 2009, 21:32
I really am going mad, it's not there...I'm using latest build from XvidVideo.RU. Using Core2 so SSE2 is available. Can anyone confirm my sanity?
Its there for me in 2951, in the "Method" section of "RGB Conversion" tab. Thanks for this addition guys, hopefully ffdshow can get upto the standard of madVR for resizing quality and colorspace conversion.
Spec-Chum
18th May 2009, 21:37
I really am going mad, it's not there...I'm using latest build from XvidVideo.RU. Using Core2 so SSE2 is available. Can anyone confirm my sanity?
LOL, got it, I didn't restart after updating (explorer.exe is now in the don't use section)...n00b!
mark0077
18th May 2009, 22:07
haruhiko, apologies for 3 bugs I posted a few posts ago, I found all reproducable without ffdshow in the chain.
Glad to see dithering in rgb conversion, just wondering could I ask have you thought about adding the workaround for DVD's when resizing. You may remember the problem I and others have had, where some DVD's show the wrong aspect ratio when passing through ffdshow's resize?
Also just while on the topic of resize, I found a bug (not a critical one) within "Border" section of Resize. After setting one of the dividing borders, for example "Horizontal" to Left 100, Right 0, and hitting apply. Then dragging the slider for "Vertical" resets the "Horizontal" slider to centered on 50:50 again. Just strange. I want dividing borders set to right and bottom because of the way the LED backlight works on this LCD. Keeping black bars to one side or fully to top or bottom can give me blacker blacks.
Thanks.
STaRGaZeR
18th May 2009, 22:50
@STaRGaZeR
Could you turn on OSD "Frame type"? Is the first frame after seeking a B frame and garbled?
In that case, it's a bug in ffdshow custom part.
All of them are B frames according to the OSD:
http://thumbnails14.imagebam.com/3617/e73f1336163833.gif (http://www.imagebam.com/image/e73f1336163833) http://thumbnails15.imagebam.com/3617/c45ac636163835.gif (http://www.imagebam.com/image/c45ac636163835) http://thumbnails13.imagebam.com/3617/d3a18536163837.gif (http://www.imagebam.com/image/d3a18536163837)
HD-DVD source BTW.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.