lavc: eliminate tb_unreliable()

If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.
avformat/utils: add gif to tb_unreliable()

This improves the used timebases when gif is the source

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/utils: prevent r frame rate from being set larger than 1/tb

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '1eb57e1d9b59db0aa63348c21bf3290bd3f5efcb'

* commit '1eb57e1d9b59db0aa63348c21bf3290bd3f5efcb':
  lavc: eliminate tb_unreliable()

Conflicts:
	libavformat/utils.c

tb_unreliable() is used in several other parts of libavformat and thus isnt removed
The remaining change is a removial of a call to tb_unreliable() which would cause
a practically unconditional delay of about 1 second in startup for live streams.
I will implement what the commit message claims the change should do in the next
commit

This is thus, not merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avformat/utils: Ensure that average fps is probed if requested by the user even if tb_unreliable() is 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/utils: Set the average frame rate from the r_frame_rate if the stream appears to be cfr

This permits the average fps to be set in more cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Support raw dvdsub palette as stored on normal dvd's

This is how the palette is stored on dvd's. Currently
only xbmc passes the palette information to libavcodec
this way.
Check return value of avio_seek and avoid modifying state if it fails

The code still modifies state if the timestamp is not found. Not
sure exactly how to avoid that.
asf hacks
if av_read_packet returns AVERROR_IO, we are done. ffmpeg's codecs might or might not handle returning any completed demuxed packets correctly
added: Ticket #7187, TV Teletext support for DVB EBU Teletext streams
Don't accept mpegts PMT that isn't current
Don't reparse PMT unless it's version has changed
Read PID timestamps as well as PCR timestamps to find location in mpegts stream
Get stream durations using read_timestamp
changed: allow 4 second skew between streams in mov before attempting to seek
fixed: memleak in mpegts demuxer on some malformed (??) mpegts files with too large pes packets

at-visions sample file brokenStream.mpg
Speed up mpegts av_find_stream_info
dxva-h264 Fix dxva playback of streams that don't start with an I-Frame.
add public version of ff_read_frame_flush

We need this since we sometimes seek on the
input stream behind ffmpeg's back. After this
all data need to be flushed completely.