# Bob Deinterlacing Algorithm

If your display driver implements the DXVA deinterlacing DDI, it must support the bob-style deinterlacing algorithm in addition to any proprietary deinterlacing algorithms. Following is a description of the bob-style deinterlacing algorithm:

Input is a field Fin(i,j) of size MxN such that 0 <= i <= M−1 and 0 <= j <=N−1, where i and j are row and column indices, respectively.

Output is a frame Fout(i,j) of size 2xMxN such that 0 <= i <= 2M−1 and 0 <= j <=N−1, where i and j are row and column indices, respectively.

If Fin(i,j) is a top field:

If Fin(i,j) is a bottom field:

Each definition uses a finite impulse response (FIR) filter with an impulse response h of length 2K. Impulse response h is symmetric about its midpoint, such that h-(k+1) = hk for k=0 to K−1 and

The preferred form of bob-style deinterlacing uses K=2 and h0 = 9/16 (so h1 = −1/16). This filter should be implemented as (9*(b+c)−(a+d)+8)>>4, where a, b, c, and d are the four input samples used to produce one output sample.