Subcarrier assignment and power allocation for device-to-device (D2D) video transmission using a filter bank multicarrier waveform in a Rayleigh fading environment are investigated. We analyze the co-channel interference between D2D pairs, and propose a cross-layer algorithm with a subcarrier assignment outer loop and a power allocation inner loop, which aims to optimize the overall video quality. Unlike the non-convexity in physical layer power allocation for maximizing the total throughput, the cross-layer power allocation problem is convex under certain conditions, so a high quality solution for power allocation can be efficiently found. Simulation results demonstrate a higher overall video quality by the proposed cross-layer algorithm compared with baseline algorithms.