[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on CIF standarization



sanjay@cs.cmu.edu wrote:
> 
> Chema, thanks a lot for the detailed response to the questions.
> That was very helpful.
> 
> I was a little confused too by the terminology used in Mash.
> Does CF_CIF then refer to 4:0:2 subsampling? For example,
> pipeline.tcl says (at the very top):
> 
> Module instproc frame-format {} "return 422"
> Module/VideoEncoder/Pixel/H261 instproc frame-format {} "return cif"
> 
> Does cif here actually mean 402 then, and is this the convention followed
> in the Mash code?
> 
> Another question:
> What do the functions set_size_{422,411,cif} in video_device.cc do?
> 
>                         Thanks a lot,
>                         Sanjay
---

The h.261 encoder operates on 4:2:0 subsampling, I believe.  That is 4
luminance samples and 2 chroma samples on the odd lines and 0 luma and 0
chroma samples on the even lines.  In other words, they drop the 2nd
field.  the set_size functions are confused -- 4:2:2 and 4:1:1 refer to
sampling and cif refers to image size.  generally speaking, the vic/mash
software codecs work on 4:2:0 or 4:1:1 subsampled CIF images.  there are
places in the code where they work with pal reps rather than ntsc and
full-sized rather than cif or qcif images.

if you're doing an encoder, pick the size(s) you want to support and do
them.  there is code in the pipeline and video-* abstractions to sort
out which are valid.  i'd recommend that you handle 4:2:2 and 4:1:1 with
image sizes of qcif, cif, and full-sized (we probably should call this
ccir-ntsc or ccir-pal).
	Larry

-- 
Professor Lawrence A. Rowe          Internet:  Rowe@BMRC.Berkeley.EDU
Computer Science Division - EECS       Phone: 510-642-5117
University of California, Berkeley       Fax: 510-642-5615
Berkeley, CA 94720-1776            URL: http://bmrc.berkeley.edu/~larry