[Ffmpeg-devel] [PATCH] dv pixel format encoding fix

Roman Shaposhnick rvs
Fri Mar 10 08:00:07 CET 2006


On Thu, Mar 09, 2006 at 09:08:22PM +0100, Michael Niedermayer wrote:
> > 1) Fill in all of the headers. This will involve 
> 
> > moving
> > dv_format_frame() and associated functions into the avcodec, and
> > calling them from dvvideo_encode_frame().
> 
> rejected

  Agreed.

> > 2) Fill in the audio samples. This is the hard one. My first instinct
> > is to add a special callback function from the MOV/AVI avformat
> > wrappers, to tell the video codec that audio samples are available.
> > But I'm not very familiar with the guts of muxing, so perhaps there is
> > an easier way.
> 
> iam not exactly sure what you propose but its probably not even remotely
> acceptable

  yeap ;-) we've had this very discussion long time ago and I think that
  the only sensible way to handle such cases would be something along the
  lines you proposed bellow.
  
> ok, let me explain how it should be done, but warning my knowledge about dv
> is not as good as it should be so maybe iam missing some details ...

  I think you're right on. With maybe one minor clarification: one could
  argue that at least these two things which are currently handled exclusively 
  by the libavformat/dv.c could be viewed as CODEC related:
     
     dv_header525
     dv_header625
  
  these two are more of tossups, though: 
     
     dv_video_source
     dv_video_control

> what dv in mov is, is a sick double layer format, its the output of the
> dv muxer put into mov, the only sane way to generate this if we really have
> to support it and IMHO it would be better if we simply say "NO" to this mess
> is to feed the seperate audio and video dv streams into the dv muxer and then
> the combined muxed dv stream into the mov muxer, how to implement this
> cleanly is not exactly obvious, one way would be to call the dv muxer from
> the mov muxer to combine the streams

  That's pretty much what's going on in avi*.c on the decoding side when
  DV-in-AVI type 1 is given to the ffmpeg. I also think this is the only
  way to go, however, what's not clear to me is how widespread this double
  layering could be. Is DV really special in that regard or do things like
  AVI-in-MOV or some such happen in real life ?  

  All that said though -- I'm not really interested in developing any of that
  but I will, of course, review patches if they fit into the overall
  architecture of the ffmpeg.

Thanks,
Roman.





More information about the ffmpeg-devel mailing list