fix QByteArray out of bounds error in Qt4

call data() before shared is ok. otherwise the real data in may be
changed
xv: avoid frame copy when a frame received
decoded frame w/h use AVFrame's