summaryrefslogtreecommitdiff
path: root/fftools/ffprobe.c
Commit message (Collapse)AuthorAge
* ffprobe: print AVFrame.durationAnton Khirnov2022-07-19
|
* fftools/ffprobe: Improve description of AFD side dataAndreas Rheinhardt2022-07-09
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffprobe: Add const to AVPacket data pointersAndreas Rheinhardt2022-07-09
| | | | | | | These packets need not be writable (and are not modified by us), so it is best to access them via const uint8_t*. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffprobe: report avio errorsMarton Balint2022-06-20
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* ffprobe: add -o optionStefano Sabatini2022-06-13
| | | | | | | | | | This enables printing to a resource specified with -o OUTPUT. In case the output is not specified, prints to stdout as usual. Address issue: http://trac.ffmpeg.org/ticket/8024 Signed-off-by: Marton Balint <cus@passwd.hu>
* ffprobe: update entry index after printing packet/media typeStefano Sabatini2022-06-09
| | | | | | | | Fix JSON output in case a frame or packet section contains a nested section. Fix trac issue http://trac.ffmpeg.org/ticket/8680. Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/ffprobe: clarify that the input file is not optionalStefano Sabatini2022-04-21
| | | | Fix trac issue http://trac.ffmpeg.org/ticket/9562
* 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/cmdutils: split common option handlers into their own fileAnton Khirnov2022-03-22
|
* 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>
* ffprobe: convert to new channel layout-APIJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fftool/ffprobe: support for CUVA HDR Vivid metadataLimin Wang2022-03-01
| | | | Signed-off-by: Limin Wang <lance.lmwang@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>
* 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.
* 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>
* 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>
* fftools/ffprobe: print size of attachment streams (extradata_size)softworkz2021-11-29
| | | | | Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* fftools: Constify values from av_dict_get()Chad Fraleigh2021-11-18
| | | | | | | | Treat values returned from av_dict_get() as const, since they are internal to AVDictionary. Signed-off-by: Chad Fraleigh <chadf@triularity.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Replace all occurences of av_mallocz_array() by av_calloc()Andreas Rheinhardt2021-09-20
| | | | | | | They do the same. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffprobe: Don't access AVProgram.(start|end)_timeAndreas Rheinhardt2021-09-14
| | | | | | | These are internal fields. Reviewed-by: Tobias Rapp <t.rapp@noa-archive.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: add a Film Grain codec property flagJames Almer2021-08-24
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: remove references to frame->pkt_ptsJames Almer2021-08-07
| | | | | | The field was removed during the last major bump. Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: Rename Audio Service Type 'type' field to 'service_type'Derek Buitenhuis2021-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 677a030b26045acb50353d7954ae984ceefcd807 introduced more printable side data types in ffprobe, however the Audio Service Type side data 'type' field that was introduced aliases an existing field of the same name within the side data array, which can lead to JSON output like: "side_data_list": [ { "side_data_type": "Audio Service Type", "type": 0 }, { "side_data_type": "Stereo 3D", "type": "side by side", "inverted": 1 } ] This, while technically valid JSON, is considered bad practice, since it forces all downstream users to manually parse it and check all types; it makes simple deserialization impossible. Worse, in som loosely type languages, it can lead to silent bugs if exising code assumed it was a different type. As such, rename this second "type" field to "service_type". Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* fftools: Don't set default swscale flags in ffmpeg/ffprobe/ffplayLinjie Fu2021-08-05
| | | | Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
* avcodec/avcodec: Stop including channel_layout.h in avcodec.hAndreas Rheinhardt2021-07-22
| | | | | | Also include channel_layout.h directly wherever used. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffprobe: use quotation marks in the xml header outputJames Almer2021-07-15
| | | | | | | | xmllint (silently) replaces the ' with " when fixing and validating the output of ffprobe in fate-ffprobe_xsd. Reviewed-by: Tobias Rapp <t.rapp@noa-archive.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: Remove redundant check before avcodec_free_context()Andreas Rheinhardt2021-06-08
| | | | | | | | Besides being unnecessary it is also safer: If the error for an unrecognized option were triggered (which seems to be impossible right now), it might be that the stream whose codecpar is accessed is NULL. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffprobe: support printing more packet side data typesAnton Khirnov2021-05-09
| | | | | Specifically WebVTT subtitle data, CPB properties, audio service type and mpegts stream id.
* ffprobe: only hash extradata when it is presentAnton Khirnov2021-05-09
| | | | | Passing zero-sized/NULL buffers to av_hash_update() is invalid and may crash with certain hashes.
* ffprobe: add option to control optional fields displayGyan Doshi2021-05-05
|
* avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt2021-04-27
| | | | | | | Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: Constify the API wrt AV(In|Out)putFormatAndreas Rheinhardt2021-04-27
| | | | | | | Also constify AVProbeData. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: Remove check on show_frames and show_packets in XML writerTobias Rapp2021-04-16
| | | | | | | | The "packets_and_frames" element has been added to ffprobe.xsd in 0c9f0da0f7656059e9bd41931d250aafddf35ea3 but apparently removing the check in ffprobe.c has been forgotten. Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* ffprobe: only print exported private decoder optionsJames Almer2021-04-14
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/ffprobe: Add missing dispositionsAndreas Rheinhardt2021-03-31
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools/ffprobe: use av_packet_alloc() to allocate packetsJames Almer2021-03-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* ffprobe: switch to av_bprint_escape for XML escapingJan Ekström2021-03-05
| | | | | | Additionally update the result of the ffprobe XML writing test. Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* fftools: Switch to const AVCodec * where possibleAndreas Rheinhardt2021-03-02
| | | | | | | | | | | The obstacle to do so was in filter_codec_opts: It uses searches the AVCodec for options via the AV_OPT_SEARCH_FAKE_OBJ method, which requires using a void * that points to a pointer to a const AVClass. When using const AVCodec *, one can not simply use a pointer that points to the AVCodec's pointer to its AVClass, as said pointer is const, too. This is fixed by using a temporary pointer to the AVClass. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* ffprobe: stop setting AVCodecContext.framerateAnton Khirnov2021-02-22
| | | | | That field is supposed to be exported by decoders, it makes no sense for a user to set it.
* ffprobe: stop printing deprecated fieldsAnton Khirnov2021-02-22
| | | | | | | | | | | The FF_API macros are private and must not be used by external callers. As the fields in question are to be removed without replacement, just drop them. The fields are: AVPacket.convergence_duration AVCodecContext.time_base AVCodecContext.timecode_frame_start AV_PIX_FMT_FLAG_PSEUDOPAL pixel descriptor flag
* ffprobe: drop code accessing deprecated AVStream.codecAnton Khirnov2021-02-22
|
* ffprobe: do not use deprecated AVStream.codec for max bitrateAnton Khirnov2021-02-22
| | | | Use the decoder context instead.