ffplay: factorize frame queue operations

Create a generic frame and a frame queue struct to handle video picture queues
and subtitle picture queues with common code. Also add the possibility to queue
AVFrames, however at the moment we only use SDL_Overlay buffers for video and
AVSubtitles for subtitles.

Signed-off-by: Marton Balint <cus@passwd.hu>
ffplay: use frame queue to determine last used pos

Signed-off-by: Marton Balint <cus@passwd.hu>
Revert "avformat/rtpproto: fix strict aliasing violations with sockaddr"

It appears this breaks build with MSVC
until someone who has MSVC setup has time to investigate and
workaround/fix this, its better to revert so that build is not broken
Thats even more so as the original commit only fixed a hypothetical issue

This reverts commit e587a428d75d58e2e5a592efd7bff44e1d9294ee.
doc/filters: add geq gradient examples

Radial gradient by Víctor Paesa. Linear gradient by Paul Gentemann.

Also-by: Víctor Paesa <victorpaesa@googlemail.com>
Also-by: Paul Gentemann <beriukay@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
avformat/avienc: Dont search for startcodes in inserted empty avi frames

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'cus/stable'

* cus/stable:
  ffplay: use frame queue to determine last used pos
  ffplay: factorize frame queue operations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
ffplay: try to fix build failure on apple

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.