summaryrefslogtreecommitdiff
path: root/fftools
Commit message (Collapse)AuthorAge
* 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>
* ffmpeg: switch to new FIFO APIAnton Khirnov2022-02-07
|
* ffplay: switch to new FIFO APIAnton Khirnov2022-02-07
|
* ffprobe: allow side-data selection by elementGyan Doshi2022-02-03
| | | | | | | | | | At present, side data printing forces display for all levels i.e. stream, packets and frames. This can bloat output and also force decode of all frames in selected streams. Now, stream_side_data[=type], packet_side_data[=type] & frame_side_data[=type] can be used with -show_entries to specify carrier element.
* fftools/cmdutils: Fix undefined 1 << 31Andreas Rheinhardt2022-01-11
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffmpeg: remove a redundant assignment of interrupt_callbackAnton Khirnov2022-01-10
| | | | It is already set in open_output_file().
* ffprobe: Support AV_FRAME_DATA_DOVI_METADATAJan Ekström2022-01-04
| | | | | Co-authored-by: Niklas Haas <git@haasn.dev> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools: provide media type info for devicesDiederick Niehorster2021-12-24
| | | | | | | | fftools now print info about what media type(s), if any, are provided by sink and source avdevices. Signed-off-by: Diederick Niehorster <dcnieho@gmail.com> Reviewed-by: Roger Pack <rogerdpack2@gmail.com>
* fftools/ffmpeg_filter: Avoid inserting hflip filterAndreas Rheinhardt2021-12-23
| | | | | | | The transpose filter has modes equivalent to "rotation by 90°/270°" followed by horizontal flips. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffmpeg_filter: Fix autorotationAndreas Rheinhardt2021-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | In case of an orthogonal transformation av_display_rotation_get() returns the (anticlockwise) degree that the unit vector in x-direction gets rotated by; get_rotation in cmdutils.c makes a clockwise degree out of this. So if one inserts a transpose filter corresponding to this degree, then the x-vector gets mapped correctly and there are two possibilities for image of the y-vector, namely the two unit vectors orthogonal to the image of the x-vector. E.g. if the x-vector gets rotated by 90° clockwise, then the two possibilities for the y-vector are the unit vector in x direction or its opposite. The latter case is a simple 90° rotation for both vectors* whereas the former is a simple 90° clockwise rotation followed by a horizontal flip. These two cases can be distinguished by looking at the x-coordinate of the image of the y-vector, i.e. by looking at displaymatrix[3]. Similarly for the case of a 270° clockwise rotation. These two cases were previously wrong (they were made to match wrongly parsed exif rotation tag values). *: For display matrices, the y-axis points downward. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffprobe: add missing separator when printing side data in compact outputJames Almer2021-12-22
| | | | | | Should fix ticket #7153 Signed-off-by: James Almer <jamrial@gmail.com>