~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Open Mash Cross Reference
mash/codec/p64/CHANGES

Component: ~ [ mash ] ~ [ apps ] ~ [ gsm ] ~ [ lib ] ~ [ otcl ] ~ [ srm ] ~ [ tcl8.3 ] ~ [ tclcl ] ~ [ tk8.3 ] ~ [ tutorials ] ~

  1 2/24/93 (P64 Version 1.1)
  2 
  3 BUG FIXES:
  4 
  5 Predicted motion vectors were not reset properly on the group of
  6 blocks.  The LastMBA was changed from 11,22 to 10,21.  Also previous
  7 type was considered.  This is sufficient to make things compatible
  8 with June 1989 draft.  (if #define VERSION_1.0 is set)
  9 
 10 DOCUMENTATION:
 11 
 12 The colorspace section was edited to include more precise matrices and
 13 a description of CCIR-601 versus JFIF style YUV->RGB conversion.  Also
 14 updated to reflect code changes in quantization.
 15 
 16 Some printers (non-laserwriters) have been unable to cope with the
 17 doc.ps files, specifically problems occurred in the postscript include
 18 files.  For some reason, Apple laserwriters and ghostscript do not
 19 seem to be afflicted by the above problem.  We have found a change in
 20 the dvi2ps postscript header that seems to fix this problem for Sun
 21 newsprint (and probably other) printers as well.  If this still is a
 22 problem, the raw tex and .ps files are available in the file
 23 P64DOCv1.1.tar.Z.  Caution: the special scaling command has different
 24 relative scales for different dvi2ps, dvips programs - can be a factor
 25 of 100 off depending on the version of the header file.
 26 
 27 CODE:
 28 
 29 For H.261 1992 Compatibility changes:
 30 
 31 Changed marker.c, huffman.c, init.c lexer.l, p64.c, ctables.h to
 32 reflect the following:
 33 
 34 Structure Information Changes:
 35 
 36 Old                             New
 37 
 38 Picture layer:
 39 Type1 (13 bits)                 PType (6 bits)
 40 ParityEnable (1 bit)            None
 41 Parity(8 bits)                  None
 42 PictureSpareEnable(1 bit)       (1 bit)   < Repeatable
 43 PictureSpare (16 bits)          (8 bits)  <
 44 
 45 GOB layer:
 46 
 47 Type2 (6 bits)                  None
 48 Quant1                          GQuant
 49 GroupSpareEnable(1 bit)         (1 bit)   < Repeatable
 50 GroupSpare (16 bits)            (8 bits)  <
 51 
 52 Macroblock Layer:
 53 
 54 Type3                           MType
 55 Quant2                          MQuant
 56 
 57 
 58 Quantization:
 59 
 60 if MQUANT odd:
 61         QAC = AC/2MQUANT
 62 
 63 if MQUANT even:
 64         QAC = (AC+1)/2MQUANT;   AC > 0
 65         QAC = (AC-1)/2MQUANT;  AC < 0
 66 
 67 or, more simply if one wishes to ignore reconstruction rounding-to-odd
 68 effects, just consider the ODD case (for some reasons, that does not
 69 cause any loss at all, so it was used in the MPEG codec 1.0, but that
 70 is changed back in MPEG codec 1.1).
 71 
 72 
 73 INVERSE QUANTIZATION:
 74 
 75 if MQUANT odd:
 76         AC = (2QAC +1)*MQUANT; QAC > 0
 77         AC = (2QAC -1)*MQUANT; QAC < 0
 78 
 79 if MQUANT even:
 80         AC = (2QAC +1)*MQUANT -1;  QAC >0
 81         AC = (2QAC -1)*MQUANT +1;  QAC <0
 82 
 83 
 84 (stat.c) The statistics now include mean-removed squared error.
 85 
 86 MRSNR calculated based on (E[X^2]-E[X]^2)/E[error^2]
 87 SNR calculated based on E[X^2]/E[error^2].
 88 PSNR calculated based on 255*255/E[error^2].
 89 
 90 (p64.c) The default filename is now componentfile0.p64 rather than
 91 componentfile0.P.  An intra mdu is forced every 132 frames under
 92 default mode.
 93 
 94 5/14/93
 95 
 96 Changes to the p64.c to reflect better termination conditions.  It
 97 checks for end of file for all files terminated with at the end of a
 98 stream.
 99 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.