[Theora-dev] Directshow filters 0.64.7923

Timothy B. Terriberry tterribe at vt.edu
Sat Oct 9 11:23:47 PDT 2004

> I followed the code in example_player... which centralises the 
> offsets... if there will be x_offset at the left and right and y_offset 
> at the top and bottom.
>  frame_x_offset=(video_x-frame_x)/2;
>  frame_y_offset=(video_y-frame_y)/2;

Does the example_encoder still do this? It should instead always make 
the offsets even, otherwise you suffer a half-pixel shift in the chroma 

> So in the example shown above... i think 4 is correct... Are you sure 
> the offset values are being correctly propagated to the decoder ?

I just checked the reference code: the value specified in the 
theora_info struct is stored directly into the bitstream, and read 
directly back. Therefore, it should be the offset from the _bottom_ of 
the frame, not the top. Personally, I think the API should use the 
offset from the top, even though the offset from the bottom is what is 
in the bitstream, because the rest of the API uses a left-handed 
coordinate system where Y increases from top to bottom. This is the way 
it is set up in the experimental encoder/decoder.

More information about the Theora-dev mailing list