segment: Add a missing space

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Add an option for omitting the first header and final trailer

This allows writing totally bare segments, without any header/trailer
included anywhere.

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Properly create new AVStreams for the chained muxer

Before, the chained muxer reused the AVStreams array from
the outer muxer, which made it impossible to use the proper
public functions (such as av_write_frame) when calling the
chained muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Use the public av_write_header/av_write_trailer functions

With this change, the segmenter muxer doesn't rely on anything
not available/supported to libavformat external users, making
the segmenter muxer do things just like a normal segmenter
application using libavformat would do.

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Free and reinit the muxer before calling avformat_write_header

This makes sure the muxers are set up in the way they expect
with no data left around from the previous run (which could
cause various issues including memory leaks, depending on the chaine
muxer).

This fixes memory leaks with the mpegts and flv muxers. It also
makes the usage of chained muxers correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Add an option for disabling writing of a header/trailer to each segment

Some segmented formats (such as fragmented mp4) are "bare", as in,
the segment files do not have the same headers/trailers as full normal
files of that format have.

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Set the resend_headers flag for each segment

This makes sure new inline headers are emitted when the next
packet is written. This allows segmenting mpegts without calling
write_header/write_trailer (nor freeing/reiniting the muxer)
for each segment.

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Flush buffered data before finishing a segment

This makes sure any buffered data is written to the segment, for
muxers that buffer up data internally (e.g. fragmented mp4).

Signed-off-by: Martin Storsjö <martin@martin.st>
segment: Add comments about calls that only are relevant for some muxers

Signed-off-by: Martin Storsjö <martin@martin.st>
build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO

A new hidden config variable is added for the codecs that depend on the
mpegaudio parts.
x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection
x86: cpu: Break out test for cpuid capabilities into separate function
configure: add --enable-lto option

This works with gcc.  Other compilers might need to have a flag
mapping added.

Signed-off-by: Mans Rullgard <mans@mansr.com>
x86: Add YASM implementations of cpuid and xgetbv from x264

This allows detecting CPU features with builds that have neither
gcc inline assembly nor the right compiler intrinsics enabled.
x86: Drop CPU detection intrinsics

Now that there is CPU detection in YASM, there will always be one of
inline or external assembly enabled, which obviates the need to fall
back on CPU detection through compiler intrinsics.
x86: get_cpu_flags: add necessary ifdefs around function body

ff_get_cpu_flags_x86() requires cpuid(), which is conditionally defined
elsewhere in the file.  Surrounding the function body with ifdefs allows
building even when cpuid is not defined.  An empty cpuflags mask is
returned in this case.
movenc.c: Add support for >16bit BE flavours

Currently only LE handled correctly
Updated fate checksums to reflect new headers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
aacenc: fix out of array writes

The value used in allocation is based on a estimate of the
maximum size of the spectral coefficients multiplied with 2
and rounded up. The exact or a tighter limit should be
found and used instead. But this issue shouldnt be left
open until someone works on that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libspeexenc: Add an option for enabling DTX

Discontinuous transmission is an addition to VAD/VBR operation, that
allows to greatly reduce bitrate for silent chunks or stationary
noises.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libspeexenc: Updated commentary to reflect recent changes

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