summaryrefslogtreecommitdiff
path: root/fftools/ffmpeg_mux.h
Commit message (Collapse)AuthorAgeFilesLines
* fftools/ffmpeg_mux: make copy_initial_nonkeyframes private to muxing codeAnton Khirnov2023-04-171-0/+1
| | | | It is no longer used outside of ffmpeg_mux*
* fftools/ffmpeg_mux: make copy_prior_start private to muxing codeAnton Khirnov2023-04-171-0/+1
| | | | It is no longer used outside of ffmpeg_mux*
* fftools/ffmpeg_mux: make streamcopy_started private to muxing codeAnton Khirnov2023-04-171-0/+2
| | | | It is no longer used outside of ffmpeg_mux*
* fftools/ffmpeg_mux: make ts_copy_start private to muxing codeAnton Khirnov2023-04-171-0/+5
| | | | It is no longer used outside of ffmpeg_mux*
* fftools/ffmpeg_mux: stop using filter_in_rescale_delta_last for streamcopyAnton Khirnov2023-04-171-0/+3
| | | | | | | | | | | | | That field was added to store timestamp conversion state for audio decoding code. Later it started being used by streamcopy as well, but that use is wrong because, for a given input stream, both decoding and an arbitrary number of streamcopies may be performed simultaneously. They would then all overwrite the same state variable. Store this state in MuxStream instead. This is the last use of InputStream in of_streamcopy(), so the ist parameter can now be removed.
* fftools/ffmpeg_mux: make data_size_mux private to ffmpeg_muxAnton Khirnov2023-04-131-0/+3
| | | | It is no longer used outside of this file.
* fftools/ffmpeg: add an option for writing pre-muxing statsAnton Khirnov2023-02-091-0/+2
| | | | | | Analogous to -enc_stats*, but happens right before muxing. Useful because bitstream filters and the sync queue can modify packets after encoding and before muxing. Also has access to the muxing timebase.
* fftools/ffmpeg: add an AVClass to MuxStream/OutputStreamAnton Khirnov2023-01-291-0/+3
| | | | | Use it for logging. This makes log messages related to this output stream more consistent.
* fftools/ffmpeg: add an AVClass to Muxer/OutputFileAnton Khirnov2023-01-291-0/+3
| | | | | Use it for logging. This makes log messages related to this output file more consistent.
* fftools/ffmpeg: move OutputStream.max_frames to MuxStreamAnton Khirnov2022-11-171-0/+7
| | | | It no longer needs to be visible outside of the muxing code.
* fftools/ffmpeg_mux: move muxing queue fields from OutputStream to MuxStreamAnton Khirnov2022-10-181-0/+5
| | | | | They are private to the muxer and do not need to be visible outside of it.
* fftools/ffmpeg_mux: move bsf_ctx from OutputStream to MuxStreamAnton Khirnov2022-10-181-0/+2
| | | | | It is private to the muxer and does not need to be visible outside of it.
* fftools/ffmpeg_mux: embed OutputStream in a MuxStreamAnton Khirnov2022-10-181-3/+2
| | | | | | | | This is now possible since OutputStream is a child of OutputFile and the code allocating it can access MuxStream. Avoids the overhead and extra complexity of allocating two objects instead of one. Similar to what was previously done for OutputFile/Muxer.
* fftools/ffmpeg: remove the output_streams globalAnton Khirnov2022-10-181-0/+1
| | | | | | | Replace it with an array of streams in each OutputFile. This is a more accurate reflection of the actual relationship between OutputStream and OutputFile. This is easier to handle and will allow further simplifications in future commits.
* fftools/ffmpeg_mux: move sq_mux from OutputFile to MuxerAnton Khirnov2022-10-181-0/+1
| | | | | It is internal to ffmpeg_mux* and does not need to be visible to other code.
* fftools/ffmpeg_mux: inline of_muxer_init() into of_open()Anton Khirnov2022-10-181-0/+5
| | | | | A separate muxer init is no longer necessary, now that of_open() has access to Muxer.
* fftools/ffmpeg_mux: embed OutputFile in a MuxerAnton Khirnov2022-10-181-2/+4
| | | | | | | | This is now possible since the code allocating OutputFile can see sizeof(Muxer). Avoids the overhead and extra complexity of allocating two objects instead of one. Similar to what is done e.g. for AVStream/FFStream in lavf.
* fftools/ffmpeg_mux: move Muxer and MuxStream to a new headerAnton Khirnov2022-10-181-0/+72
This will allow ffmpeg_mux_init.c to work with these structs.