[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