VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    OK, so far I located some info about how DV is stored inside an avi container.But what is really in a frame (I know it's DCT data), but what is the actual format?I don't want to pay 50000 Yen for the blue book or 400 Euro for the DV specs just to find out, how the comressed data is stored.Any info is welcome.
    Background:I'm trying to make a program, which will find all and only bad frames in a DV stream.As my (see other thread) avisynth method works, it's slow and sometimes sees more bad frames than there are.
    My idea:I think, that in a bad frame some macroblocks don't have valid information (thru DCT parameters), it should be possible to quickly find such bad frames instead of first decompressing the fame and then analyzing.
    Quote Quote  
  2. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    I found a dvlib at soundforge.Looks like the thing, I was looking for.
    Quote Quote  
  3. Член BJ_M's Avatar
    Join Date
    Jul 2002
    Location
    Canada
    Search Comp PM
    since DV , unlike any other type of avi file, is really a digital file and is stored as digital instead of analog -- you HAVE to decompress it to do anything to it
    "Each problem that I solved became a rule which served afterwards to solve other problems." - Rene Descartes (1596-1650)
    Quote Quote  
  4. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    Originally Posted by BJ_M
    since DV , unlike any other type of avi file, is really a digital file and is stored as digital instead of analog -- you HAVE to decompress it to do anything to it
    Why?The compression consists (if I understand the specs correctly) of numbers representing DCT parameters (likewise Huffman coded), organized in blocks and superblocks.What I expect - I'm not sure right now, but I hope - that (knowing the bad block) parameters in those blocks are invalid (like zero).
    Reason:after decompression the area covering the bad block just shows, what was there in the previous decompression.
    Quote Quote  
  5. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    My findings so far:first of all (after finding a frame within the avi stream) is really to decompress the VLC structure (variable length lossless compression) in 3 passes and deblock the data.After that, I can get hands on the DCT (I hope).
    Quote Quote  
  6. Member
    Join Date
    Nov 2003
    Location
    Wish_I_Was_In_Highbury
    Search Comp PM
    Dragonsf,

    Sounds like an interesting project. Are you writing C/C++ code for this?

    You shouldn't have any problem finding various articles and information on the DCT function. It is well-known and well understood.

    To recover the original information, you'll need to perform an Inverse DCT function (iDTC). It shouldn't be too hard to code, although if you want to make it fast, you'll have to get clever with handling the floating point math...
    Quote Quote  
  7. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    Yes, I'm writing in C++ for this.I'm aware of various DCT implementions, but my current problem is the decompressing of the VLC.I haven't found any in deep information (like how is this organzied within the bitstream) but I'm wotking and that.Wish me luck, any help is appreciated.
    Quote Quote  
  8. Member
    Join Date
    Sep 2001
    Location
    Japan
    Search Comp PM
    Seems to be a big secret that VLC in DV frames.Can't find anything with google about that subject.Looks like, I have to get libdv running and debug the decompression stage.Any hints are welcome.
    Quote Quote  



Similar Threads

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