Why do I Have 800 pixels in PAL video line
Most likely you have set the video decoder to output HSYNC; but have set the STM32H7 to expect HACTIVE, so it samples everything but the sync. By default TVP5150 HSYNC pulse is 64 pixels or 128 clocks, so 864-64 is 800, and you are left with 800 pixels per line, so it contains back porch and front porch blanking too instead of just the 720 pixels you really want.