HI all,
I've an FLV file, mediainfo says the dimensions are 640*360, and the contents H264/aac.
I have FLVSplitter installed so I can access the file with directshow, and I'm processing it with a simple script:
DirectShowSource("F:\Documents and Settings\Dave Xnet\My Documents\Downloads\Hulu - Peacemakers.flv", fps=23.976, audio=false)
If I leave my default (FFDshow) AVC decoder active, the file jumps to 640*368 when the script is opened.
(I can see this in Virtualdub). 4 pixels of black, top and bottom, have been added.
If I disable the FFDshow H264 decoder and activate CoreAVC, the file stays at 640*360.
Seems as if FFDshow has rounded up to mod16, but I've never heard of it before.
Here's the file (10MB) - http://www.mediafire.com/?uoc8wh34pqmyj3b
+ Reply to Thread
Results 1 to 10 of 10
-
-
No one thinks it's odd that a file that is 640*360 becomes 640*368 when opened with dshow ?
If it's not odd, perhaps someone could explain it to me?
Thanks for any info. -
The possible explanation from my side is MOD 16. 360/16=22.5 which isn't integer value. Whereas 368/16=23 which is integer value and therefore it made the video 368 to make it mod 16 value. I think you need to uncheck some setting related to MOD16 or something.
-
I agree the mod 16 issue is possible. So far though, I've not been able to find a setting in FFDshow that
enables/disables this action. It seems odd that it would do it otherwise.
It was first noticed encoding this FLV in HCenc using directshowsource (FFDshow) in the Avisynth script.
The encode had 5 (approx) pixels of black at the top and bottom that were not in the source. -
If you look at the output pin in graphstudio or graphedit, the splitter is exporting a 640x368 frame , so the issue is with the splitter. Some decoders seem to scale it to 640x360 for some reason (like coreavc, mainconcept etc...) , even though the input pin is 640x368. Not sure why ffdshow would behave differently. I've confirmed with other tools the elementary stream is 640x360 (not padded to 640x368)
You already have a workaround (coreavc) , but a free method is to use ffvideosource() with avisynth which frameserves the correct 640x360. Directshow is usually the last resort anyways (not consistent and prone to problems)
If you want to pursue this farther, post in the ffdshow feedback thread on doom9 for the developers to look at it
http://forum.doom9.org/showthread.php?t=120465 -
Good point, now that I used GraphStudio instead of GraphEdit, I see the extra info.
On the pins of CoreAVC, it shows input 368, output 360. (which also seems odd)
Using ffmpegsource2 with assumefps(23.976) worked fine.
Is there a difference between ffmpegsource2 and ffvideosource() ? -
With longer clips, assumefps(24000,1001) will be more accurate
ffmpegsource2() includes audio (it is wrapper function in ffms.avsi)
ffmpegsource2() is the same thing as
vid=ffvideosource()
aud=ffaudiosource()
audiodub(vid,aud)
On the pins of CoreAVC, it shows input 368, output 360. (which also seems odd) -
Not exactly - ffmpegsource2 also calls ffindex before calling ffvideosource.
If not calling ffindex, then you should call ffaudiosource before ffvideosource, or else you will waste time creating the index twice, ie do
aud=ffaudiosource()
vid=ffvideosource()
audiodub(vid,aud)
Similar Threads
-
VFW ffdshow Settings to Edit flv in Vdub
By kaskaï in forum Newbie / General discussionsReplies: 15Last Post: 1st Jun 2011, 11:40 -
Unable to Run FLVSplitter
By ks47 in forum ComputerReplies: 4Last Post: 22nd May 2009, 23:25 -
Possible to get VirtualDub to open wmv/flv files without ffdshow?
By tigerb in forum Newbie / General discussionsReplies: 5Last Post: 20th Nov 2008, 20:09 -
About FLVSplitter...
By GangstaRap in forum Newbie / General discussionsReplies: 0Last Post: 28th Jan 2008, 18:24 -
Audio out of sync with video: FLV > MP4 using ffdshow
By jk318 in forum Video ConversionReplies: 0Last Post: 16th Aug 2007, 21:07