frame: fix the error path in av_frame_copy_props()

First free metadata, then the side data it is contained in.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
matroskaenc: base DefaultDuration on the framerate, not the codec timebase

This results in DefaultDuration not being written when the framerate is
not known, but as this field is purely informative, this should not
break any sane demuxers.
movenc: write avg_frame_rate as the framerate, not the codec timebase
flvenc: only write the framerate tag based on avg_frame_rate

Do not fall back on the codec timebase, since that can be anything for
VFR video.
matroskaenc: set the stream timebase earlier

Fixes calculating the ts offset for audio codecs with delay.
aarch64: Use the correct syntax for relocations

This fixes building in PIC mode with gas. The examples in the gas
manual showed using a # here even though gas itself actually didn't
support that syntax (and the gas test suite only tests it without
the extra hash sign).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
svq1enc: Rename SVQ1Context to SVQ1EncContext

This allows making it visible without name clashes.
dsputil: Move SVQ1 encoding specific bits into svq1enc
dsputil: Move ff_alternate_*_scan tables to mpegvideo
dsputil: Move mspel_pixels_tab to the only place it is used
dsputil: Move APE-specific bits into apedsp
dsputil: Move Bink-specific add_pixels8 to binkdsp
dsputil: Split off quarterpel bits into their own context
Revert "rtpenc_chain: Don't copy the time_base back to the caller"

While it strictly isn't necessary to copy the time base (since
any use of it is scaled in ff_write_chained), it still is better
to signal the actual time base to the caller, avoiding one
unnecessary rescaling. This also lets the caller know what the
actual internal time base is, in case that is useful info
for some caller.

This reverts commit 397ffde115f4e0482a007b672f40457596cebfc4.

Signed-off-by: Martin Storsjö <martin@martin.st>
ppc: Fix compilation for ppc64le (ELFv2)

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
rtpenc_chain: Don't copy the time base to the source stream by default

Only copy it manually in the muxers where it makes sense (rtspenc,
sapenc). Don't touch the original AVStream in movenchint, where
the original AVStream should be kept untouched.

This fixes the normal tracks in RTP hinted files after
abb810db - the hint tracks were ok while the normal media tracks
were broken, noticed by Michael Niedermayer.

This reverts abb810db but achieves the same effect for the other
muxers.

Signed-off-by: Martin Storsjö <martin@martin.st>
matroskaenc: Allow VP9 and Opus in webm

Bug-Id: 695

Signed-off-by: Anton Khirnov <anton@khirnov.net>
lavu: add all color-related enums to AVFrame

Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavcodec: set AVFrame colorspace fields on decoding

Signed-off-by: Anton Khirnov <anton@khirnov.net>
lavc: add an option to enable side data-only packets during encoding

Some encoders (e.g. flac) need to send side data when there is no more
data to be output. This enables them to output a packet with no data in
it, only side data.