Rotation parametrization of alignment of two vectors

Hello,
I'm looking for an appropriate rotation representation for the following situation.

I have two (always non-zero) vectors, v1, v2, that may or may not be parallel. The rotation relating the two vectors is obviously non-unique having one degree of freedom, parametrized by p. So my question is: Is there a "simple" way (in terms of quaternions, rotation matrices, Euler angles ... or whatever you prefer) to express the unique (2 DOF) rotation in terms of the two vectors and the "free" parameter p, parametrizing the one degree of freedom mentioned above? What is the simplest way you can come up with?

I can do this myself but whatever I've come up with is algebraically pretty messy.

In case I haven't made myself clear, what I want is the "simplest" possible form of
R = R(v1,v2,p)

Many thanks in advance!

Edit: If it could be done without using cross-products that is an extra bonus!