ffmpeg/libavformat
wm4 48bc9fffd1 id3v2: fix unsynchronization
The ID3v2 "unsynchronization scheme" requires replacing any 0xFF 0x00
sequences with 0xFF. This has to be done on every byte of the source
data, while the current code skipped a byte after a replacement. This
meant 0xFF 0x00 0xFF 00 was translated to 0xFF 0xFF 0x00 instead of 0xFF
0xFF. It feels a bit messy to do this correctly with the avio use. But
fortunately, this translation can be done in-place, so we can just do it
in memory.

Inspired by what taglib does.

Also see 9ae80e6a9c. (The sample file for
that commit is gone, so it could not be retested.)
2018-02-04 15:19:41 +01:00
..
tests avformat/mux: stop delaying writing the header 2017-12-06 15:43:59 -03:00
.gitignore
3dostr.c
4xm.c
a64.c
aacdec.c avformat/aacdec: Fix leak in adts_aac_read_packet() 2017-11-26 18:35:55 +01:00
aadec.c
ac3dec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c avformat/adtsenc: allow only AAC streams 2018-01-14 09:57:51 -03:00
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c avformat/aiffdec: AIFF fix in case of ANNO 2018-01-11 03:29:25 +01:00
aiffenc.c
aixdec.c
allformats.c libavformat: remove the ffmenc and ffmdec muxer and demuxers 2018-01-06 18:32:15 +00:00
amr.c lavf/amr: Do not set codec_tag for raw amr_nb and raw amr_wb. 2017-11-06 13:36:40 +01:00
anm.c
apc.c
ape.c
apetag.c
apetag.h
apngdec.c
apngenc.c
aptxdec.c aptx: add raw muxer and demuxer for aptX 2017-11-10 21:32:06 +00:00
aqtitledec.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
audiointerleave.c
audiointerleave.h
avc.c avformat/avc: support writting more than one sps/pps in ff_isom_write_avcc 2017-11-30 00:17:41 -03:00
avc.h
avformat.h avformat: deprecate AVFormatContext filename field 2018-01-28 23:06:43 +01:00
avformatres.rc
avi.h
avidec.c
avienc.c avformat/avienc: fix fields-per-frame value for interlaced video streams 2017-11-27 09:13:05 +01:00
avio_internal.h libavformat/avio: Utility function to return URLContext 2017-11-29 14:31:34 +08:00
avio.c avformat/avio: check input URLContext value NULL 2017-12-28 12:07:22 +08:00
avio.h avformat/avio: remove must_flush from AVIOContext 2017-11-20 21:41:38 +01:00
aviobuf.c libavformat/avio: Utility function to return URLContext 2017-11-29 14:31:34 +08:00
avisynth.c lavc, lavf: move avformat static mutex from avcodec to avformat 2017-12-26 02:50:00 +01:00
avlanguage.c
avlanguage.h
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
chromaprint.c lavc, lavf: move avformat static mutex from avcodec to avformat 2017-12-26 02:50:00 +01:00
cinedec.c
concat.c
concatdec.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
crcenc.c
crypto.c
cutils.c
dash.c
dash.h
dashdec.c dashdec: Fix segfault on decoding segment timeline 2018-01-29 10:46:50 +08:00
dashenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
data_uri.c
dauddec.c
daudenc.c
dcstr.c
dfa.c
diracdec.c
dnxhddec.c
dsfdec.c
dsicin.c
dss.c
dtsdec.c
dtshddec.c
dump.c lavu/lavc/lavf/lavfi: Do not use type modifier %zu on Windows MSVCRT. 2017-12-17 18:05:42 +01:00
dv.c
dv.h
dvbsub.c
dvbtxt.c
dvenc.c
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
fifo.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
file_open.c
file.c
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c avformat/fitsenc: validate input pixel format 2017-11-13 20:33:10 +01:00
flac_picture.c
flac_picture.h
flacdec.c
flacenc_header.c
flacenc.c
flacenc.h
flic.c
flv.h
flvdec.c
flvenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
format.c avformat: use mutexes instead of atomics in av_register_{input,output}_format() 2018-01-05 13:18:34 -03:00
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.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 avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hdsenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
hevc.c
hevc.h
hevcdec.c
hls.c avformat/hls: store referer message in HLS http request 2018-02-01 10:57:29 +08:00
hlsenc.c avformat/hls: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
hlsplaylist.c avformat/hlsenc: closed caption tags in the master playlist 2018-01-24 11:42:57 +08:00
hlsplaylist.h avformat/hlsenc: closed caption tags in the master playlist 2018-01-24 11:42:57 +08:00
hlsproto.c
hnm.c
http.c avformat/http: add referer option into http 2018-02-01 10:56:51 +08:00
http.h
httpauth.c
httpauth.h
icecast.c
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c id3v2: fix unsynchronization 2018-02-04 15:19:41 +01:00
id3v2.h avformat: add option to parse/store ID3 PRIV tags in metadata. 2018-01-24 04:01:01 +01:00
id3v2enc.c avformat: add option to parse/store ID3 PRIV tags in metadata. 2018-01-24 04:01:01 +01:00
idcin.c
idroqdec.c
idroqenc.c
iff.c
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c
img2.h
img2dec.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
img2enc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
ingenientdec.c
internal.h avformat: add url field to AVFormatContext 2018-01-28 23:06:43 +01:00
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c avformat/isom: return proper error values in ff_mp4_read_dec_config_descr 2017-11-25 23:15:28 -03:00
isom.h lavf/movenc: add sdtp (sample dependency) box 2017-12-02 19:14:34 +01:00
iss.c
iv8.c
ivfdec.c
ivfenc.c ivfenc: add AV1 support 2017-12-13 15:10:07 +00:00
jacosubdec.c
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v libavformat: unexpose private ff_ functions needed by ffserver 2018-01-06 18:37:06 +00:00
libgme.c
libmodplug.c
libopenmpt.c avformat/libopenmpt: Update to libopenmpt 0.3 API 2018-01-12 12:31:55 +01:00
librtmp.c
libsmbclient.c
libssh.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c avformat/lrcdec: Fix memory leak in lrc_read_header() 2018-01-20 21:32:04 +01:00
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile libavformat: remove the ffmenc and ffmdec muxer and demuxers 2018-01-06 18:32:15 +00:00
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: force full frame parsing of MLP/TrueHD streams 2018-01-29 23:09:08 -03:00
matroskaenc.c avformat/matroskaenc: add missing allocation failure checks for stream durations 2017-11-28 01:23:23 -03:00
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mov_chan.c
mov_chan.h
mov_esds.c avformat/mov_esds: check return value of ff_mp4_read_dec_config_descr 2017-11-25 23:15:28 -03:00
mov.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
movenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
movenc.h lavf/movenc: add sdtp (sample dependency) box 2017-12-02 19:14:34 +01:00
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c avformat/mp3dec: use FFABS to instead of abs 2017-11-20 10:49:42 +08:00
mp3enc.c
mpc8.c
mpc.c
mpeg.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
mpeg.h
mpegenc.c avformat/mpegenc - fix typo in VBV warning 2018-01-30 05:28:22 +01:00
mpegts.c lavf/mpegts: mark packets with TEI flag as corrupted 2017-12-13 20:07:00 -06:00
mpegts.h
mpegtsenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
mpegvideodec.c
mpjpeg.c libavformat/mpjpeg: use "ffmpeg" instead of "ffserver" as boundary tag 2018-01-06 18:37:35 +00:00
mpjpegdec.c
mpl2dec.c
mpsubdec.c
msf.c
msnwc_tcp.c
mtaf.c
mtv.c
musx.c
mux.c avformat: deprecate AVFormatContext filename field 2018-01-28 23:06:43 +01:00
mvdec.c avformat/mvdec: check for EOF 2017-11-05 10:42:07 +01:00
mvi.c
mxf.c avformat/mxf: use FFABS to instead of abs 2017-11-20 10:50:30 +08:00
mxf.h avformat/mxfenc: write reel_name if metadata key is present 2017-12-08 20:02:16 +01:00
mxfdec.c avformat/mxfdec: fix last packet timestamps 2017-12-03 21:06:47 +01:00
mxfenc.c avformat/mxfenc: write reel_name if metadata key is present 2017-12-08 20:02:16 +01:00
mxg.c
ncdec.c
network.c avformat: make avformat_network_init() explicitly optional 2018-01-16 12:57:04 +01:00
network.h avformat: make avformat_network_init() explicitly optional 2018-01-16 12:57:04 +01:00
nistspheredec.c
nspdec.c avformat: add NSP demuxer 2017-12-08 16:01:09 +01:00
nsvdec.c
nullenc.c
nut.c
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c avformat/oggdec: Respect AVERROR codes returned by ogg parsers. 2017-12-02 19:14:23 +01:00
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedaala.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c lavf/oggparseogm: Remove an unneeded include. 2018-01-08 14:36:18 +01:00
oggparseopus.c avformat/oggparseopus: Free opus extradata before reallocating. 2017-11-29 04:47:28 +01:00
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c avformat/oggdec: Respect AVERROR codes returned by ogg parsers. 2017-12-02 19:14:23 +01:00
oggparsevp8.c Don't manipulate duration when it's AV_NOPTS_VALUE. 2017-11-29 00:52:27 -03:00
oma.c
oma.h
omadec.c
omaenc.c
options_table.h avformat/mux: stop delaying writing the header 2017-12-06 15:43:59 -03:00
options.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
os_support.c libavformat/network: fix function duplication 2018-01-06 18:59:46 +00:00
os_support.h Merge commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e' 2017-11-11 10:22:11 -03:00
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
prompeg.c
protocols.c Merge commit '61cec5adaacb358783c18aa07362f15824c1b274' 2017-11-01 16:52:05 -03:00
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c lavf/rawdec: Also probe the last byte of mjpeg streams. 2018-01-21 03:46:40 +01:00
rawdec.h
rawenc.c aptx: add raw muxer and demuxer for aptX 2017-11-10 21:32:06 +00:00
rawenc.h
rawutils.c
rawvideodec.c
rdt.c
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c avcodec/utvideodec: add support for UMH2, UMY2, UMH4, UMY4, UMRA, UMRG 2018-01-02 13:41:49 +01:00
riff.h
riffdec.c
riffenc.c
rl2.c
rm.c
rm.h
rmdec.c Merge commit '95ce02b35d3d1bb16111031df1d82a6e4d894d36' 2017-11-07 19:17:26 -03:00
rmenc.c
rmsipr.c
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 libavformat/rtmpproto: Plug leak if sending bytes read report fails. 2018-01-25 20:42:39 +01:00
rtp.c
rtp.h
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c avformat/rtpdec_asf: free the buffer pointed by the AVIOContext 2017-11-06 16:25:32 -03:00
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
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
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
rtpenc_latm.c
rtpenc_mpegts.c libavformat/rtpenc_mpegts: check avformat_new_stream() return value 2017-11-28 01:18:22 +01:00
rtpenc_mpv.c
rtpenc_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c
rtpenc.h
rtpproto.c libavformat: remove the ff_rtp_get_local_rtcp_port function 2018-01-06 18:34:55 +00:00
rtpproto.h libavformat: remove the ff_rtp_get_local_rtcp_port function 2018-01-06 18:34:55 +00:00
rtsp.c rtsp: rename certain options after a deprecation period 2018-02-04 15:08:48 +01:00
rtsp.h
rtspcodes.h
rtspdec.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
rtspenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
s337m.c
samidec.c
sapdec.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
sapenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
sauce.c
sauce.h
sbgdec.c
sccdec.c
sccenc.c
sctp.c
sdp.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
sdr2.c
sdsdec.c
sdxdec.c
segafilm.c
segment.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
shortendec.c
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
smush.c
sol.c
sox.h
soxdec.c
soxenc.c
spdif.c
spdif.h
spdifdec.c
spdifenc.c
srtdec.c
srtenc.c
srtp.c
srtp.h
srtpproto.c
stldec.c
subfile.c avformat/subfile: allow to extract till EOF 2017-11-19 19:11:50 +01:00
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
swf.c
swf.h
swfdec.c lavf/swfdec: Reduce score when auto-detecting swf files. 2018-01-20 15:41:40 +01:00
swfenc.c avformat/swfenc: use FFABS to instead of abs 2017-11-20 10:51:06 +08:00
takdec.c
tcp.c tcp: properly return EOF 2017-12-31 16:14:23 +01:00
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c lavc, lavf: move avformat static mutex from avcodec to avformat 2017-12-26 02:50:00 +01:00
tls_libtls.c libavformat: LibreSSL (libtls) support 2017-12-17 17:32:42 +11:00
tls_openssl.c lavc, lavf: move avformat static mutex from avcodec to avformat 2017-12-26 02:50:00 +01:00
tls_schannel.c Merge commit '61cec5adaacb358783c18aa07362f15824c1b274' 2017-11-01 16:52:05 -03:00
tls_securetransport.c This fixes a deadlock while reading a chunked https response, if 2017-11-13 15:04:55 -06:00
tls.c
tls.h Merge commit '61cec5adaacb358783c18aa07362f15824c1b274' 2017-11-01 16:52:05 -03:00
tmv.c
tta.c
ttaenc.c avformat/ttaenc: add tta_init() 2017-11-24 15:05:35 -03:00
tty.c
txd.c
ty.c avformat/ty: check cur_chunk_pos before using it 2017-11-12 22:58:15 +01:00
udp.c Revert "udp: fix compilation when HAVE_PTHREAD_CANCEL isnt defined" 2017-11-23 14:20:32 +00:00
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
utils.c avformat: deprecate AVFormatContext filename field 2018-01-28 23:06:43 +01:00
v210.c
vag.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h rtsp: rename certain options after a deprecation period 2018-02-04 15:08:48 +01:00
vivo.c
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 avformat/wavdec: make fact chunk parsing for w64 more robust 2018-01-10 15:54:15 +01:00
wavenc.c
wc3movie.c
webm_chunk.c avformat: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
webmdashenc.c
webpenc.c
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_vqa.c
wsddec.c
wtv_common.c
wtv.h
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmv.c
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c