ffmpeg/libavformat
Jacob Trimble f7221d8e67 avformat/mov: Increase support for common encryption.
- Parse schm atom to get different encryption schemes.
- Allow senc atom to appear in track fragments.
- Allow 16-byte IVs.
- Allow constant IVs (specified in tenc).
- Allow only tenc to specify encryption (i.e. no senc/saiz/saio).
- Use sample descriptor to detect clear fragments.

This doesn't support:
- Different sample descriptor holding different encryption info.
  - Only first sample descriptor can be encrypted.
- Encrypted sample groups (i.e. seig).
- Non-'cenc' encryption scheme when using -decryption_key.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-19 03:15:32 +02:00
..
tests lav*,tests: remove several register_all calls 2018-04-02 03:26:22 +01:00
.gitignore
3dostr.c
4xm.c
a64.c
aacdec.c libavformat/aac: Parse all ID3 tags present between ADTS frames 2018-04-12 02:54:14 +02:00
aadec.c
ac3dec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c
aiffenc.c
aixdec.c
allformats.c Add Sega FILM muxer 2018-04-05 22:04:30 +01:00
amr.c lavf/amr: Stricter heuristic for auto-detection. 2018-04-06 00:21:22 +02:00
anm.c
apc.c
ape.c
apetag.c
apetag.h
apngdec.c
apngenc.c
aptxdec.c
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
avc.h
avformat.h lavf: move avpriv function definition to internal.h 2018-04-02 02:16:14 +01:00
avformatres.rc
avi.h
avidec.c avformat/avidec: Fix integer overflow in cum_len check 2018-03-10 02:44:45 +01:00
avienc.c
avio_internal.h
avio.c
avio.h
aviobuf.c lavf/aviobuf: add ff_get_chomp_line 2018-04-12 16:04:58 +08:00
avisynth.c
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
cinedec.c
codec2.c
concat.c
concatdec.c avformat/concatdec: only set output stream index before returning packet 2018-04-02 20:41:53 +02:00
crcenc.c
crypto.c
cutils.c
dash.c
dash.h
dashdec.c libavformat/dashdec: Avoid multiple HTTP requests for initialization segment that is common among all representations 2018-04-17 14:36:45 +08:00
dashenc.c avformat/dashenc: addition of segment index correction logic 2018-04-17 14:35:40 +05:30
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
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_test.c
fifo.c
file_open.c
file.c
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c
flac_picture.c
flac_picture.h
flacdec.c
flacenc_header.c
flacenc.c avformat/flacenc: add flac_init() 2018-04-16 13:46:10 -03:00
flacenc.h
flic.c
flv.h
flvdec.c
flvenc.c
format.c lavf/format: use const AVInputFormat for iteration 2018-04-02 03:26:22 +01: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
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hdsenc.c
hevc.c
hevc.h
hevcdec.c
hls.c avformat/hls: remove redundant code 2018-04-18 11:22:23 +08:00
hlsenc.c avformat/hlsenc: avformat/hlsenc: add error message for encrypt fmp4 mode 2018-04-16 14:35:14 +08:00
hlsplaylist.c
hlsplaylist.h
hlsproto.c lavf/hlsproto: use ff_get_chomp_line 2018-04-12 16:04:58 +08:00
hnm.c
http.c libavformat/http: Fix memory leak in get_cookies. 2018-04-17 22:00:54 +02:00
http.h
httpauth.c
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
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c
img2.h
img2dec.c lavf/img2dec: use new iteration API 2018-04-02 03:26:22 +01:00
img2enc.c
ingenientdec.c
internal.h lavf/aviobuf: add ff_get_chomp_line 2018-04-12 16:04:58 +08:00
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c avformat/isom: don't free extradata before calling ff_get_extradata() 2018-03-06 23:41:32 -03:00
isom.h avformat/mov: Increase support for common encryption. 2018-04-19 03:15:32 +02:00
iss.c
iv8.c
ivfdec.c
ivfenc.c Merge commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc' 2018-03-28 15:46:59 -03:00
jacosubdec.c
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c avformat/libopenmpt: Probe file format from file data if possible 2018-03-20 22:59:40 +01:00
librtmp.c
libsmbclient.c
libsrt.c Merge commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57' 2018-03-29 21:56:19 -03:00
libssh.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile Add Sega FILM muxer 2018-04-05 22:04:30 +01:00
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: reference the existing data buffer when creating packets 2018-04-06 21:14:50 -03:00
matroskaenc.c
md5proto.c
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
mov_chan.c
mov_chan.h
mov_esds.c
mov.c avformat/mov: Increase support for common encryption. 2018-04-19 03:15:32 +02:00
movenc.c avformat/movenc: support writing iTunes cover image 2018-04-17 20:11:34 +01:00
movenc.h avformat/movenc: support writing iTunes cover image 2018-04-17 20:11:34 +01:00
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c
mp3enc.c avformat/mp3enc: use AVPacketList helper functions to queue packets 2018-04-04 00:15:39 -03:00
mpc8.c avformat/mpc8: do not return error on stream end 2018-03-29 20:46:36 +02:00
mpc.c
mpeg.c avformat/mpeg: add missing check 2018-04-01 21:08:16 +02:00
mpeg.h
mpegenc.c
mpegts.c
mpegts.h
mpegtsenc.c
mpegvideodec.c
mpjpeg.c
mpjpegdec.c
mpl2dec.c
mpsubdec.c
msf.c
msnwc_tcp.c
mtaf.c
mtv.c
musx.c
mux.c
mvdec.c
mvi.c
mxf.c
mxf.h
mxfdec.c avformat/mxfdec: do not allow more partitions than INT_MAX/2 2018-03-09 20:37:49 +01:00
mxfenc.c
mxg.c avformat/mxg: return reference counted packets 2018-03-02 12:26:09 -03:00
ncdec.c
network.c
network.h
nistspheredec.c
nspdec.c
nsvdec.c
nullenc.c
nut.c
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c avformat/oggdec: Fix metadata memleak on multiple headers 2018-03-07 20:37:33 +01:00
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedaala.c avformat/oggparsedaala: Do not adjust AV_NOPTS_VALUE 2018-03-10 02:44:45 +01:00
oggparsedirac.c
oggparseflac.c
oggparseogm.c avformat/oggparseogm: Check lb against psize 2018-03-10 02:44:45 +01:00
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c avformat/oggparsetheora: Do not adjust AV_NOPTS_VALUE 2018-03-10 02:44:45 +01:00
oggparsevorbis.c libavformat/oggparsevorbis: Fix memleak on multiple headers 2018-03-07 20:37:33 +01:00
oggparsevp8.c
oma.c
oma.h
omadec.c
omaenc.c
options_table.h avformat/options_table: Change the seek2any location in opt table. 2018-04-02 23:27:51 +02:00
options.c
os_support.c
os_support.h
paf.c
pcm.c avformat/pcm: decrease delay when reading PCM streams. 2018-03-13 01:34:42 +01:00
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
prompeg.c
protocols.c Merge commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57' 2018-03-29 21:56:19 -03:00
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c sbc: add raw muxer for SBC 2018-03-07 22:26:53 +01:00
rawenc.h
rawutils.c
rawvideodec.c
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 avformat/rmdec: make use of avio_get_str() 2018-04-02 22:44:26 +02: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
rtp.c
rtp.h
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
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 avformat/rtpenc_chain: use the proper function to free AVFormatContext 2018-03-26 00:52:39 -03:00
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
rtpenc_mpv.c
rtpenc_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c
rtpenc.h
rtpproto.c
rtpproto.h
rtsp.c
rtsp.h
rtspcodes.h
rtspdec.c
rtspenc.c
s337m.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbcdec.c sbc: add raw demuxer for SBC 2018-03-07 22:26:53 +01:00
sbgdec.c
sccdec.c
sccenc.c
sctp.c
sdp.c
sdr2.c
sdsdec.c
sdxdec.c
segafilm.c Sega FILM: set dts and duration when demuxing 2018-04-10 02:36:11 +02:00
segafilmenc.c lavf/segafilmenc: Do not mix variable declaration and code. 2018-04-10 00:50:01 +02:00
segment.c
shortendec.c
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c
smush.c
sol.c
sox.h
soxdec.c
soxenc.c
spdif.c
spdif.h
spdifdec.c
spdifenc.c spdifenc: support ac3 core+eac3 dependent streams 2018-04-11 11:37:05 +02: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
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c
tcp.c lavf/tcp.c: Free allocated client URLContext in case of error. 2018-04-19 03:15:32 +02:00
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c
tls_libtls.c libavformat/tls_libtls: pass numeric hostnames to tls_connect_cbs() 2018-03-07 02:06:09 +02:00
tls_openssl.c
tls_schannel.c
tls_securetransport.c
tls.c
tls.h
tmv.c
tta.c
ttaenc.c avformat/ttaenc: use AVPacketList helper functions to queue packets 2018-04-04 00:15:38 -03:00
tty.c
txd.c
ty.c
udp.c
uncodedframecrcenc.c
unix.c avformat/unix: fix handling of EOF in case of SOCK_STREAM. 2018-03-21 19:02:06 +01:00
url.c
url.h
urldecode.c
urldecode.h
utils.c avformat/utils: use the existing packet reference when parsing complete frames 2018-04-13 21:19:22 -03:00
v210.c
vag.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat/dashenc: replacing 'min_seg_duration' with 'seg_duration' 2018-04-17 14:30:47 +05:30
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
wavenc.c
wc3movie.c
webm_chunk.c
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