[hxprod] [Interlaced support in Helix DNA Producer]

[hxprod] [Interlaced support in Helix DNA Producer]

Steve McMillen stevemc at real.com
Tue Dec 24 11:21:05 PST 2002


Thanks 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/>
>




More information about the Helix-producer-dev mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.