Changeset 4516

Show
Ignore:
Timestamp:
10/15/09 17:37:41 (5 years ago)
Author:
piers
Message:

Updated props to exclude a few files so svn status is cleaner
Added comments explaining the default YUV format (ie four-cc I420)

Location:
vic/branches/mpeg4
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • vic/branches/mpeg4

    • Property svn:ignore set to
      tcl2c++ mkbv vic mkcube mkhuff histtolut ppmtolut cm1.c config.* Makefile cscope.out *.orig rgb-cube.ppm
  • vic/branches/mpeg4/module.h

    r4476 r4516  
    5555}; 
    5656 
     57/* YUV Frame uses I420(fourcc code) representation - Each frame is 
     58 * stored as firstly the Y(Intensity) at full resolution - ie WxH 
     59 * Followed by U(Chrominance Cb) subsampled 2x2 i.e. W/2*H/2 
     60 * Followed by V(Chrominance Cr) also subsampled 2x2  
     61 * Hence 12 bits/pixel and frame size = WxH+2*(W/2*H/2) 
     62 */ 
    5763class YuvFrame : public VideoFrame { 
    5864    public: 
  • vic/branches/mpeg4/video/grabber-file.cpp

    r4409 r4516  
    239239    int frc = 0;  
    240240 
    241         // "framesize_" is just the number of pixels,  
    242         // so the number of bytes becomes "3 * framesize_ / 2" 
     241        // "framesize_" is just the number of pixels for a frame,  
     242        // YUV frame is Y at full res followed by Y then U subsampled 
     243        // by 2x2 so the number of bytes becomes = W*H + 2*(W/2*H/2) 
     244        // which = framesize_ + framesize_/2 
    243245        memcpy (frame_, file_device.frame_ + num_frame_,  
    244246                        framesize_ + (framesize_ >> 1)); 
     247        //memset(frame_+framesize_+framesize_/4,128,framesize_/4); 
    245248 
    246249        if ((num_frame_ += framesize_ + (framesize_ >> 1))