aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/dump.c
Commit message (Collapse)AuthorAgeFilesLines
* avformat/dump: add support for 3D Reference Displays Information side dataJames Almer2025-07-011-0/+13
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: lowercase 'Start' prefix for start offsetMarth642025-06-151-1/+1
| | | | | | | | Just applying some UX polish. This is to match the lowercase trend of attributes in the dump string (and similar to chapters). Signed-off-by: Marth64 <marth64@proxyid.net>
* avformat/dump: Stream start offsets: change precision and labelsoftworkz2025-05-031-1/+1
| | | | | | | | - Change precision to 6 digits to align with other printed times - Change label to just "Start" - Add 's' unit to format 'start' value for consistency Signed-off-by: softworkz <softworkz@hotmail.com>
* avformat/dump: Print stream start offsets for input streamssoftworkz2025-04-191-0/+5
| | | | | | | | | Seeing the offset of video and audio streams to each other is often a useful metric in diagnosing and understanding issues with playback or transcoding. This commit adds those offsets to the stream info print. Signed-off-by: softworkz <softworkz@hotmail.com>
* avcodec: deprecate AVCodecContext propertiesMarton Balint2025-01-051-0/+4
| | | | | | | | These properties are unreliable because they depend on the frames decoded so far, users should check directly the presence of the decoded AVFrame side data or AVFrame flags. Signed-off-by: Marton Balint <cus@passwd.hu>
* Revert "avformat/dump: print only the actual streams in a tile grid group"James Almer2025-01-051-4/+8
| | | | | | | Indexes in tile_grid->offsets were fixed in the previous commit, but just in case, make sure to not overread the streams array. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: print only the actual streams in a tile grid groupJames Almer2025-01-031-2/+2
| | | | | | | | The amount of tiles does not necessarely need to match the amount of streams. Fixes ticket #11389. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/iamf: use the new Binaural channel layoutJames Almer2024-11-131-3/+3
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/avformat: add side data to AVStreamGroupTileGridJames Almer2024-09-301-12/+18
| | | | | | | Will be used to export certain information present in HEIF samples, like rotation metadata, ICC profiles, and potentially others. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: don't print streams withing a group twiceJames Almer2024-09-271-2/+4
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: reduce indentation when printing streams within a groupJames Almer2024-09-271-2/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: always print non-tile streams in tile grid groupsJames Almer2024-09-271-2/+7
| | | | | | | This ensures streams in the group that don't belong in the grid are printed with the default log level. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: add an LCEVC stream groupJames Almer2024-09-191-0/+27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: implement dv_md_compressionNiklas Haas2024-07-281-2/+4
|
* avformat/dump: print Frame Cropping packet side data infoJames Almer2024-07-081-0/+21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: Add a new stream disposition for multilayer videoDerek Buitenhuis2024-07-071-0/+2
| | | | | | | This lets us detect when a container has flagged a stream as multilayer. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat/dump: only print yaw, pitch, and roll if setJames Almer2024-07-041-4/+6
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: print Stereo3D AVRationals as floatJames Almer2024-06-241-4/+3
| | | | | | Same as every other rational printed in this file. Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/stereo3d: change the horizontal FOV field to a rationalLynne2024-06-241-2/+3
| | | | | | | | | | | This avoids hardcoding any implementation-specific limitiations as part of the API, and allows for future expandability. This also allows API users to more conveniently convert the values into floats without hardcoding specific conversion constants. The API was committed a few days ago, so changing this field now is within the realms of acceptable.
* avformat/dump: Print all possible Stereo3D infoDerek Buitenhuis2024-06-181-1/+10
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avutil/common: Don't auto-include mem.hAndreas Rheinhardt2024-03-311-0/+1
| | | | | | | | | | | There are lots of files that don't need it: The number of object files that actually need it went down from 2011 to 884 here. Keep it for external users in order to not cause breakages. Also improve the other headers a bit while just at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil: remove deprecated FF_API_OLD_CHANNEL_LAYOUTJames Almer2024-03-071-25/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: add a Tile Grid stream group typeJames Almer2024-02-261-0/+30
| | | | | | This will be used to support tiled image formats like HEIF. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: Fix use of undeclared variablesAndreas Rheinhardt2024-02-131-2/+2
| | | | | | | Broken in ec2036454bcdc6c12382961d4ab539c2f9b70ec8. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: add a disposition field to AVStreamGroupJames Almer2024-02-131-38/+47
| | | | | | | | | | The existing (and upcoming) available group types are meant to combine several streams for presentation, with the result being treated as if it was a stream itself. For example, a file could export two stream groups of the same type with one of them as the "default". Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/options: Only allocate AVCodecContext for demuxersAndreas Rheinhardt2024-02-071-6/+8
| | | | | | | | | | | The muxer's AVCodecContext is currently used for exactly one thing: To store a time base in it that has been derived via heuristics in avformat_transfer_internal_stream_timing_info(); said time base can then be read back via av_stream_get_codec_timebase(). But one does not need a whole AVCodecContext for that, a simple AVRational is enough. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mov: add support for 'amve' ambient viewing environment boxDamiano Galassi2024-02-041-0/+15
| | | | | | As defined in ISOBMFF (ISO/IEC 14496-12) document. Co-Authored-By: Cosmin Stejerean <cosmin@cosmin.at>
* avformat/dump: be less verbose when printing streams within a groupJames Almer2024-01-201-135/+143
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: introduce AVStreamGroupJames Almer2023-12-181-26/+121
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/avformat: use the side data from AVStream.codecparJames Almer2023-10-061-3/+3
| | | | | | | | | | | | Deprecate AVStream.side_data and its helpers in favor of the AVStream's codecpar.coded_side_data. This will considerably simplify the propagation of global side data to decoders and from encoders. Instead of having to do it inside packets, it will be available during init(). Global and frame specific side data will therefore be distinct. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: use av_dict_iterateMarvin Scholz2022-12-011-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/internal: Don't include avcodec.hAndreas Rheinhardt2022-09-261-1/+2
| | | | | | | | | | | | | | | The general demuxing API uses parsers and decoders. Therefore FFStream contains pointers to AVCodecContexts and AVCodecParserContext and lavf/internal.h includes lavc/avcodec.h. Yet actually only a few files files really use these; and it is best when this number stays small. Therefore this commit uses opaque structs in lavf/internal.h for these contexts and stops including avcodec.h. This also avoids including lavc/codec_desc.h implicitly. All other headers are implicitly included as now (mostly through codec.h). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/dump: Avoid unnecessary implicit calculation of strlenAndreas Rheinhardt2022-09-141-3/+1
| | | | | | | | | | | | | | | | | | | | | | av_strlcpy() returns the length of the src string to enable the caller to check for truncation. It is currently used in the following way in dump_metadata(): Every metadata value is searched for \b, \n, \v, \f, \r and then the data up to the first of these characters found is copied to a small temporary buffer via av_strlcpy() (but of course not more than fits into said buffer) and then printed; all characters up to the character found earlier are then treated as consumed. But this is bad performance-wise if the while string is big and contains many of these characters, because av_strlcpy() will unnecessarily calculate the length of the whole remaining string. (dump_metadata() actually ignored the return value of av_strlcpy().) Fix this by not copying the data to a temporary buffer at all. Instead just use %.*s to bound the number of characters output. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavf: Add non diegetic stream disposition flagVittorio Giovara2022-03-151-0/+2
| | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
* lavc: deprecate channel count/layout changing side dataAnton Khirnov2022-03-151-1/+8
| | | | | | | | They are incompatible with the new channel layout scheme and no decoder uses them. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: Avoid allocation for AVStreamInternalAndreas Rheinhardt2021-09-171-7/+8
| | | | | | | | | | Do this by allocating AVStream together with the data that is currently in AVStreamInternal; or rather: Put AVStream at the beginning of a new structure called FFStream (which encompasses more than just the internal fields and is a proper context in its own right, hence the name) and remove AVStreamInternal altogether. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: move AVStream.codec_info_nb_frames to AVStreamInternalJames Almer2021-05-071-1/+1
| | | | | | It's a private field, no reason to have it exposed in a public header. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dump: Remove remnants of codec timebaseAndreas Rheinhardt2021-04-301-5/+4
| | | | | | | Fixes Coverity issue #1477414. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: remove deprecated AVStream.codecJames Almer2021-04-271-22/+7
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt2021-04-271-2/+2
| | | | | | | Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Switch AVCPBProperties to 64bitsAndreas Rheinhardt2021-04-271-5/+1
| | | | | | | | | | | Announced in 2e8b0446c6798947dac77fee4a06f9c4e8131ab5. Two FATE-tests needed to be updated because the checksums of side data containing an AVCPBProperties struct changed. buffer_size has also been switched to 64bits because it is a bitsize. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* av_dump_format(): reduce indentation for streamsAnton Khirnov2021-02-031-1/+1
| | | | | Makes it easier to identify where metadata/chapters end and streams begin.
* av_dump_format(): increase indentation for chapter metadataAnton Khirnov2021-02-031-1/+1
| | | | It should be at a deeper level than the chapter it belongs to.
* av_dump_format: add a heading for chaptersAnton Khirnov2021-02-031-0/+2
| | | | Otherwise the chapters look like a part of the metadata section.
* avformat: use av_timecode_make_smpte_tc_string2Marton Balint2020-09-131-3/+3
| | | | | | WSD format has no frames stored for playback time. Signed-off-by: Marton Balint <cus@passwd.hu>
* API: add AV_PKT_DATA_S12M_TIMECODE to AVPacketSideDataTypeLimin Wang2020-07-151-0/+21
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/dump: add a \n for end of ERROR logLimin Wang2020-07-021-6/+6
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/dump: Use intermediate pointer for access to programs arrayAndreas Rheinhardt2020-06-301-7/+8
| | | | | | | Improves readability. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/dump: Use const where appropriateAndreas Rheinhardt2020-06-301-43/+48
| | | | | | | | Also switch to using a pointer to access stream side data instead of copying the stream's AVPacketSideData. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* lavf/dump: schedule use of deprecated API for removalAnton Khirnov2020-06-101-0/+14
|