FFmpeg/libavformat
Clément Bœsch ab77b878f1 avformat/mov: fix seeking with HEVC open GOP files
This was tested with medias recorded from an iPhone XR and an iPhone 13.

Here is how a typical stream looks like in coding order:

    ┌────────┬─────┬─────┬──────────┐
    │ sample | PTS | DTS | keyframe |
    ├────────┼─────┼─────┼──────────┤
    ┊        ┊     ┊     ┊          ┊
    │   53   │ 560 │ 510 │    No    │
    │   54   │ 540 │ 520 │    No    │
    │   55   │ 530 │ 530 │    No    │
    │   56   │ 550 │ 540 │    No    │
    │   57   │ 600 │ 550 │    Yes   │
    │ * 58   │ 580 │ 560 │    No    │
    │ * 59   │ 570 │ 570 │    No    │
    │ * 60   │ 590 │ 580 │    No    │
    │   61   │ 640 │ 590 │    No    │
    │   62   │ 620 │ 600 │    No    │
    ┊        ┊     ┊     ┊          ┊

In composition/display order:

    ┌────────┬─────┬─────┬──────────┐
    │ sample | PTS | DTS | keyframe |
    ├────────┼─────┼─────┼──────────┤
    ┊        ┊     ┊     ┊          ┊
    │   55   │ 530 │ 530 │    No    │
    │   54   │ 540 │ 520 │    No    │
    │   56   │ 550 │ 540 │    No    │
    │   53   │ 560 │ 510 │    No    │
    │ * 59   │ 570 │ 570 │    No    │
    │ * 58   │ 580 │ 560 │    No    │
    │ * 60   │ 590 │ 580 │    No    │
    │   57   │ 600 │ 550 │    Yes   │
    │   63   │ 610 │ 610 │    No    │
    │   62   │ 620 │ 600 │    No    │
    ┊        ┊     ┊     ┊          ┊

Sample/frame 58, 59 and 60 are B-frames which actually depends on the
key frame (57). Here the key frame is not an IDR but a "CRA" (Clean
Random Access).

Initially, I thought I could rely on the sdtp box (independent and
disposable samples), but unfortunately:

    sdtp[54] is_leading:0 sample_depends_on:1 sample_is_depended_on:0 sample_has_redundancy:0
    sdtp[55] is_leading:0 sample_depends_on:1 sample_is_depended_on:2 sample_has_redundancy:0
    sdtp[56] is_leading:0 sample_depends_on:1 sample_is_depended_on:2 sample_has_redundancy:0
    sdtp[57] is_leading:0 sample_depends_on:2 sample_is_depended_on:0 sample_has_redundancy:0
    sdtp[58] is_leading:0 sample_depends_on:1 sample_is_depended_on:0 sample_has_redundancy:0
    sdtp[59] is_leading:0 sample_depends_on:1 sample_is_depended_on:2 sample_has_redundancy:0
    sdtp[60] is_leading:0 sample_depends_on:1 sample_is_depended_on:2 sample_has_redundancy:0
    sdtp[61] is_leading:0 sample_depends_on:1 sample_is_depended_on:0 sample_has_redundancy:0
    sdtp[62] is_leading:0 sample_depends_on:1 sample_is_depended_on:0 sample_has_redundancy:0

The information that might have been useful here would have been
is_leading, but all the samples are set to 0 so this was unusable.

Instead, we need to rely on sgpd/sbgp tables. In my case the video track
contained 3 sgpd tables with the following grouping types: tscl, sync
and tsas. In the sync table we have the following 2 entries (only):

    sgpd.sync[1]: sync nal_unit_type:0x14
    sgpd.sync[2]: sync nal_unit_type:0x15

(The count starts at 1 because 0 carries the undefined semantic, we'll
see that later in the reference table).

The NAL unit types presented here correspond to:

    libavcodec/hevc.h:    HEVC_NAL_IDR_N_LP       = 20,
    libavcodec/hevc.h:    HEVC_NAL_CRA_NUT        = 21,

In parallel, the sbgp sync table contains the following:

    ┌────┬───────┬─────┐
    │ id │ count │ gdi │
    ├────┼───────┼─────┤
    │  0 │   1   │  1  │
    │  1 │   56  │  0  │
    │  2 │   1   │  2  │
    │  3 │   59  │  0  │
    │  4 │   1   │  2  │
    │  5 │   59  │  0  │
    │  6 │   1   │  2  │
    │  7 │   59  │  0  │
    │  8 │   1   │  2  │
    │  9 │   59  │  0  │
    │ 10 │   1   │  2  │
    │ 11 │   11  │  0  │
    └────┴───────┴─────┘

The gdi column (group description index) directly refers to the index in
the sgpd.sync table. This means the first frame is an IDR, then we have
batches of undefined frames interlaced with CRA frames. No IDR ever
appears again (tried on a 30+ seconds sample).

With that information, we can build an heuristic using the presentation
order.

A few things needed to be introduced in this commit:

1. min_sample_duration is extracted from the stts: we need the minimal
   step between sample in order to PTS-step backward to a valid point
2. In order to avoid a loop over the ctts table systematically during a
   seek, we build an expanded list of sample offsets which will be used
   to translate from DTS to PTS
3. An open_key_samples index to keep track of all the non-IDR key
   frames; for now it only supports HEVC CRA frames. We should probably
   add BLA frames as well, but I don't have any sample so I prefered to
   leave that for later

