The decoder does not know if the frame itself is interlaced (it knows the field type but this can be wrong) but it knows if the stream should contain interlaced frames. To have zero-impact it is enough to just initialize this pointer once during VPU buffer allocation unless you really care about that, too. Even if the decoder knows the frames interlaced state it needs to set the pointer based on a comparison which would violate this zero-impact paradigm. Let us initialize the pointer once and done.