Y offset for Linear 2x deinterlace method

rime

New Member
With linear 2x deinterlace method I would like to vertically offset every odd frame down by 1px. By offset I mean a transformation of whole output frame.
Can this actually be done in libobs\data\deinterlace_base.effect ? Or will have to modify libobs\obs-source-deinterlace.c ?
The reason is that my video grabbers connected to retro computers like Atari 65XE and Commodore 64 are capable of getting 50 FPS interlaced. Once Linear 2x deinterlace is enabled in OBS Studio, the output video is shaking up/down every frame.
 

rime

New Member
Tried
Code:
float4 texel_at_linear_c64(int2 texel, int field)
{
    if ((texel.y % 2) == field)
        return load_at_image(texel, 0, 0);
    if (frame2)
        return (load_at_image(texel, 0, -1) + load_at_image(texel, 0, 1)) / 2;
    else
        return (load_at_image(texel, 0,  0) + load_at_image(texel, 0, 2)) / 2;
}
it is not shaking anymore but lines in new "type" of frames do not match. Any help appreciated.
 
Top