It is entirely possible I missed something obvious in my approach, but I
couldn't come up with a better solution. Also, as mentioned in the diff,
we could optimize is_open_key_sample(), but the linear scaling overhead
should be fine for now since it only happens in seek events.

Fixing this issue prevents sending broken packets to the decoder. With
FFmpeg hevc decoder the frames are skipped, with VideoToolbox the frames
are glitching.
2022-03-04 15:50:51 +01:00
..
tests avformat/tests: add /imf to .gitignore 2022-02-05 22:52:39 +10:00
.gitignore lavf: add new API for iterating muxers and demuxers 2018-02-06 18:57:42 +00:00
3dostr.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
4xm.c avformat/4xm: Check for duplicate track ids 2021-12-16 22:31:13 +01:00
a64.c lavf/a64: avoid avcodec.h dependency 2021-06-10 16:51:44 +02:00
aacdec.c avformat/aacdec: enable probesize-sized resyncs mid-stream 2021-09-28 23:02:20 +03:00
aadec.c avformat/aadec: Use smaller scope for variables 2021-12-08 14:12:42 +01:00
aaxdec.c avformat: Use ffio_read_size where appropriate 2021-08-06 22:47:22 +02:00
ac3_channel_layout_tab.c avcodec/ac3tab: Unavpriv ac3_channel_layout_tab 2022-01-04 13:16:49 +01:00
ac3dec.c avformat/rawdec: Deduplicate AVClasses based upon ff_raw_options 2021-07-08 16:03:18 +02:00
acedec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
acm.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
act.c avformat: Use ffio_read_size where appropriate 2021-08-06 22:47:22 +02:00
adp.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ads.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
adtsenc.c avformat/adtsenc: return value check for init_get_bits in adts_decode_extradata 2021-08-06 21:04:43 +02:00
adxdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
aea.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
afc.c Avoid calling functions repeatedly via FFMIN 2021-07-18 22:06:20 +02:00
aiff.c avformat/aiff: Deduplicate codec tags and codec tags list 2021-02-23 11:30:57 +01:00
aiff.h avformat/aiff: Deduplicate codec tags and codec tags list 2021-02-23 11:30:57 +01:00
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 avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
allformats.c avformat/imf: Demuxer 2021-12-31 17:26:01 +10:00
alp.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
amr.c avformat/amr: Return error upon error 2022-01-09 21:25:03 +01:00
amvenc.c avformat/amvenc: Avoid allocating packet 2021-10-03 20:56:12 +02:00
anm.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
apc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ape.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
apetag.c avformat: Add and use helper function to add attachment streams 2021-04-01 18:23:13 +02:00
apetag.h
apm.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
apngdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
apngenc.c avformat/apngenc: Use UINT16_MAX instead of USHRT_MAX 2021-11-09 15:40:36 +01:00
aptxdec.c avformat/aptxdec: Deduplicate AVClasses 2021-07-08 16:03:17 +02:00
aqtitledec.c avformat/aqtitledec: Simplify cleanup after read_header failure 2021-07-07 21:32:24 +02:00
argo_asf.c avformat/argo_asf: Fix order of operations in error check in argo_asf_write_trailer() 2022-02-25 22:23:03 +01:00
argo_asf.h Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
argo_brp.c avformat/argo_brp: use bits_per_coded_sample instead of bits_per_raw_sample 2021-07-19 14:14:39 +10:00
argo_cvg.c avformat/argo_cvg:: Fix order of operations in error check in argo_cvg_write_trailer() 2022-02-25 22:23:03 +01:00
asf.c avformat/id3v2: Don't reverse the order of id3v2 APICs 2021-04-18 02:24:44 +02:00
asf.h avformat/asf: Factor common code out 2021-03-31 22:01:36 +02:00
asfcrypt.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
asfcrypt.h
asfdec_f.c libavformat/asfdec: Add braces to define 2021-09-30 14:02:27 +02:00
asfdec_o.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
asfenc.c avformat/asfenc: Return proper error codes 2021-10-03 20:50:50 +02:00
assdec.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
assenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ast.c avformat/ast: Deduplicate codec tags lists 2021-02-23 11:30:57 +01:00
ast.h avformat/ast: Deduplicate codec tags lists 2021-02-23 11:30:57 +01:00
astdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
astenc.c avformat/astenc: Simplify writing padding 2021-09-23 17:37:22 +02:00
async.c lavf/async: switch to new FIFO API 2022-02-07 00:31:23 +01:00
au.c avformat/internal: Move ff_read_line_to_bprint_overwrite to avio_internal.h 2021-07-29 22:02:05 +02:00
av1.c avformat/av1: reduce the scope of some variables 2022-02-28 09:12:51 -03:00
av1.h avformat/av1: Document actual behaviour of ff_av1_filter_obus() 2022-01-19 11:57:58 +01:00
av1dec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
avc.c avformat/avc: Add functions to split access unit into list of NALUs 2022-01-19 12:02:36 +01:00
avc.h avutil/log: Don't include avutil.h 2022-02-24 12:56:49 +01:00
avformat.h avformat/mux: Peek into the muxing queue for avoid_negative_ts 2022-01-21 16:47:38 +01:00
avformatres.rc
avi.h
avidec.c avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +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 avformat/avio: Check av_opt_copy() for failure 2021-05-27 17:41:36 +02:00
avio.h avformat/avio: Don't include common.h 2022-02-24 12:56:49 +01:00
aviobuf.c avformat/aviobuf: ffio_copy_url_options 2021-12-19 00:35:24 +10:00
avisynth.c avformat/avisynth: fix fallbacks for four frameprops 2022-03-02 17:45:40 -05:00
avlanguage.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
avlanguage.h avformat/avlanguage: Remove long disabled av_convert_lang_to 2021-02-25 22:05:09 +01:00
avr.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
avs2dec.c avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
avs3dec.c avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
avs.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
bethsoftvid.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
bfi.c avformat/bfi: check nframes 2021-07-31 22:08:19 +02:00
bink.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
binka.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
bintext.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
bit.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
bluray.c lavf/bluray: translate a read of 0 to EOF 2018-05-06 18:51:33 +03:00
bmv.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
boadec.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
brstm.c avformat/brstm: Simplify cleanup after read_header failure 2021-07-07 21:43:15 +02:00
c93.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
cache.c avformat: Replace ffurl_close() by ffurl_closep() where appropriate 2020-05-25 13:11:36 +02:00
caf.c avformat/caf: Deduplicate codec tags list 2021-02-23 10:14:26 +01:00
caf.h avformat/caf: Deduplicate codec tags list 2021-02-23 10:14:26 +01:00
cafdec.c avformat/cafdec: Avoid unnecessary avio_tell() calls 2021-11-26 18:55:58 +01:00
cafenc.c avformat/cafenc: Fix memleak when trailer is never written 2021-09-27 07:08:58 +02:00
cavsvideodec.c avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
cdg.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
cdxl.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
chromaprint.c avformat/chromaprint: Improve returned error codes 2021-09-27 06:05:46 +02:00
cinedec.c avformat/cinedec: Avoid repeatedly allocating packets beyond the input 2021-12-16 22:31:13 +01:00
codec2.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
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 avformat/crypto.c: remove unnecessary code 2020-07-20 10:14:53 +08:00
dash.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
dash.h
dashdec.c avformat/dashdec: avoid calling strlen multiple times 2022-01-30 13:26:35 +08:00
dashenc.c avformat: introduce AVFormatContext io_close2 which returns an int 2021-12-12 00:32:20 +01:00
data_uri.c avutil/log: Don't include avutil.h 2022-02-24 12:56:49 +01:00
dauddec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
daudenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
dca_sample_rate_tab.c avcodec/dca: Unavpriv dca_sample_rates 2022-01-04 13:16:49 +01:00
dcstr.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
demux.c avformat/demux: don't truncate the return value of ts_to_samples() 2022-02-05 09:44:59 -03:00
derf.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
dfa.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
dhav.c avformat/dhav: Limit get_duration() iterations 2021-11-14 17:51:35 +01:00
diracdec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
dnxhddec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
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 avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
dsicin.c avformat/dsicin: Check packet size for overflow 2021-07-31 22:08:20 +02:00
dss.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
dtsdec.c avformat/rawdec: Deduplicate AVClasses based upon ff_raw_options 2021-07-08 16:03:18 +02:00
dtshddec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
dump.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
dv.c avformat/dv: Set AVFMTCTX_NOHEADER flag 2021-09-26 08:51:58 +02:00
dv.h
dvbsub.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
dvbtxt.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
dvenc.c lavf/dvenc: switch to new FIFO API 2022-02-07 00:31:23 +01:00
dxa.c avformat/dxa: Check fps to be within the supported range more precissely 2021-06-18 18:58:25 +02:00
eacdata.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
electronicarts.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
epafdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ffmeta.h
ffmetadec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ffmetaenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
fifo_test.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
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 avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
filmstripenc.c avformat/filmstripenc: Simplify writing reserved elements 2021-09-27 06:06:08 +02:00
fitsdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
fitsenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
flac_picture.c avformat/flac_picture: Reindentation 2021-08-28 15:25:18 +02:00
flac_picture.h avformat/flac_picture: Try to reuse buffer for attached picture 2021-08-28 15:25:18 +02:00
flacdec.c avformat/flacdec: Also set channels when setting channel_layout 2021-10-07 22:06:27 +02:00
flacenc_header.c avformat/flacenc: Add const to ff_flac_write_header() parameter 2019-11-28 18:44:01 +01:00
flacenc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
flacenc.h avformat/flacenc: Add const to ff_flac_write_header() parameter 2019-11-28 18:44:01 +01:00
flic.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
flv.h flvdec: Export unknown metadata packets as opaque data 2018-11-05 16:02:51 +02:00
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 avformat/internal: Move ff_read_line_to_bprint_overwrite to avio_internal.h 2021-07-29 22:02:05 +02:00
framehash.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
frmdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
fsb.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
ftp.c lavf/ftp: check for truncation in snprintf 2021-12-07 11:16:14 +01:00
fwse.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
g722.c avformat/rawdec: Deduplicate AVClasses based upon ff_raw_options 2021-07-08 16:03:18 +02:00
g723_1.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
g726.c avformat/g726: Deduplicate AVClasses 2021-07-08 16:03:17 +02:00
g729dec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
gdv.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
genh.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
gif.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
gifdec.c avformat/gifdec: log loop count 2021-07-20 11:20:04 +05:30
golomb_tab.c
gopher.c avformat/gopher: Add support for Gopher over TLS 2021-03-11 23:47:19 +01:00
gsmdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
gxf.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
gxf.h
gxfenc.c avformat/mux: Don't use stack packet when writing interleaved packets 2021-10-03 20:50:50 +02:00
h261dec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
h263dec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
h264dec.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
hashenc.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
hca.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
hcom.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
hdsenc.c avformat: do not use AVIO_FLAG_* with avio_alloc_context 2021-12-04 14:06:30 +01:00
hevc.c lavf/hevc: drop unnecessary avcodec.h include 2021-06-10 16:51:44 +02:00
hevc.h avformat/av1, avc, hevc: Remove av_freep() 2020-01-26 12:41:32 -03:00
hevcdec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
hls_sample_encryption.c avcodec/ac3tab: Unavpriv ac3_channel_layout_tab 2022-01-04 13:16:49 +01:00
hls_sample_encryption.h libavformat/hls: add support for decryption of HLS media segments encrypted using SAMPLE-AES encryption method 2021-10-13 11:23:53 +08:00
hls.c avformat/hls: Use unsigned for iv computation 2022-02-09 10:50:35 +01:00
hlsenc.c avformat/hlsenc: convey stream id to segment streams 2022-01-09 10:37:00 +05:30
hlsplaylist.c avformat/hlsenc, hlsplaylist: Cosmetics 2020-05-28 11:18:53 +02:00
hlsplaylist.h Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
hlsproto.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hnm.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
http.c http: Send a Range header even when the offset is 0 2022-02-11 11:31:38 +01:00
http.h avformat/http: add ff_http_do_new_request2 for options 2019-10-08 14:57:44 +08:00
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 avformat/icecast: Add option to use TLS connection 2020-07-02 17:14:31 +02:00
icodec.c avformat/icodec: Simplify cleanup after read_header failure 2021-07-07 22:13:06 +02:00
icoenc.c avformat/icoenc: Use avcodec_get_name() instead of codec descriptor 2021-09-27 07:08:59 +02:00
id3v1.c lavf/id3v1: drop unnecessary avcodec.h include 2021-06-10 16:51:44 +02:00
id3v1.h libavformat: fix spelling in ID3v1 genres and extend the list of Winamp extensions. 2020-01-05 20:31:42 +01:00
id3v2.c avformat/id3v2: Add Grouping frame to id3v2.4 metadata table 2022-02-15 10:15:25 +01:00
id3v2.h avformat/id3v2: Don't reverse the order of id3v2 APICs 2021-04-18 02:24:44 +02:00
id3v2enc.c avformat/id3v2enc: fix bad ID3v2 tag length 2020-01-10 12:02:13 +01:00
idcin.c avformat/utils: make ff_update_cur_dts() shared 2021-06-09 13:55:25 -03:00
idroqdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
idroqenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
iff.c avformat/iff: Use 64bit in duration computation 2021-06-18 18:58:25 +02:00
ifv.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
ilbc.c avformat/ilbc: Use av_get_packet 2021-08-06 22:49:26 +02:00
imf_cpl.c avformat/imf_cpl: do not use filesize when reading XML file 2022-02-05 10:40:31 +01:00
imf.h avformat/imf: Demuxer 2021-12-31 17:26:01 +10:00
imfdec.c avformat/imf: document IMFVirtualTrackResourcePlaybackCtx 2022-02-20 18:32:09 +10:00
img2_alias_pix.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
img2_brender_pix.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
img2.c avformat/img2dec: add GEM Raster image demuxer 2021-10-08 20:37:36 +11:00
img2.h avformat/img2dec: add option to provide metadata fields related to input path 2020-01-10 23:08:18 +01:00
img2dec.c avformat/img2dec: increase probe score for GEM image fourcc variants 2022-02-04 11:52:26 +11:00
img2enc.c avformat/img2enc: do not ignore IO errors 2021-12-12 00:32:20 +01:00
imx.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
ingenientdec.c avformat/rawdec: Deduplicate AVClasses based upon ff_rawvideo_options 2021-07-08 16:03:18 +02:00
internal.h avformat/mux: Preserve sync even if later packet has negative ts 2022-01-21 16:47:38 +01:00
ip.c avutil/log: Don't include avutil.h 2022-02-24 12:56:49 +01:00
ip.h avformat/ip: factorize some IP filtering and resolving functions to a new file 2018-10-03 22:03:29 +02:00
ipmovie.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
ipudec.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
ircam.c
ircam.h
ircamdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ircamenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
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: fix seeking with HEVC open GOP files 2022-03-04 15:50:51 +01:00
iss.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
iv8.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
ivfdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
ivfenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
jacosubdec.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
jacosubenc.c avformat/jacosubenc: Fix writing extradata 2021-09-25 23:11:56 +02:00
jpegtables.c avcodec/jpegtables: Unavpriv MJPEG-tables 2022-01-04 13:16:50 +01:00
jvdec.c avformat/jvdec: Make sizeof(JVFrame) smaller to save memory 2021-09-26 01:43:18 +02:00
kvag.c avformat: Use ffio_read_size where appropriate 2021-08-06 22:47:22 +02:00
latmenc.c avformat/avformat: Add AVStream parameter to check_bitstream() sig 2021-11-27 12:55:41 +01:00
libamqp.c avformat/libamqp: parse vhost in uri 2020-12-21 01:27:33 -05:00
libavformat.v libavformat: unexpose private ff_ functions needed by ffserver 2018-01-06 18:37:06 +00:00
libgme.c avformat/libgme: Simplify cleanup after read_header failure 2021-07-07 22:26:44 +02:00
libmodplug.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
libopenmpt.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
librist.c avformat/librist: correctly initialize logging_settings 2021-11-18 20:40:24 +01:00
librtmp.c avformat/librtmp: fix returning EOF from Read/Write 2018-07-28 01:04:38 +02:00
libsmbclient.c lavf/libsmbclient: return AVERROR_EOF for EOF. 2018-09-02 18:37:09 +02:00
libsrt.c avformat/libsrt: add missing version check for snddropdelay 2021-11-25 19:11:24 +01:00
libssh.c lavf/libssh: translate a read of 0 to EOF 2018-05-28 20:33:50 +03:00
libzmq.c avformat/libzmq: Make default pkt_size value consistent with amqp 2020-03-09 22:07:18 +01:00
lmlm4.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
loasdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
log2_tab.c
lrc.c
lrc.h
lrcdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
lrcenc.c avformat/lrcenc: Unify writing timestamps 2021-10-07 11:55:55 +02:00
luodatdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
lvfdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
lxfdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
m4vdec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
Makefile avformat: always compile isom_tags 2022-02-28 09:08:19 -03:00
matroska.c Add MKV tags for AVS2 and AVS3 codecs. 2022-02-03 05:07:44 +01:00
matroska.h Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
matroskadec.c configure: stop allowing disabling lzo 2022-02-26 14:22:07 -03:00
matroskaenc.c avformat/matroskaenc: Fix writing AV_SPHERICAL_EQUIRECTANGULAR 2022-01-20 18:31:59 +01:00
mca.c avformat/utils: make ff_update_cur_dts() shared 2021-06-09 13:55:25 -03:00
mccdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
md5proto.c avformat/md5proto: Simplify data->hex conversion 2021-12-08 14:15:53 +01:00
metadata.c
metadata.h
mgsts.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
microdvddec.c avformat/microdvddec: Simplify cleanup after read_header failure 2021-07-07 23:42:13 +02:00
microdvdenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mj2kdec.c lavf: Constify the probe function argument. 2019-03-21 11:42:17 +01:00
mkvtimestamp_v2.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mlpdec.c avformat/mlpdec: fix time_base for packet timestamps 2021-09-07 18:16:13 +02:00
mlvdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
mm.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mmf.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mms.c avformat/mms: add logging context to log 2019-10-08 13:47:16 +08:00
mms.h
mmsh.c avformat: Replace ffurl_close() by ffurl_closep() where appropriate 2020-05-25 13:11:36 +02:00
mmst.c avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
mods.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
moflex.c avformat/moflex: Don't use uninitialized timebase for data stream 2021-12-16 03:08:10 +01:00
mov_chan.c avformat/mov_chan: Make ff_mov_get_channel_layout() static 2021-09-08 22:59:14 +02:00
mov_chan.h avformat/mov_chan: Make ff_mov_get_channel_layout() static 2021-09-08 22:59:14 +02:00
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/mov: fix seeking with HEVC open GOP files 2022-03-04 15:50:51 +01:00
movenc_ttml.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
movenc_ttml.h avformat/movenc: add support for TTML muxing 2021-08-25 09:26:46 +03:00
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 avformat/movenccenc: Fix memory leak for muxing CENC-encrypted files 2021-02-27 22:09:51 +01:00
movenccenc.h
movenchint.c avformat/movenchint: Simplify writing padding 2021-09-24 00:13:49 +02:00
mp3dec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
mp3enc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
mpc8.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
mpc.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
mpeg4audio_sample_rates.c avcodec/mpeg4audio: Unavpriv and deduplicate mpeg4audio_sample_rates 2022-01-04 13:16:50 +01:00
mpeg.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
mpeg.h lavf/mpeg: Support demuxing HEVC in mpeg-ps. 2018-09-27 23:53:21 +02:00
mpegaudiotabs.c avcodec/mpegaudiodata: Unavpriv mpa_bitrate and mpa_frequency tabs 2022-01-04 13:16:50 +01:00
mpegenc.c lavf/mpegenc: switch to new FIFO API 2022-02-07 00:31:23 +01:00
mpegts.c avformat/mpegts: initialize max_packet_size when sub-demuxer 2022-02-10 16:57:59 +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 avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
mpegvideodec.c avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
mpjpeg.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mpjpegdec.c avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
mpl2dec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
mpsubdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
msf.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
msnwc_tcp.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mspdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mtaf.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mtv.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
musx.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mux.c avformat/mux: Peek into the muxing queue for avoid_negative_ts 2022-01-21 16:47:38 +01:00
mvdec.c avformat/mvdec: re-indent after last commit 2022-01-08 09:21:21 +11:00
mvi.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
mxf.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
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/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
mxg.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ncdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
network.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
network.h lavf/network: log ff_listen() errors to proper contexts rather than NULL 2022-01-21 09:25:05 +01:00
nistspheredec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
nspdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
nsvdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
nullenc.c avformat/nullenc: Use ff_interleave_packet_passthrough() 2021-11-19 18:11:46 +01:00
nut.c libavformat/nut: Support SSA and ASS subtitles 2020-08-22 22:51:07 +02:00
nut.h
nutdec.c avformat/nutdec: Add check for avformat_new_stream 2022-02-23 14:13:16 +01:00
nutenc.c avcodec/mpegaudiodata: Unavpriv mpa_bitrate and mpa_frequency tabs 2022-01-04 13:16:50 +01:00
nuv.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
oggdec.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
oggdec.h avformat/oggparsevorbis: Avoid tmp bufs when parsing VorbisComment 2021-08-28 15:25:18 +02:00
oggenc.c avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
oggparsecelt.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
oggparsedirac.c
oggparseflac.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
oggparseogm.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
oggparseopus.c oggdec: add support for proper demuxing of chained Opus files and streams 2020-04-30 23:05:51 +01:00
oggparseskeleton.c
oggparsespeex.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
oggparsetheora.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
oggparsevorbis.c all: Use av_memdup() where appropriate 2021-12-03 16:07:02 +01:00
oggparsevp8.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
oma.c avformat/oma: Move stuff only used by demuxer to demuxer 2021-02-23 11:26:21 +01:00
oma.h avformat/oma: Move stuff only used by demuxer to demuxer 2021-02-23 11:26:21 +01:00
omadec.c avformat/utils: Make ff_data_to_hex() zero-terminate the string 2021-12-08 00:42:48 +01:00
omaenc.c avformat/omaenc: Simplify writing padding 2021-09-27 07:08:59 +02:00
options_table.h avformat/avformat: Add AVFMT_AVOID_NEG_TS_DISABLED 2022-01-21 16:47:38 +01:00
options.c avformat/mux: Preserve sync even if later packet has negative ts 2022-01-21 16:47:38 +01:00
os_support.c lavf/os_support: Only compile inet_aton() if getaddrinfo() is needed. 2018-04-23 13:39:29 +02:00
os_support.h os_support: define socket shutdown SHUT_xxx macros if they are not defined 2018-12-11 22:08:18 +11:00
paf.c avformat/paf: read frame rate from header @0x88 2021-08-10 01:14:04 +02:00
pcm.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
pcm.h
pcmdec.c avformat/pcmdec: Deduplicate AVClasses 2021-07-08 16:03:18 +02:00
pcmenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
pjsdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
pmpdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
pp_bnk.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
prompeg.c lavf/prompeg: prompeg_write() must report data all was written 2020-06-14 12:27:49 +08:00
protocols.c lavf/protocols: avoid discarding const in avio_enum_protocols() 2021-12-07 11:16:14 +01:00
psxstr.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
pva.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
pvfdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
qcp.c avformat/qcp: Avoid negative nb_rates 2021-06-18 18:58:25 +02:00
qtpalette.c avformat/qtpalette: Use better headers 2021-02-03 22:28:11 +01:00
qtpalette.h avformat/qtpalette: Use better headers 2021-02-03 22:28:11 +01:00
r3d.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
rawdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
rawdec.h avformat/rawdec: Make ff_raw_data_read_header() static 2021-09-08 22:59:14 +02:00
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 avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
rdt.h lavf/rtpdec: Constify several pointers. 2018-02-11 20:03:33 +01:00
realtextdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
redspark.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
replaygain.c Remove unnecessary mem.h inclusions 2021-07-22 14:47:57 +02:00
replaygain.h
riff.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
riff.h Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
riffdec.c avformat: Use ffio_read_size where appropriate 2021-08-06 22:47:22 +02:00
riffenc.c avformat/riffenc: Fix indentation 2021-09-24 00:14:01 +02:00
rl2.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
rm.c
rm.h avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
rmdec.c avformat/rmdec: Check for multiple audio_stream_info 2021-10-09 11:42:16 +02:00
rmenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
rmsipr.c
rmsipr.h
rpl.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
rsd.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
rso.c avformat/rso: Deduplicate codec tags list 2021-02-23 11:24:00 +01:00
rso.h avformat/rso: Deduplicate codec tags list 2021-02-23 11:24:00 +01:00
rsodec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
rsoenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
rtmp.h
rtmpcrypt.c avformat: Replace ffurl_close() by ffurl_closep() where appropriate 2020-05-25 13:11:36 +02:00
rtmpcrypt.h
rtmpdh.c libavformat: add mbedTLS based TLS 2018-05-21 19:43:04 -03:00
rtmpdh.h libavformat: add mbedTLS based TLS 2018-05-21 19:43:04 -03:00
rtmpdigest.c Merge commit 'b864230c49089b087eef56988a3d6a784f6f9827' 2017-10-21 13:32:13 -03:00
rtmphttp.c avformat: Replace ffurl_close() by ffurl_closep() where appropriate 2020-05-25 13:11:36 +02:00
rtmppkt.c lavf/rtmp: Add option to set TCP_NODELAY for rtmp 2021-06-20 22:45:35 +02:00
rtmppkt.h avformat/rtmppkt: Remove ff_amf_read_bool 2021-02-02 23:53:29 +01:00
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 avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
rtpdec_amr.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
rtpdec_asf.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
rtpdec_dv.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_formats.h lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_g726.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_h261.c avformat/rtpdec: return value check for init_get_bits() 2022-01-30 13:26:35 +08:00
rtpdec_h263_rfc2190.c avformat/rtpdec: return value check for init_get_bits() 2022-01-30 13:26:35 +08:00
rtpdec_h263.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
rtpdec_h264.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_hevc.c avformat/rtpdec_hevc: Don't reimplement ff_alloc_extradata 2019-12-12 19:25:33 +01:00
rtpdec_ilbc.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_jpeg.c avcodec/jpegtables: Unavpriv MJPEG-tables 2022-01-04 13:16:50 +01:00
rtpdec_latm.c avformat/rtpdec: return value check for init_get_bits() 2022-01-30 13:26:35 +08:00
rtpdec_mpa_robust.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
rtpdec_mpeg4.c avformat/rtpdec: return value check for init_get_bits() 2022-01-30 13:26:35 +08:00
rtpdec_mpeg12.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
rtpdec_mpegts.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_qcelp.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_qdm2.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
rtpdec_qt.c avformat/rtpdec: return value check for init_get_bits() 2022-01-30 13:26:35 +08:00
rtpdec_rfc4175.c avformat/rtpdec_rfc4175: fix interlace format 2022-02-05 11:40:40 +08:00
rtpdec_svq3.c avformat: Don't free old extradata before ff_alloc/get_extradata 2019-12-12 19:25:33 +01:00
rtpdec_vc2hq.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_vp8.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_vp9.c lavf/rtpdec*: Constify all RTPDynamicProtocolHandler. 2018-02-14 01:14:35 +01:00
rtpdec_xiph.c avformat: Forward errors where possible 2019-12-12 19:25:33 +01:00
rtpdec.c avformat/rtpdec: Fix negative missed packets in warning message 2022-01-30 13:26:35 +08:00
rtpdec.h avformat/rtpdec: Make ff_rtp_handler_iterate() static 2021-09-08 22:59:14 +02:00
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c avformat: Constify the API wrt AV(In|Out)putFormat 2021-04-27 10:43:08 -03:00
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 avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
rtpenc_mpv.c avcodec/internal.h: Move avpriv_find_start_code() to startcode.h 2022-02-08 06:22:14 +01:00
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/rtpproto: set ttl upper bound to 255 2022-02-06 23:04:59 +01:00
rtpproto.h libavformat: remove the ff_rtp_get_local_rtcp_port function 2018-01-06 18:34:55 +00:00
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 avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
samidec.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
sapdec.c avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
sapenc.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
sauce.c
sauce.h
sbcdec.c avformat/rawdec: Deduplicate AVClasses based upon ff_raw_options 2021-07-08 16:03:18 +02:00
sbgdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
sccdec.c avformat/sccdec: Remove nonsense cast 2021-10-07 11:52:10 +02:00
sccenc.c avformat/(lrc|scc)enc: Use avio_w8() to write a single char 2021-10-02 17:16:34 +02:00
scd.c avformat/scd: add demuxer 2021-12-02 01:41:55 +10:00
sctp.c lavf/network: log ff_socket() errors to proper contexts rather than NULL 2022-01-21 09:25:05 +01:00
sdp.c avformat/rtpenc_rfc4175: support for interlace format 2022-01-12 09:21:07 +08:00
sdr2.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
sdsdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
sdxdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
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 avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
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 avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
sga.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
shortendec.c avformat/rawdec: Deduplicate AVClasses based upon ff_raw_options 2021-07-08 16:03:18 +02:00
sierravmd.c avformat/sierravmd: Simplify cleanup after read_header failure 2021-07-08 13:54:52 +02:00
siff.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
smacker.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
smjpeg.c
smjpeg.h
smjpegdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
smjpegenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
smoothstreamingenc.c avformat/smoothstreamingenc: Move buffers to the end of structs 2021-12-05 13:27:38 +01:00
smush.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
sol.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
sox.h
soxdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
soxenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
spdif.c
spdif.h
spdifdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
spdifenc.c avcodec/dca: Unavpriv dca_sample_rates 2022-01-04 13:16:49 +01:00
srtdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
srtenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
srtp.c
srtp.h
srtpproto.c avformat: Replace ffurl_close() by ffurl_closep() where appropriate 2020-05-25 13:11:36 +02:00
stldec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
subfile.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
subtitles.c avformat/subtitles: Honour ff_subtitles_read_line() documentation 2021-10-02 17:16:29 +02:00
subtitles.h avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
subviewer1dec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
subviewerdec.c all: Remove unnecessary libavcodec/internal.h inclusions 2022-02-08 06:16:26 +01:00
supdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
supenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
svag.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
svs.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
swf.c avformat/swf: add support for reading and writing VP6A and Flash Screen Video codecs 2021-01-23 20:10:05 +01:00
swf.h avformat/swf: Separate mux and demux contexts 2020-09-20 18:34:48 +02:00
swfdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
swfenc.c lavf/swfenc: switch to new FIFO API 2022-02-07 00:31:23 +01:00
takdec.c avformat/takdec: Don't initialize get_bits context to read one value 2022-01-07 11:55:57 +01:00
tcp.c lavf/network: log ff_listen() errors to proper contexts rather than NULL 2022-01-21 09:25:05 +01:00
tedcaptionsdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
tee_common.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
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 avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
tiertexseq.c avformat/tiertexseq: Simplify cleanup after read_header failure 2021-07-08 14:08:00 +02:00
tls_gnutls.c avformat/gnutls: Use the systems default crypto policy 2022-02-15 10:15:25 +01:00
tls_libtls.c tls: Hook up the url_get_short_seek function in the TLS backends 2020-11-05 09:22:17 +02:00
tls_mbedtls.c lavf/tls_mbedtls: fix handling of tls_verify=0 2021-12-30 19:32:34 +02:00
tls_openssl.c tls_openssl: Improve quality of printed error messages, pass IO error codes through 2021-04-01 09:05:10 +03:00
tls_schannel.c tls: Hook up the url_get_short_seek function in the TLS backends 2020-11-05 09:22:17 +02:00
tls_securetransport.c All: update names in copyright headers 2021-01-20 01:02:56 -06:00
tls.c avformat/http,tls: honor http_proxy command line variable for HTTPS 2021-03-19 22:43:02 +01:00
tls.h avformat/http,tls: honor http_proxy command line variable for HTTPS 2021-03-19 22:43:02 +01:00
tmv.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
to_upper4.c avcodec/utils: Unavpriv avpriv_toupper4() 2022-01-04 13:16:50 +01:00
tta.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
ttaenc.c avcodec/packet_internal: Add proper PacketList struct 2022-01-04 13:16:50 +01:00
ttmlenc.c avformat/ttml: split TTML paragraph based or not check into header 2021-08-25 09:26:46 +03:00
ttmlenc.h avformat/ttml: split TTML paragraph based or not check into header 2021-08-25 09:26:46 +03:00
tty.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
txd.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
ty.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
udp.c avformat/udp: remove IPPROTO_IPV6 macro 2022-02-12 08:41:55 +08:00
uncodedframecrcenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
unix.c lavf/network: log ff_socket() errors to proper contexts rather than NULL 2022-01-21 09:25:05 +01:00
url.c avformat/url: add ff_make_absolulte_url2 to be able to test windows path cases 2021-04-07 22:14:56 +02:00
url.h Remove obsolete version.h inclusions 2022-02-24 12:56:49 +01:00
urldecode.c avformat/urldecode: add the ability to not decode plus sign to space 2020-02-15 18:41:36 +01:00
urldecode.h avformat/urldecode: add the ability to not decode plus sign to space 2020-02-15 18:41:36 +01:00
utils.c avformat/utils: fix logic error in ff_mkdir_p 2022-02-16 08:21:58 +11:00
vag.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
vapoursynth.c avformat/vapoursynth: Simplify cleanup after read_header failure 2021-07-08 14:09:15 +02:00
vc1dec.c lavf/vc1dec: Reduce probe score for streams with invalid frames. 2019-04-19 14:06:29 +02:00
vc1test.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
vc1testenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
version.h avformat/argo_cvg: Fix checksum 2022-02-15 21:36:08 +01:00
vividas.c avformat/avio: Move internal AVIOContext fields to avio_internal.h 2021-08-25 23:01:54 +02:00
vivo.c avformat/vivo: Favor setting fps from explicit fractions 2021-12-16 22:31:13 +01:00
voc_packet.c avformat/voc_packet: prevent remaining size from becoming negative in ff_voc_get_packet() 2021-03-14 23:29:51 +01:00
voc.c avformat/Makefile: Remove unnecessary dependencies on vocdec 2021-02-23 21:12:26 +01:00
voc.h avformat/voc: Deduplicate codec tags list 2021-02-23 11:23:29 +01:00
vocdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
vocenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
vorbiscomment.c avformat/vorbiscomment: Don't compute strlen twice 2021-08-27 10:47:23 +02:00
vorbiscomment.h avformat/vorbiscomment: Switch to AVIOContext from bytestream API 2020-05-03 13:43:54 +02:00
vpcc.c Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
vpcc.h Remove/replace some unnecessary avcodec.h inclusions 2021-07-22 15:29:46 +02:00
vpk.c avformat/utils: make ff_update_cur_dts() shared 2021-06-09 13:55:25 -03:00
vplayerdec.c avformat/subtitles: Deduplicate subtitles' read_(packet|seek|close) 2021-07-18 04:26:35 +02:00
vqf.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
w64.c
w64.h
wavdec.c avformat/wavdec: Check smv_block_size 2021-10-09 11:42:16 +02:00
wavenc.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
wc3movie.c avformat/wc3movie: Simplify cleanup after read_header failure 2021-07-08 15:19:03 +02:00
webm_chunk.c avformat/avformat: Add AVFMT_AVOID_NEG_TS_DISABLED 2022-01-21 16:47:38 +01:00
webmdashenc.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
webpenc.c avformat/webpenc: Don't use sizeof(AVPacket) 2021-10-03 20:56:12 +02:00
webvttdec.c avformat/webvttdec: Simplify cleanup after read_header failure 2021-07-08 15:19:55 +02:00
webvttenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
westwood_aud.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
westwood_audenc.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
westwood_vqa.c avcodec/vqavideo: Decode 15-bit VQA3 files 2021-10-28 22:24:54 +02:00
wsddec.c avcodec/avcodec: Stop including channel_layout.h in avcodec.h 2021-07-22 11:14:31 +02:00
wtv_common.c
wtv.h
wtvdec.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
wtvenc.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
wv.c Remove unnecessary libavutil/(avutil|common|internal).h inclusions 2022-02-24 12:56:49 +01:00
wv.h
wvdec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
wvedec.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
wvenc.c avformat/wvenc: Make init function out of write_header 2021-12-20 14:29:01 +01:00
xa.c avformat: Constify all muxer/demuxers 2021-04-27 11:48:06 -03:00
xmv.c Replace all occurences of av_mallocz_array() by av_calloc() 2021-09-20 01:03:52 +02:00
xvag.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
xwma.c avformat: Avoid allocation for AVStreamInternal 2021-09-17 13:22:25 +02:00
yop.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
yuv4mpeg.h
yuv4mpegdec.c avformat: Avoid allocation for AVFormatInternal 2021-09-17 04:58:34 +02:00
yuv4mpegenc.c avformat/yuv4mpegenc: Write data generically via AVPixFmtDescriptor 2021-08-06 21:59:14 +02:00