[FFmpeg-devel] [PATCH 0/7] Container level frame cropping parameters

James Almer jamrial at gmail.com
Sat Oct 7 19:24:56 EEST 2023


This is a simple set to add support to stream wide, container level cropping
parameters, as featured in formats like Matroska and ISOBMFF. It's needed for
things like AV1 streams generated by certain hardware encoders that produce
dimension aligned output, and unlike H26x, can't export cropping info within
the bitstream.
In this set i add the packet side data type, mux and demux support to Matroska,
and handling code to ffmpeg and ffplay. Missing is support for clap boxes in
ISOBMFF, and exporting the relevant side data from encoders like AMF.

It's a rebased and updated version to the set i sent a month ago.

James Almer (7):
  avcodec/packet: add a decoded frame cropping side data type
  avformat/dump: print Frame Cropping side data info
  avformat/matroskadec: export cropping values
  avformat/avformat: add a flag to signal muxers that support storing
    cropping values
  avformat/matroskaenc: support writing cropping values
  fftools/ffmpeg: support applying container level cropping
  fftools/ffplay: support applying container level cropping

 fftools/ffmpeg.h          |  3 ++
 fftools/ffmpeg_demux.c    |  6 ++++
 fftools/ffmpeg_enc.c      | 24 ++++++++--------
 fftools/ffmpeg_filter.c   | 23 +++++++++++++++
 fftools/ffmpeg_opt.c      |  3 ++
 fftools/ffplay.c          | 26 +++++++++++++++++
 libavcodec/packet.h       | 14 ++++++++++
 libavformat/avformat.h    |  1 +
 libavformat/dump.c        | 21 ++++++++++++++
 libavformat/matroskadec.c | 53 ++++++++++++++++++++++++++++-------
 libavformat/matroskaenc.c | 59 ++++++++++++++++++++++++++++++---------
 libavformat/mux.c         |  8 ++++++
 12 files changed, 207 insertions(+), 34 deletions(-)

-- 
2.42.0



More information about the ffmpeg-devel mailing list