VideoHelp Forum




+ Reply to Thread
Results 1 to 10 of 10
  1. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    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
    Quote Quote  
  2. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  3. Member
    Join Date
    Nov 2010
    Location
    India
    Search Comp PM
    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.
    Quote Quote  
  4. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    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.
    Quote Quote  
  5. 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
    Quote Quote  
  6. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    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() ?
    Quote Quote  
  7. Originally Posted by davexnet View Post

    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)
    This was what I was referring to above; for some reason, both coreavc, mainconcept h.264 decoder, behave this way (I'm suspect other non ffdshow decoders as well). I should be more precise: it's not scaled, rather the black bars are cropped
    Quote Quote  
  8. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by poisondeathray View Post
    ffmpegsource2() is the same thing as
    vid=ffvideosource()
    aud=ffaudiosource()
    audiodub(vid,aud)
    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)
    Quote Quote  
  9. good to know , thx gavino
    Quote Quote  
  10. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Thanks Gavino, poisondeathray, good info.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!