From: Peter S. <ud...@rz...> - 2002-02-22 17:59:59
|
Hi Dan, attached is a working version of recode.c. You simply forgot to copy the line memset(target, 0, 144000); into dv_encode_full_frame(). This is very important since put_bits works by or-ing the vlc_bits into the dv-frame... It was one of these not so obvious performance optimizations, I know... On 22 Feb 2002, Dan Dennedy wrote: > The Problem... audio is working fine for me, but the video output is > noisy. I included my recode.c program I have been using for testing. > You'll have to adapt for PAL. It takes a raw dv file on input, decodes, > and then re-encodes dv and audio to stdout. You can toggle the defines > to make it generate ppms or read ppms. This helps verify the decoder is > working okay, and provides a test mode that isolates the encoder from > the decoder. In pure recode operation, the decoder interfers with the > encoder. dv_parse_header() on each frame before decoding affects the > output. See memset() above... > Throwing a dv_init() between the decode and encode operations > affects it too. I am currently at a loss. Not that surprising. The second call to dv_init() simply skips initialisation... Greetings, Peter P.S.: Interesting little test program. Should try this several times and watch how picture quality decreases... --- Peter Schlaile *** eMail ud...@rz... So Linus, what are we doing tonight? The same thing we do every night Tux. Try to take over the world! |