lwlibav: Avoid decoding video frames until the seek correction caused by too backward is done.
lwlibav: Use file offset based seek if AVIndexEntry is absent.
lwlibav: Use file offset based seek if a raw demuxer is used.
lwlibav: Absence of AVIndexEntry doesn't always make file offset based seek.

Fix a regression in 4fe6450ec5.
lwindex: Use file offset for the progress indicator if available.
lwindex: Fix that any execution of getting audio frame length by the parser was not carried out.

This is a regression in c536077e91 .
lwlibav: Use DTS for the average framerate calculation if the format contains AVFMT_TS_DISCONT.

Get the average framerate from libavformat if a raw demuxer is used.
lwlibav: Fix a condition which decides seek correction by file offset.
lwlibav: Generate pseudo-DTS if a raw demuxer doesn't return DTS for each frame.
lwinput: Use AVCodecContext.{width, height} instead of AVFrame.{width|height} for output.
libavsmash: Don't exceed the maximum presentation size specified for each sequence.
lwlibav: Don't exceed the maximum presentation size specified for each sequence.
vslsmas: Use AVCodecContext.{width|height} instead of AVFrame.{width|height} for output.
lsmashsource: Use AVCodecContext.{width|height} instead of AVFrame.{width|height} for output.
lwlibav: Define flags for video frames instead of 'keyframe' and 'is_leading' field.
Merge branch 'plain' into build-msvc

Merge revision: r589
Conflicts:
	AviUtl/colorspace.c
	VapourSynth/video_output.c
	common/lwindex.c
	common/lwlibav_video.c