FFmpeg/libavformat
softworkz 70c1647a35 avformat/matroskaenc: Write duration early during mkv_write_header (Rev #3)
Rev #2: Fixes doubled header writing, checked FATE running without errors
Rev #3: Fixed coding style

This commit addresses the following scenario:

we are using ffmpeg to transcode or remux mkv (or something else) to mkv. The result is being streamed on-the-fly to an HTML5 client (streaming starts while ffmpeg is still running). The problem here is that the client is unable to detect the duration because the duration is only written to the mkv at the end of the transcoding/remoxing process. In matroskaenc.c, the duration is only written during mkv_write_trailer but not during mkv_write_header.

The approach:

FFMPEG is currently putting quite some effort to estimate the durations of source streams, but in many cases the source stream durations are still left at 0 and these durations are nowhere mapped to or used for output streams. As much as I would have liked to deduct or estimate output durations based on input stream durations - I realized that this is a hard task (as Nicolas already mentioned in a previous conversation). It would involve changes to the duration calculation/estimation/deduction for input streams and propagating these durations to output streams or the output context in a correct way.
So I looked for a simple and small solution with better chances to get accepted. In webmdashenc.c I found that a duration is written during write_header and this duration is taken from the streams' metadata, so I decided for a similar approach.

And here's what it does:

At first it is checking the duration of the AVFormatContext. In typical cases this value is not set, but: It is set in cases where the user has specified a recording_time or an end_time via the -t or -to parameters.
Then it is looking for a DURATION metadata field in the metadata of the output context (AVFormatContext::metadata). This would only exist in case the user has explicitly specified a metadata DURATION value from the command line.
Then it is iterating all streams looking for a "DURATION" metadata (this works unless the option "-map_metadata -1" has been specified) and determines the maximum value.
The precendence is as follows: 1. Use duration of AVFormatContext - 2. Use explicitly specified metadata duration value - 3. Use maximum (mapped) metadata duration over all streams.

To test this:

1. With explicit recording time:
ffmpeg -i file:"src.mkv" -loglevel debug -t 01:38:36.000 -y "dest.mkv"

2. Take duration from metadata specified via command line parameters:
ffmpeg -i file:"src.mkv" -loglevel debug -map_metadata -1 -metadata Duration="01:14:33.00" -y "dest.mkv"

3. Take duration from mapped input metadata:
ffmpeg -i file:"src.mkv" -loglevel debug -y "dest.mkv"

Regression risk:

Very low IMO because it only affects the header while ffmpeg is still running. When ffmpeg completes the process, the duration is rewritten to the header with the usual value (same like without this commit).

Signed-off-by: SoftWorkz <softworkz@hotmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-28 02:06:55 +02:00
..
tests Merge commit 'a79aafd0b4d37eda6f15dc68e6509d4e815290c9' 2016-06-23 22:20:10 +02:00
.gitignore
3dostr.c
4xm.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
a64.c
aacdec.c
aadec.c
ac3dec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aea.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
afc.c
aiff.h lavf/aiffdec: Support QDMC demuxing. 2016-07-03 04:37:48 +02:00
aiffdec.c lavf/aiffdec: Support QDMC demuxing. 2016-07-03 04:37:48 +02:00
aiffenc.c
aixdec.c
allformats.c avformat: add an Ogg Video muxer 2016-07-20 22:32:43 -03:00
amr.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
anm.c
apc.c
ape.c
apetag.c
apetag.h
apngdec.c
apngenc.c
aqtitledec.c
asf.c
asf.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
asfcrypt.c
asfcrypt.h
asfdec_f.c avformat/avlanguage: make av_convert_lang_to() internal 2016-07-19 21:43:14 -03:00
asfdec_o.c avformat/avlanguage: make av_convert_lang_to() internal 2016-07-19 21:43:14 -03:00
asfenc.c avformat/avlanguage: make av_convert_lang_to() internal 2016-07-19 21:43:14 -03:00
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
audiointerleave.c
audiointerleave.h
avc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
avc.h
avformat.h avformat/avformat: Move new field to the end of AVStream 2016-06-30 17:43:01 +02:00
avformatres.rc
avi.h
avidec.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
avienc.c avformat/avlanguage: make av_convert_lang_to() internal 2016-07-19 21:43:14 -03:00
avio_internal.h
avio.c
avio.h Merge commit 'db7968bff4851c2be79b15b2cb2ae747424d2fca' 2016-06-23 15:59:44 +02:00
aviobuf.c cosmetics: fix some misspelled words 2016-07-17 13:10:27 -03:00
avisynth.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
avlanguage.c avformat/avlanguage: make av_convert_lang_to() internal 2016-07-19 21:43:14 -03:00
avlanguage.h avformat/avlanguage: make av_convert_lang_to() internal 2016-07-19 21:43:14 -03:00
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
bintext.c
bit.c
bluray.c
bmv.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
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 cosmetics: fix some misspelled words 2016-07-17 13:10:27 -03:00
concat.c
concatdec.c
crcenc.c
crypto.c
cutils.c
dashenc.c
data_uri.c
dauddec.c
daudenc.c
dcstr.c
dfa.c
diracdec.c
dnxhddec.c avcodec/dnxhddata: move avpriv_dnxhd_parse_header_prefix to a header 2016-07-25 12:19:39 -03:00
dsfdec.c
dsicin.c
dss.c
dtsdec.c
dtshddec.c
dump.c Merge commit 'e45a638f50cc1dbeb87b9792e68f57e77fc0c3b5' 2016-06-26 14:13:36 +02:00
dv.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
dv.h
dvbsub.c
dvbtxt.c
dvenc.c Merge commit 'b7f98659f21dce438c33b512e25fd64b8d07c347' 2016-06-29 11:16:01 +02:00
dxa.c
eacdata.c
electronicarts.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
epafdec.c
ffm.h
ffmdec.c
ffmenc.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
file_open.c
file.c
filmstripdec.c
filmstripenc.c
flac_picture.c
flac_picture.h
flacdec.c avformat/flacdec: Fix seeking close to EOF 2016-06-22 21:10:37 +02:00
flacenc_header.c
flacenc.c
flacenc.h
flic.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
flv.h
flvdec.c avformat/flvdec: parse keyframe before a\v stream was created add_keyframes_index() when stream created or keyframe parsed 2016-07-27 19:29:55 +02:00
flvenc.c Merge commit '371df9ba71393a1c5429d5f40c76348b30e556c7' 2016-06-23 17:43:19 +02:00
format.c avformat/format: Fix registering a format more than once and related races 2016-06-25 20:09:10 +02:00
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c
g722.c
g723_1.c
g729dec.c avformat/g729dec: Fix av_log() formating string 2016-06-23 21:37:05 +02:00
genh.c
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hdsenc.c
hevc.c
hevc.h
hevcdec.c
hls.c avformat/hls: Fix missing streams in some cases with MPEG TS 2016-07-28 01:24:57 +03:00
hlsenc.c add split_by_time flag for support splite mpegts segment at non-keyframe 2016-07-11 12:20:40 +02:00
hlsproto.c
hnm.c
http.c
http.h
httpauth.c
httpauth.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
icecast.c
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
idcin.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
idroqdec.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
idroqenc.c
iff.c
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c lavf/img2: Remove ffv1-img. 2016-07-15 10:25:02 +02:00
img2.h
img2dec.c lavf/img2dec: Also auto-detect (unusual) uncompressed pcx. 2016-07-15 10:26:27 +02:00
img2enc.c
ingenientdec.c
internal.h avformat/utils: Add ff_format_output_open() function 2016-07-16 01:29:44 +02:00
ipmovie.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
isom.h Merge commit '76729970049fe95659346503f7401a5d869f9959' 2016-07-13 16:34:54 +02:00
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c
jacosubenc.c
jvdec.c
latmenc.c
libavformat.v Merge commit '535a742c2695a9e0c586b50d7fa76e318232ff24' 2016-06-27 17:56:47 +02:00
libgme.c
libmodplug.c
libnut.c
libopenmpt.c libopenmpt: Add "date" to metadata. 2016-07-21 02:47:35 +01:00
librtmp.c librtmp: Avoid an infiniloop setting connection arguments 2016-07-26 12:05:29 -07:00
libsmbclient.c
libssh.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile avformat: add an Ogg Video muxer 2016-07-20 22:32:43 -03:00
matroska.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
matroska.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
matroskadec.c libavformat/matroskadec: fix unsigned overflow to improve seeking 2016-07-23 10:32:28 +02:00
matroskaenc.c avformat/matroskaenc: Write duration early during mkv_write_header (Rev #3) 2016-07-28 02:06:55 +02:00
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c
mm.c
mmf.c
mms.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mms.h
mmsh.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mmst.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mov_chan.c
mov_chan.h
mov.c avformat/mov: Do not allocate empty extradata 2016-07-21 21:55:18 +02:00
movenc.c avcodec/dnxhddata: move avpriv_dnxhd_parse_header_prefix to a header 2016-07-25 12:19:39 -03:00
movenc.h avformat/movenc: add option to use keys/mdta atoms for metadata 2016-06-25 14:38:14 +02:00
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c
mp3enc.c
mpc8.c
mpc.c Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a' 2016-06-21 15:42:49 +02:00
mpeg.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mpeg.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mpegenc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mpegts.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mpegts.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mpegtsenc.c Merge commit '393596f9d51134d6e45d81ae129223f4faea1232' 2016-06-23 08:17:31 +02:00
mpegvideodec.c
mpjpeg.c
mpjpegdec.c
mpl2dec.c
mpsubdec.c
msf.c
msnwc_tcp.c
mtaf.c
mtv.c
musx.c
mux.c avformat/mux: Fix some codecpar non uses 2016-07-21 03:02:24 +02:00
mvdec.c
mvi.c
mxf.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mxf.h
mxfdec.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
mxfenc.c cosmetics: fix some misspelled words 2016-07-17 13:10:27 -03:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
nsvdec.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
nullenc.c
nut.c
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c
oggdec.h
oggenc.c avformat/oggenc: add vp8 muxing support 2016-07-20 22:32:48 -03:00
oggparsecelt.c
oggparsedaala.c
oggparsedirac.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
oggparseflac.c
oggparseogm.c Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a' 2016-06-21 15:42:49 +02:00
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a' 2016-06-21 15:42:49 +02:00
oggparsetheora.c
oggparsevorbis.c Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a' 2016-06-21 15:42:49 +02:00
oggparsevp8.c avformat/oggparsevp8: fix pts calculation on pages ending with an invisible frame 2016-07-19 21:12:10 -03:00
oma.c
oma.h
omadec.c
omaenc.c
options_table.h
options.c
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
protocols.c avformat: Add tee protocol 2016-07-19 18:41:19 +02:00
psxstr.c cosmetics: fix some misspelled words 2016-07-17 13:10:27 -03:00
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c libavformat/rawenc: add dnxhr raw format extension 2016-07-21 04:15:15 +02:00
rawenc.h
rawutils.c
rawvideodec.c
rdt.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c Added Quadrox format 2016-07-05 02:31:35 +02:00
riff.h
riffdec.c
riffenc.c
rl2.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rm.c
rm.h
rmdec.c
rmenc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
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
rtmphttp.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtmppkt.c
rtmppkt.h
rtmpproto.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtp.c
rtp.h
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c libavformat/rtpdec_asf: zero initialize the AVIOContext struct 2016-07-25 19:39:13 +02:00
rtpdec_dv.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h261.c
rtpdec_h263_rfc2190.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpdec_h263.c
rtpdec_h264.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpdec_hevc.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpa_robust.c
rtpdec_mpeg4.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpdec_svq3.c
rtpdec_vc2hq.c
rtpdec_vp8.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpdec_vp9.c
rtpdec_xiph.c
rtpdec.c Merge commit 'b7f98659f21dce438c33b512e25fd64b8d07c347' 2016-06-29 11:16:01 +02:00
rtpdec.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h261.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpenc_h263_rfc2190.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpenc_h263.c
rtpenc_h264_hevc.c
rtpenc_jpeg.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpenc_latm.c
rtpenc_mpegts.c
rtpenc_mpv.c
rtpenc_vc2hq.c Merge commit '4024b566d664a4b161d677554be52f32e7ad4236' 2016-06-26 15:12:48 +02:00
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpenc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpenc.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
rtpproto.c
rtpproto.h
rtsp.c Merge commit '3fdffc032e8ea5676bc0c2551b900c0dc887835b' 2016-06-26 14:51:33 +02:00
rtsp.h Merge commit 'bc2a32969eb4db17677971def5ad5b936d9d1648' 2016-06-21 22:26:44 +02:00
rtspcodes.h
rtspdec.c
rtspenc.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbgdec.c
sctp.c
sdp.c cosmetics: fix some misspelled words 2016-07-17 13:10:27 -03:00
sdr2.c
segafilm.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
segment.c avformat/segment: remove the check_bitstream from segment 2016-07-14 21:33:19 +02:00
shortendec.c
sierravmd.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
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 Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
spdifdec.c
spdifenc.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
srtdec.c lavf/srtdec: fix indent 2016-06-25 15:53:11 -05:00
srtenc.c
srtp.c
srtp.h
srtpproto.c
stldec.c
subfile.c
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
svag.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c Merge commit 'b668662939de3a02454cfc9ba3e6d10b87527a40' 2016-06-29 11:35:10 +02:00
tcp.c
tedcaptionsdec.c
tee.c avformat/tee: Rescale ts using av_packet_rescale_ts 2016-07-23 20:02:05 +02:00
teeproto.c avformat/teeproto: Fix memset sizeof 2016-07-22 10:47:34 +02:00
thp.c
tiertexseq.c
tls_gnutls.c
tls_openssl.c
tls_schannel.c
tls_securetransport.c
tls.c
tls.h
tmv.c
tta.c Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a' 2016-06-21 15:42:49 +02:00
tty.c
txd.c
udp.c
uncodedframecrcenc.c
unix.c
url.c
url.h Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
urldecode.c
urldecode.h
utils.c avformat/utils: Fix find_stream_info not considering the extradata it found 2016-07-28 01:24:57 +03:00
v210.c
vag.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat: add an Ogg Video muxer 2016-07-20 22:32:43 -03: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 lavf/vplayerdec: Improve auto-detection. 2016-07-15 10:36:05 +02:00
vqf.c
w64.c
w64.h
wavdec.c
wavenc.c
wc3movie.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
webm_chunk.c
webmdashenc.c
webpenc.c
webvttdec.c
webvttenc.c
westwood_aud.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
westwood_vqa.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
wsddec.c
wtv_common.c
wtv.h
wtvdec.c Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
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