I have my pc connected to the TV using HDMI, audio is connected using an optical cable to a Denon AVR-3803 receiver. I noticed that the audio is faster than the video, how can I resolve this? I know I can delay the audio from the VLC player itself but I would like a more permanent solution. Is there something that I can change on the AV receiver itself?

It's the time it takes for the signal to be processed by the TV. When you are using a receiver to handle the audio signal, because the receiver is processing the audio in real time, and the TV isn't, this causes the delay between the video and audio. i.e. The Video is playing later than the real-time audio track because the TV is taking slightly longer to show the video signal.

There should be an option on your AV receiver to delay the audio so that it matches the video playback. It's usually called Audio delay or lip sync delay. Have a look through your settings menus, or refer to the manual to find it.