aboutsummaryrefslogtreecommitdiffstats
path: root/fftools/ffmpeg.h
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-05-28 16:37:44 -0300
committerJames Almer <jamrial@gmail.com>2024-07-08 13:30:24 -0300
commitbf87688a9fb8afdd9fd9150fb6c7d2b4ca10f48c (patch)
treebfdb85d75ca68e244ec284eba7add735c4856508 /fftools/ffmpeg.h
parentf194f291d8082134cdce625b0ca3548067428ea9 (diff)
downloadffmpeg-bf87688a9fb8afdd9fd9150fb6c7d2b4ca10f48c.tar.gz
fftools/ffmpeg: support applying container level cropping
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'fftools/ffmpeg.h')
-rw-r--r--fftools/ffmpeg.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index d173475621..d0298d53cf 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -155,6 +155,7 @@ typedef struct OptionsContext {
SpecifierOptList hwaccel_devices;
SpecifierOptList hwaccel_output_formats;
SpecifierOptList autorotate;
+ SpecifierOptList apply_cropping;
/* output options */
StreamMap *stream_maps;
@@ -239,6 +240,7 @@ enum IFilterFlags {
IFILTER_FLAG_AUTOROTATE = (1 << 0),
IFILTER_FLAG_REINIT = (1 << 1),
IFILTER_FLAG_CFR = (1 << 2),
+ IFILTER_FLAG_CROP = (1 << 3),
};
typedef struct InputFilterOptions {
@@ -254,6 +256,11 @@ typedef struct InputFilterOptions {
* accurate */
AVRational framerate;
+ unsigned crop_top;
+ unsigned crop_bottom;
+ unsigned crop_left;
+ unsigned crop_right;
+
int sub2video_width;
int sub2video_height;
@@ -539,6 +546,13 @@ typedef struct KeyframeForceCtx {
typedef struct Encoder Encoder;
+enum CroppingType {
+ CROP_DISABLED = 0,
+ CROP_ALL,
+ CROP_CODEC,
+ CROP_CONTAINER,
+};
+
typedef struct OutputStream {
const AVClass *class;