[hxprod] [Interlaced support in Helix DNA Producer]
Steve McMillen stevemc at real.comThanks for the response Neelesh. I'll try to answer my parts as far as I know. Neelesh, Ben - pls see my questions to you both below. Video can be passed unchanged through the Helix DNA Producer architecture by simply not having any prefilters that will destroy the interlacing as Neelesh indicates. Prefilters are the only video filters inserted between the input filter and the codec in the Helix DNA Producer architecture. There are some prefilters that need to be manually inserted such as black level and de-interlace /inverse telecine and for these, its just a matter of not adding them. The only automatic video prefilters are color conversion and video clipping. The Helix DNA Producer architecture automatically inserts a color converter or video clipping prefilter if its needed to get video data from on filter in the filter chain to the next. For example, if the color format required by the codec is I420, all prefilters accept RGB and the input color format is RGB24, the color converter is inserted before the codec but not before the prefilters. The video clipping prefilter is inserted if a given filter advertises that it can only accept video at resolution increments of a certain size, say 4x4 pixels. If the input video does not meet the resolution requirements, the video cropping prefilter is inserted to crop the video down to the required size. For both the color converter and the video clipping, cases, as long as the codec plug-in and any video prefilters in the chain advertise that they will accept the same color format and frame size as the current input, then the color format converter prefilter is *not* inserted. Thus, the trick to preventing any prefiltering in Helix DNA Producer is to make sure the input matches in color format and frame size required by the codec and not to add any filter manually unless you want them. There is a more fundamental question though that I don't know the answer to. The Helix DNA Producer architecture itself does not do anything special with respect to interlaced video. It does not even report information about a frame (if it is even or odd). This might be a problem. There might also be an issue if the capture plug-in drops a frame or the input file contains dropped frames. I'm not sure if this will change the even/odd nature of the input video. Nelesh, Is there a way to know if the input video is even/odd field w/o getting information from the input file reader or capture plug-in? If one knows the input video is even or odd field (top or bottom field first), then does this remain the same throughout if frames are dropped? Ben, It would be helpful to understand what the objective is as far as passing non-deinterlaced (please excuse the double negative) content to a codec. Are you investigating adding codecs/file formats to Helix DNA Producer? Neelesh Gokhale wrote: > Hi Steve, Ben, > I think the question was "Can producer encode Interlace content given > a Interlace codec?" > Other than just making sure that the input reaches the codec > untouched I don't think there is much to the Producer architecture > which will prevent interlace encoding. I think Producer should be able > to hand down the input video frame to the codec without any filters in > between,.. if the input type matches. The native color space of > Interlace codecs is usually: YUV 4:2:0, YUV 4:2:2, YUV 4:4:4. > > A> No filters introduced: Make sure all automatic filters are > disabled. The interlaced codec should be able to accept YUV 4:2:0, > 4:2:2 or 4:4:4. In case of the latter two there is no ambiguity and > everything should just work. (Steve?) In case of YUV 4:2:0 there are > two versions,.. top field first and the bottom field first. I don't > know if there is a way to signal this or if it is implicitly assumed > everywhere that it is always top field first (I420). (Steve?) > > B> Filters are introduced: This is complicated. If there is any color > conversion, resize, or any other kind of filtering, it might happen in > YUV 4:2:0 color space and could impact the quality of the feed. > Although many sensible decisions have been made during color > conversion. E.g. RGB to yuv is done in one step. Other filters i don't > know. Separate versions of filters for YUV 4:2:2 and YUV 4:4:4 may be > required. (and a filter graph which will take the effort to connect > them in the right order) > > RV9 assumes YUV 4:2:0 top field first. In this setting it doesn't > really matter if any filters come into play. (except de-interlacing or > inverse telecine of course). And a coded frame is always a pair of > fields or a single progressive frame, so there should be no problem at > the output. (mpeg2 & rv9 at least). Moreover I think the architecture > is pretty flexible, it doesn't really matter. > Steve is there a plan for a sample Video codec in the producer? > > Thanks, > Neelesh > > PS: BTW Rv9 interlace is not currently available in any producer > release due to... zillion reasons.. i think mostly because no PC or > graphics subsystem truly has interlace support,.. But the bitstream > supports it. There is no Mpeg2 or DV or wmv9 codec in the producer > either :) > http://www.realnetworks.com/solutions/leadership/realvideo.html > > >>>> > FYI -- Not sure if you are subscribed. > - Wolfgang > > Mailing-List: contact dev-help at helix-producer.helixcommunity.org; run > by ezmlm > To: dev at helix-producer.helixcommunity.org > Subject: [hxprod] [producersdk] [Fwd: Re: Producer DNA code release > schedule?] > Date: Wed, 11 Dec 2002 16:53:48 -0800 > From: Steve McMillen <stevemc at real.com> > Subject: [producersdk] [Fwd: Re: Producer DNA code release schedule?] > > Anyone have any suggestions on the question below? > thx, Steve > -------- Original Message -------- > Subject: Re: Producer DNA code release schedule? > Date: Tue, 10 Dec 2002 09:26:49 -0800 > From: Ben Waggoner <ben at interframemedia.com> > To: Steve McMillen <stevemc at real.com> > > Steve, > They're digesting it right now. > One question came up is whether it was possible to use Producer's code > to deliver interlaced frames to a codec that supports it, like MPEG-2, > QuickTime DV, or Windows Media 9. > Ben Waggoner <_http://www.benwaggoner.com_ <http://www.benwaggoner.com/>> > Compressed Video Consulting, Training, and Encoding > My Book: _http://www.benwaggoner.com/books.htm_ > Compression Books: _http://www.benwaggoner.com/bookshelf.htm > > _on 12/10/02 2:46, Steve McMillen at stevemc at real.com wrote: > Now that the code is out, please let your client know and let them know > I'd be happy to answer questions. > - > - Wolfgang Schildbach, Principal Codec Engineer, RealNetworks Codec Group > - fon +1-206-892 6349, em > > Neelesh Gokhale *¤* _ngokhale at real.com_ *¤* 206.892.6665 > Codec Engineer > *Real**Networks* *¤* _http://www.realnetworks.com_ > <http://www.realnetworks.com/> >