summaryrefslogtreecommitdiff
path: root/fftools
Commit message (Collapse)AuthorAge
* doc/ffprobe: clarify that the input file is not optionalStefano Sabatini2022-04-21
| | | | Fix trac issue http://trac.ffmpeg.org/ticket/9562
* fftools/ffmpeg: store output format separately from the muxer contextAnton Khirnov2022-04-13
| | | | | | Allows accessing it without going through the muxer context. This will be useful in the following commits, where the muxer context will be hidden.
* fftools/ffmpeg: move freeing the output file to ffmpeg_mux.cAnton Khirnov2022-04-13
|
* fftools/ffmpeg: move writing the trailer to ffmpeg_mux.cAnton Khirnov2022-04-13
|
* fftools/ffmpeg: move some muxing-related code into a separate fileAnton Khirnov2022-04-13
| | | | | This is a first step towards making muxers more independent from the rest of the code.
* fftools/ffmpeg: store the output file index in OutputFileAnton Khirnov2022-04-13
| | | | | Use it to simplify check_init_output_file(). Will allow further simplifications in the following commits.
* fftools/ffmpeg: pass the muxer context explicitly to some functionsAnton Khirnov2022-04-13
| | | | | Stop accessing OutputFile.ctx. This will be useful in the following commits, where it will become hidden.
* fftools/ffmpeg: stop using OutputStream.frame_number for streamcopyAnton Khirnov2022-04-13
| | | | | | | | | | | | | | This field is currently used by checks - skipping packets before the first keyframe - skipping packets before start time to test whether any packets have been output already. But since frame_number is incremented after the bitstream filters are applied (which may involve delay), this use is incorrect. The keyframe check works around this by adding an extra flag, the start-time check does not. Simplify both checks by replacing the seen_kf flag with a flag tracking whether any packets have been output by do_streamcopy().
* fftools/ffmpeg: move a comment to a more appropriate placeAnton Khirnov2022-04-13
|
* fftools/ffmpeg: drop an obsolete hackAnton Khirnov2022-04-13
| | | | | Introduced in 05741d70c7a. All encoders should set the timestamps properly now, so it should never be necessary.
* fftools/opt_cmdutils: fix printing known channel layoutsJames Almer2022-03-25
| | | | | | | Look for the generic "USR" labels instead of "?" to skip channels with no known names, and actually print the decomposition of standard channel layouts. Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: add packet duration to AVPacket loggingJaakko Perttilä2022-03-23
| | | | | | | | | Especially useful when debugging subtitle output, but also shows if values are set or not for demux and encoding. Co-authored-by: Jan Ekström <jan.ekstrom@24i.com> Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* fftools/cmdutils: drop redundant codeAnton Khirnov2022-03-22
| | | | | | | It allocates a dummy sws/swr context and tries setting options on it, apparently to check if they are valid. This is redundant, since the options will be checked if/when they are later applied on a context that is actually used for conversion.
* fftools: drop the fake "default" option from ffplay/ffprobeAnton Khirnov2022-03-22
| | | | | | It tries to process any unhandled options as AVOptions. Handle this directly in cmdutils.c, without resorting to a confusing fake option definition (which is currently visible to the users in -help output).
* fftools/ffprobe: drop -show_format_entryAnton Khirnov2022-03-22
| | | | Deprecated since 2012.
* fftools/ffplay: drop options deprecated since 2011Anton Khirnov2022-03-22
|
* fftools/ffmpeg: drop mistakenly added empty lineAnton Khirnov2022-03-22
|
* fftools: move opt_timelimit from cmdutils to ffmpegAnton Khirnov2022-03-22
| | | | This option is only supported by ffmpeg.
* fftools/cmdutils: split common option handlers into their own fileAnton Khirnov2022-03-22
|
* fftools: drop useless indirectionAnton Khirnov2022-03-22
|
* fftools/cmdutils: drop extern declarations for nonexistent variablesAnton Khirnov2022-03-22
|
* fftools/cmdutils: drop prototypes for nonexistent functionsAnton Khirnov2022-03-22
|
* ffmpeg: make the ac option set the demuxer's ch_layout AVOptionJames Almer2022-03-22
| | | | | | channels is deprecated on all supported raw demuxers. Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: add a ch_layout option as an alias to channel_layoutJames Almer2022-03-22
| | | | | | This ensures it's parsed as a CLI option instead of the AVCodecContext AVOption. Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: replace custom channel_layout code with an SpecifierOpt based oneJames Almer2022-03-22
| | | | | | This is cleaner and allows fine tuning which stream the option is applied to. Signed-off-by: James Almer <jamrial@gmail.com>
* ffplay: don't shadow global variableZhao Zhili2022-03-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* ffplay: check AVFMT_NO_BYTE_SEEK flag for seek_by_bytesZhao Zhili2022-03-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* ffmpeg: remove usage of internal deprecation macroJames Almer2022-03-16
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* configure: Use a separate config_components.h header for $ALL_COMPONENTSMartin Storsjö2022-03-16
| | | | | | | | This avoids unnecessary rebuilds of most source files if only the list of enabled components has changed, but not the other properties of the build, set in config.h. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavfilter: Split version.hMartin Storsjö2022-03-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libswscale: Split version.hMartin Storsjö2022-03-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libswresample: Split version.hMartin Storsjö2022-03-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libpostproc: Split version.hMartin Storsjö2022-03-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavdevice: Split version.hMartin Storsjö2022-03-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Split version.hMartin Storsjö2022-03-16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavcodec: Split version.hMartin Storsjö2022-03-16
| | | | | | | | | | | | | | This avoids including version.h in all source files, avoiding unnecessary rebuilds when the version number is bumped. Only version_major.h is included by the main header, which defines availability of e.g. FF_API_* macros, and which is bumped much less often. This isn't done for libavutil/version.h, because that header needs to be included essentially everywhere due to LIBAVUTIL_VERSION_INT being used wherever an AVClass is constructed. Signed-off-by: Martin Storsjö <martin@martin.st>
* ffplay: convert to new channel layout-APIJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: convert to new channel layout-APIJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: convert to new channel layout-APIJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffmpeg_opt: Apply copyinkf for all stream typesAndreas Rheinhardt2022-03-04
| | | | | | | | | | The earlier code has ignored it for all stream types except video and subtitles, probably because audio was presumed to only consist of keyframes. Yet this assumption is not true for e.g. TrueHD. Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg: Don't presume frame_queue to have been allocatedAndreas Rheinhardt2022-03-03
| | | | | | Fixes segfaults upon allocation failure. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg_opt: Simplify adding complex filtergraphAndreas Rheinhardt2022-03-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg_opt: Simplify adding new input/output streamsAndreas Rheinhardt2022-03-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftool/ffprobe: support for CUVA HDR Vivid metadataLimin Wang2022-03-01
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* ffmpeg: ensure a keyframe was not seen before skipping packetsJames Almer2022-02-28
| | | | | | | A keyframe could be buffered in the bsf and not be output until more packets had been fed to it. Signed-off-by: James Almer <jamrial@gmail.com>
* ffmpeg: flush delayed frames in codec copy scenariosJames Almer2022-02-28
| | | | | | | Bitstream filters inserted between the input and output were never drained, resulting in packets being lost if the bsf had any buffered. Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: Remove redundant checksAndreas Rheinhardt2022-02-23
| | | | | | | A decoder is only opened if there is a decoder for the codec, so every AVCodecContext here has AVCodecContext.codec set. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffprobe: Flush decoder after drainingAndreas Rheinhardt2022-02-23
| | | | | | | | | This is a prerequisite to continue using the decoder at all to decode the next interval (if any). This fixes a regression introduced in commit 2a88ebd096f3c748a2d99ed1b60b22879b3c567c and reported in ticket #8657. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg: fix (a)buffer src namesAnton Khirnov2022-02-15
|
* fftools/ffmpeg: Restore DTS correction for VP9 copiesDanny Wu2022-02-13
| | | | | | | | | | | | | | | | | | Fixes ticket 9086. Since early 2021, some of YouTube's VP9 encodes have non-monotonous DTS. This makes ffmpeg fatally fail when trying to copy or encode the V9 video. ffmpeg already includes functionality to correct this, however it was disabled without explanation for VP9 stream copies in 2e6636aa87303d37b112e79f093ca39500f92364 This patch restores the DTS correction logic, and allows ffmpeg to correctly encode (invalid) videos produced by youtube.com. I have verified that frames are NOT being cut (so it does not re-introduce 4313). Reviwed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>