Motion compensation

  • Marco Gerards

    Marco Gerards - 2007-08-10

    Last week I was reading the motion compensation part of the specification,
    I noticed a few typos/bugs while reading. Here are the notes I made. I hope
    this will help you improve the specification.

    On page 77, section 8.5.5:

    1) "specifies the process wt(i,j,x,y)" this should be "specifies the process spatial_wt(i,j,x,y)"

    2) "ypos = x - (i * ybsep - yoffset)" this should be: "ypos = y - (i * ybsep - yoffset)"

    3) "WH[xpos] = ... , max_x)" should be "WH[xpos] = ... , 0, max_x)" (one argument is missing)

    4) In the definition of WV: "WH[ypos] = max_y" this should be: "WV[ypos] = max_y"
       this is used on two lines

    5) i == state[blocks_x] and j == state[blocks_y]

    I think this should be blocks_x - 1 and blocks_y - 1. For example i start at 0, the
    last block index is blocks_x - 1, if I am not mistaken.

    On page 81, section

    6) For clipping you use "height(ref)" (this is done twice). This should be: "width(ref2)", if
       I am not mistaken.

    Using the specification and with the changes I proposed I was able to implement a functional decoder
    that is slow and due to some bugs there are some minor visual problems. But now you know it is possible
    to write a functional decoder using the CVS version of the specification :-).

    Thanks a lot for writing such a good and detailed specification :-).

    • Thomas Davies

      Thomas Davies - 2007-09-04

      Thanks for the comments - and we're really glad you've done this project :-)

      best regards



Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks