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.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 8 of 8
Thread
-
-
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) -
Originally Posted by BJ_M
Reason:after decompression the area covering the bad block just shows, what was there in the previous decompression. -
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).
-
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... -
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.
-
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.
Similar Threads
-
How do I debug/extract i-frame p-frame and b-frame?
By jwbrasil2 in forum ProgrammingReplies: 0Last Post: 20th Nov 2011, 12:24 -
Play an MTS file frame by frame, displaying timecode or frame number
By SeánB in forum Software PlayingReplies: 5Last Post: 5th Oct 2010, 16:26 -
faac: frame decoding failed: Gain control not yet implemented
By vthirteen in forum ffmpegX general discussionReplies: 1Last Post: 2nd Jun 2010, 13:16 -
Advancing/Rewinding Clip Frame by Frame on Windows Movie Maker (Vista)
By ione in forum EditingReplies: 20Last Post: 9th Sep 2008, 22:53 -
mkv: error decoding the frame
By andyx181x in forum ffmpegX general discussionReplies: 4Last Post: 28th Sep 2007, 02:30