FFmpeg/libavformat
Andreas Rheinhardt 396efc73e3 avformat/matroskaenc: Speed up reformatting WavPack
WavPack's blocks use a length field, so that parsing them is fast.
Therefore it makes sense to parse the block twice, once to get
the length of the output packet and once to write the actual data
instead of writing the data into a temporary buffer in a single pass.

This speeds up muxing from 1597092 to 761850 Decicycles per
write_packet call for a 2000kb/s stereo WavPack file muxed to /dev/null
with writing CRC-32 disabled.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-01-19 11:55:34 +01:00
..
tests avformat/tests/imf: Don't use uninitialized value 2022-01-04 10:35:19 +01:00
.gitignore
3dostr.c
4xm.c avformat/4xm: Check for duplicate track ids 2021-12-16 22:31:13 +01:00
a64.c
aacdec.c
aadec.c avformat/aadec: Use smaller scope for variables 2021-12-08 14:12:42 +01:00
aaxdec.c
ac3_channel_layout_tab.c avcodec/ac3tab: Unavpriv ac3_channel_layout_tab 2022-01-04 13:16:49 +01:00
ac3dec.c
acedec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.c
aiff.h
aiffdec.c avformat/aiffdec: "-1" -> AVERROR_INVALIDDATA 2021-11-01 20:37:20 +01:00
aiffenc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
aixdec.c
allformats.c avformat/imf: Demuxer 2021-12-31 17:26:01 +10:00
alp.c
amr.c avformat/amr: Return error upon error 2022-01-09 21:25:03 +01:00
amvenc.c
anm.c
apc.c
ape.c
apetag.c
apetag.h
apm.c
apngdec.c
apngenc.c avformat/apngenc: Use UINT16_MAX instead of USHRT_MAX 2021-11-09 15:40:36 +01:00
aptxdec.c
aqtitledec.c
argo_asf.c avformat/argo_asf: use title metadata when muxing 2021-10-15 23:40:15 +10:00
argo_asf.h
argo_brp.c
argo_cvg.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c
asfdec_o.c
asfenc.c
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
av1.c
av1.h
av1dec.c
avc.c
avc.h
avformat.h lavf: add a flag for experimental (de)muxers 2022-01-03 20:38:35 +01:00
avformatres.rc
avi.h
avidec.c avformat/avidec: Check read_odml_index() for failure 2021-11-26 21:31:06 +01:00
avienc.c avcodec/raw: Reduce number of avpriv symbols 2022-01-04 13:16:49 +01:00
avio_internal.h avformat/aviobuf: ffio_copy_url_options 2021-12-19 00:35:24 +10:00
avio.c
avio.h avformat/avio{,buf}: introduce public AVIOContext::bytes_{read,written} 2021-10-24 13:04:39 +03:00
aviobuf.c avformat/aviobuf: ffio_copy_url_options 2021-12-19 00:35:24 +10:00
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs2dec.c
avs3dec.c
avs.c
bethsoftvid.c
bfi.c
bink.c
binka.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c avformat/cafdec: Avoid unnecessary avio_tell() calls 2021-11-26 18:55:58 +01:00
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
chromaprint.c
cinedec.c avformat/cinedec: Avoid repeatedly allocating packets beyond the input 2021-12-16 22:31:13 +01:00
codec2.c
concat.c avformat/concatf: ignore trailing whitespaces 2021-12-07 17:50:55 +05:30
concatdec.c libavformat: add side_data copy in concat demuxer 2021-12-22 12:05:41 +01:00
crcenc.c avformat/crcenc: Make init function out of write_header 2021-12-20 14:29:01 +01:00
crypto.c
dash.c
dash.h
dashdec.c avformat/dashdec: do not use filesize when reading XML file 2022-01-09 18:44:26 +01:00
dashenc.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
data_uri.c
dauddec.c
daudenc.c
dca_sample_rate_tab.c avcodec/dca: Unavpriv dca_sample_rates 2022-01-04 13:16:49 +01:00
dcstr.c
demux.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
derf.c
dfa.c
dhav.c avformat/dhav: Limit get_duration() iterations 2021-11-14 17:51:35 +01:00
diracdec.c
dnxhddec.c
dovi_isom.c avformat/dovi_isom: Implement Dolby Vision configuration parsing/writing 2022-01-04 04:29:36 +01:00
dovi_isom.h avformat/dovi_isom: Implement Dolby Vision configuration parsing/writing 2022-01-04 04:29:36 +01:00
dsfdec.c
dsicin.c
dss.c
dtsdec.c
dtshddec.c
dump.c
dv.c
dv.h
dvbsub.c
dvbtxt.c
dvenc.c lavf/dvenc: replace av_fifo_peek2() with av_fifo_generic_peek_at() 2022-01-10 16:04:00 +01:00
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
fifo_test.c
fifo.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
file_open.c
file.c avformat/file: use proper return value in file_close 2021-12-12 00:32:20 +01:00
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c
flac_picture.c
flac_picture.h
flacdec.c
flacenc_header.c
flacenc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
flacenc.h
flic.c
flv.h
flvdec.c avformat/flvdec: timestamps cannot use the full int64 range 2021-12-30 22:20:14 +01:00
flvenc.c avcodec/mpeg4audio: Unavpriv and deduplicate mpeg4audio_sample_rates 2022-01-04 13:16:50 +01:00
format.c lavf: add a flag for experimental (de)muxers 2022-01-03 20:38:35 +01:00
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c lavf/ftp: check for truncation in snprintf 2021-12-07 11:16:14 +01:00
fwse.c
g722.c
g723_1.c
g726.c
g729dec.c
gdv.c
genh.c
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hca.c
hcom.c
hdsenc.c avformat: do not use AVIO_FLAG_* with avio_alloc_context 2021-12-04 14:06:30 +01:00
hevc.c
hevc.h
hevcdec.c
hls_sample_encryption.c avcodec/ac3tab: Unavpriv ac3_channel_layout_tab 2022-01-04 13:16:49 +01:00
hls_sample_encryption.h
hls.c avformat/aviobuf: ffio_copy_url_options 2021-12-19 00:35:24 +10:00
hlsenc.c avformat/hlsenc: convey stream id to segment streams 2022-01-09 10:37:00 +05:30
hlsplaylist.c
hlsplaylist.h
hlsproto.c
hnm.c
http.c http: honor response headers in redirect caching 2022-01-18 17:35:26 -05:00
http.h
httpauth.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
httpauth.h
icecast.c
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c
idcin.c
idroqdec.c
idroqenc.c
iff.c
ifv.c
ilbc.c
imf_cpl.c avformat/imf: Fix indentation 2022-01-05 21:19:48 +10:00
imf.h avformat/imf: Demuxer 2021-12-31 17:26:01 +10:00
imfdec.c avformat/imfdec: do not use filesize when reading XML file 2022-01-09 18:44:26 +01:00
img2_alias_pix.c
img2_brender_pix.c
img2.c
img2.h
img2dec.c avformat/img2dec: Don't include disabled demuxers 2022-01-08 18:12:30 +01:00
img2enc.c avformat/img2enc: do not ignore IO errors 2021-12-12 00:32:20 +01:00
imx.c
ingenientdec.c
internal.h avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
ip.c
ip.h
ipmovie.c
ipudec.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom_tags.c avformat/isom_tags: fix 'ipcm' with samplesize equal to 16 2021-11-03 17:45:02 +01:00
isom.c avcodec/mpegaudiodata: Unavpriv mpa_bitrate and mpa_frequency tabs 2022-01-04 13:16:50 +01:00
isom.h avformat/mov: add option max_stts_delta 2021-12-31 14:44:20 +05:30
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c
jacosubenc.c
jpegtables.c avcodec/jpegtables: Unavpriv MJPEG-tables 2022-01-04 13:16:50 +01:00
jvdec.c
kvag.c
latmenc.c avformat/avformat: Add AVStream parameter to check_bitstream() sig 2021-11-27 12:55:41 +01:00
libamqp.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c
librist.c avformat/librist: correctly initialize logging_settings 2021-11-18 20:40:24 +01:00
librtmp.c
libsmbclient.c
libsrt.c avformat/libsrt: add missing version check for snddropdelay 2021-11-25 19:11:24 +01:00
libssh.c
libzmq.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
luodatdec.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile avformat/matroskaenc: Disable MKV-only code if MKV muxer is disabled 2022-01-08 18:16:29 +01:00
matroska.c
matroska.h avformat/matroska{dec, enc}: Parse BlockAdditionMapping elements 2022-01-04 04:29:36 +01:00
matroskadec.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
matroskaenc.c avformat/matroskaenc: Speed up reformatting WavPack 2022-01-19 11:55:34 +01:00
mca.c
mccdec.c
md5proto.c avformat/md5proto: Simplify data->hex conversion 2021-12-08 14:15:53 +01:00
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mods.c
moflex.c avformat/moflex: Don't use uninitialized timebase for data stream 2021-12-16 03:08:10 +01:00
mov_chan.c
mov_chan.h
mov_esds.c
mov.c avcodec/ac3tab: Unavpriv ac3_channel_layout_tab 2022-01-04 13:16:49 +01:00
movenc_ttml.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
movenc_ttml.h
movenc.c avformat/movenc: fix duration in mdhd box 2022-01-10 12:32:21 +02:00
movenc.h avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c
mp3enc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
mpc8.c
mpc.c
mpeg4audio_sample_rates.c avcodec/mpeg4audio: Unavpriv and deduplicate mpeg4audio_sample_rates 2022-01-04 13:16:50 +01:00
mpeg.c
mpeg.h
mpegaudiotabs.c avcodec/mpegaudiodata: Unavpriv mpa_bitrate and mpa_frequency tabs 2022-01-04 13:16:50 +01:00
mpegenc.c
mpegts.c avformat/mpegts: add option max_packet_size 2022-01-16 10:46:38 +05:30
mpegts.h avformat/mpegts: add support for stream_type 0xd4, which is AVS3 2021-10-20 22:40:13 +08:00
mpegtsenc.c avformat/mpegtsenc: Avoid allocation of AVPacket 2021-11-27 12:55:41 +01:00
mpegvideodec.c
mpjpeg.c
mpjpegdec.c avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
mpl2dec.c
mpsubdec.c
msf.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
msnwc_tcp.c
mspdec.c
mtaf.c
mtv.c
musx.c
mux.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
mvdec.c avformat/mvdec: re-indent after last commit 2022-01-08 09:21:21 +11:00
mvi.c
mxf.c
mxf.h avformat/mxfdec: support MCA audio information 2022-01-09 18:13:53 +01:00
mxfdec.c avformat/mxfdec: support MCA audio information 2022-01-09 18:13:53 +01:00
mxfenc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
nspdec.c
nsvdec.c
nullenc.c avformat/nullenc: Use ff_interleave_packet_passthrough() 2021-11-19 18:11:46 +01:00
nut.c
nut.h
nutdec.c
nutenc.c avcodec/mpegaudiodata: Unavpriv mpa_bitrate and mpa_frequency tabs 2022-01-04 13:16:50 +01:00
nuv.c
oggdec.c
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c all: Use av_memdup() where appropriate 2021-12-03 16:07:02 +01:00
oggparsevp8.c
oma.c
oma.h
omadec.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
omaenc.c
options_table.h
options.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
pp_bnk.c
prompeg.c
protocols.c lavf/protocols: avoid discarding const in avio_enum_protocols() 2021-12-07 11:16:14 +01:00
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c avformat/avformat: Add AVStream parameter to check_bitstream() sig 2021-11-27 12:55:41 +01:00
rawenc.h
rawutils.c
rawvideodec.c avformat/rawvideodec: check packet size 2022-01-13 19:43:03 +01:00
rdt.c
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c
riff.h
riffdec.c
riffenc.c
rl2.c
rm.c
rm.h
rmdec.c
rmenc.c
rmsipr.c Merge commit '4c995fafd861f537360b3717901cdbed6a6844e7' 2012-10-16 13:20:46 +02:00
rmsipr.h
rpl.c
rsd.c
rso.c
rso.h
rsodec.c
rsoenc.c
rtmp.h
rtmpcrypt.c
rtmpcrypt.h
rtmpdh.c
rtmpdh.h
rtmpdigest.c
rtmphttp.c
rtmppkt.c
rtmppkt.h
rtmpproto.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
rtp.c lavf/sdp: add const qualifiers where appropriate 2021-12-17 10:22:41 +01:00
rtp.h lavf/sdp: add const qualifiers where appropriate 2021-12-17 10:22:41 +01:00
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c
rtpdec_dv.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h261.c
rtpdec_h263_rfc2190.c
rtpdec_h263.c
rtpdec_h264.c
rtpdec_hevc.c
rtpdec_ilbc.c
rtpdec_jpeg.c avcodec/jpegtables: Unavpriv MJPEG-tables 2022-01-04 13:16:50 +01:00
rtpdec_latm.c
rtpdec_mpa_robust.c
rtpdec_mpeg4.c
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_rfc4175.c avformat/rtpdec_rfc4175: reindent after last commit 2022-01-12 09:21:07 +08:00
rtpdec_svq3.c
rtpdec_vc2hq.c
rtpdec_vp8.c
rtpdec_vp9.c
rtpdec_xiph.c
rtpdec.c
rtpdec.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h261.c
rtpenc_h263_rfc2190.c
rtpenc_h263.c
rtpenc_h264_hevc.c
rtpenc_jpeg.c avcodec/jpegtables: Unavpriv MJPEG-tables 2022-01-04 13:16:50 +01:00
rtpenc_latm.c
rtpenc_mpegts.c
rtpenc_mpv.c
rtpenc_rfc4175.c avformat/rtpenc_rfc4175: support for interlace format 2022-01-12 09:21:07 +08:00
rtpenc_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c avformat/rtpenc_rfc4175: support for interlace format 2022-01-12 09:21:07 +08:00
rtpenc.h avformat/rtpenc_rfc4175: support for interlace format 2022-01-12 09:21:07 +08:00
rtpproto.c avformat/rtp: add localaddr for network interface selection 2021-11-27 11:21:17 +08:00
rtpproto.h
rtsp.c avformat/rtsp: #if unused functions away, fix -O0 compilation 2022-01-08 18:13:04 +01:00
rtsp.h avformat/rtsp: add error code handling for ff_rtsp_skip_packet() 2021-12-07 20:33:17 +08:00
rtspcodes.h
rtspdec.c avformat/rtspdec: get rid of the hardcoded max size for sdp 2021-12-04 08:26:30 +08:00
rtspenc.c avformat/rtsp: add error code handling for ff_rtsp_skip_packet() 2021-12-07 20:33:17 +08:00
s337m.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbcdec.c
sbgdec.c
sccdec.c
sccenc.c
scd.c avformat/scd: add demuxer 2021-12-02 01:41:55 +10:00
sctp.c
sdp.c avformat/rtpenc_rfc4175: support for interlace format 2022-01-12 09:21:07 +08:00
sdr2.c
sdsdec.c
sdxdec.c
seek.c seek: Fix crashes in ff_seek_frame_binary if built with latest Clang 14 2021-10-18 14:34:30 +03:00
segafilm.c
segafilmenc.c avformat/segafilmenc: use ff_format_shift_data for shifting 2022-01-03 22:54:12 +01:00
segment.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
serdec.c
sga.c
shortendec.c
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c avformat/smoothstreamingenc: Move buffers to the end of structs 2021-12-05 13:27:38 +01:00
smush.c
sol.c
sox.h
soxdec.c
soxenc.c
spdif.c
spdif.h
spdifdec.c
spdifenc.c avcodec/dca: Unavpriv dca_sample_rates 2022-01-04 13:16:49 +01:00
srtdec.c
srtenc.c
srtp.c
srtp.h
srtpproto.c
stldec.c
subfile.c
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
svs.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c avformat/takdec: Don't initialize get_bits context to read one value 2022-01-07 11:55:57 +01:00
tcp.c
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c
tls_libtls.c
tls_mbedtls.c lavf/tls_mbedtls: fix handling of tls_verify=0 2021-12-30 19:32:34 +02:00
tls_openssl.c
tls_schannel.c
tls_securetransport.c
tls.c
tls.h
tmv.c
to_upper4.c avcodec/utils: Unavpriv avpriv_toupper4() 2022-01-04 13:16:50 +01:00
tta.c
ttaenc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
ttmlenc.c
ttmlenc.h
tty.c
txd.c
ty.c
udp.c lavf/udp: do not return an uninitialized value from udp_open() 2022-01-11 09:07:39 +01:00
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
utils.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat/matroskaenc: Add option to shift data to write cues at front 2022-01-13 21:00:26 +01:00
vividas.c
vivo.c avformat/vivo: Favor setting fps from explicit fractions 2021-12-16 22:31:13 +01:00
voc_packet.c
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vpcc.c
vpcc.h
vpk.c
vplayerdec.c
vqf.c
w64.c
w64.h
wavdec.c
wavenc.c
wc3movie.c
webm_chunk.c
webmdashenc.c
webpenc.c
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_audenc.c
westwood_vqa.c avcodec/vqavideo: Decode 15-bit VQA3 files 2021-10-28 22:24:54 +02:00
wsddec.c
wtv_common.c
wtv.h
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c avformat/wvenc: Make init function out of write_header 2021-12-20 14:29:01 +01:00
xa.c
xmv.c
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c