> What do you have in mind when you say lossless re-encoding ?

If a frame has already been passed through a DV codec, then it is
(theoretically) possible to re-encode it with no quality loss, by
using the exact same bitstream. This is desirable for video editing
systems where you might end up re-encoding a frame several times. You
can even do sub-frame lossless re-encoding. For example, if you
super-impose a title on top of the video, any macroblocks not affected
by the title could be re-compressed losslessly.

> > - it may be possible to improve the algorithm for choosing bewteen
> > "field mode" and "progressive mode" DCTs.
>   
>   That's for sure! If anybody has any ideas on how to do that I'd 
> appreciate any suggestions.

Well a brute-force approach would certainly work (test both ways and
pick the smallest data size), but of course it would be very
slow... In my experience it seems like the good hardware encoders are
designed to encode macro-blocks at various QNOs/modes in parallel, to
quickly perform a fairly exhaustive search of the possibilities. My
experience is also that a basic, fast QNO/mode selection algorithm
(like the one in ffmpeg) will get you about 90% of optmial efficiency,
but crossing the gap to 100% probably requires a much slower
brute-force search.

> > - ffmpeg's DV-in-MOV encoding is broken. It does not insert the DV
> > audio and header data into the embedded DV stream, as required by
> > Quicktime.
> 
>   Most of the issues regarding video have been fixed. If there's
> anything that remains -- please let me know.

The problem is that when ffmpeg creates a MOV file with the DV codec,
it uses only the video encoder, not the DV muxer, so it doesn't insert
any of the headers or audio data into the DV stream. The resulting
files are not valid. Quicktime requires that the audio be present BOTH
as a separate MOV audio track AND embedded within the DV stream, and
it also requires valid DV headers. This is because applications that
play DV out via FireWire, like Final Cut Pro, rely on the embedded DV
stream to be 100% correct. When playing to a FireWire device, Final
Cut does not re-build the DV headers or re-insert the audio - it just
plays whatever is embedded in the MOV file.

Regards,
Dan

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mjpeg-users mailing list
Mjpeg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to