avformat/utils: move side data merge after parser

merging before the parser can conflict with the parser, also
future changes depend on it being done later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec: move end zeroing code from av_packet_split_side_data() to avcodec_decode_subtitle2()

This code changes the input packet, which is read only and can in
rare circumstances lead to decoder errors. (i run into one of these in
the audio decoder, which corrupted the packet during av_find_stream_info()
so that actual decoding that single packet failed later)
Until a better fix is implemented, this commit limits the problem.
A better fix might be to make the subtitle decoders not depend on
data[size] = 0 or to copy their input when this is not the case.
avformat/utils: inject audio skip side data before the side data merge code

This ensures that its handled the same way as other side data

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>