This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit eada463e9a06385c1b1df0f4a8484f3954c67277
Author:     Niklas Haas <[email protected]>
AuthorDate: Wed Oct 28 14:52:56 2026 +0100
Commit:     Niklas Haas <[email protected]>
CommitDate: Sat Oct 31 13:37:58 2026 +0100

    avfilter/vf_libplacebo: add sar option
    
    Forces the output sample aspect ratio, instead of deriving it from the
    input.
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
    Sponsored-by: nxtedition AB
    Signed-off-by: Niklas Haas <[email protected]>
---
 doc/filters.texi            | 4 ++++
 libavfilter/vf_libplacebo.c | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/doc/filters.texi b/doc/filters.texi
index 37f9123df4..cc2b28a72b 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -17190,6 +17190,10 @@ content with black borders, while a value of 
@code{1.0} always crops off parts
 of the content. Intermediate values are possible, leading to a mix of the two
 approaches.
 
+@item sar
+Force the output sample aspect ratio. The default of @code{0} derives it from
+the input, see @option{reset_sar}.
+
 @item fit_mode
 Specify the content fit strategy according to a list of predefined modes.
 Determines how the input image is to be placed inside the destination crop
diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c
index 0c2b309bd3..a0b4d29585 100644
--- a/libavfilter/vf_libplacebo.c
+++ b/libavfilter/vf_libplacebo.c
@@ -186,6 +186,7 @@ typedef struct LibplaceboContext {
     int force_divisible_by;
     int reset_sar;
     int normalize_sar;
+    AVRational out_sar;
     int fit_mode;
     int fit_sense;
     int apply_filmgrain;
@@ -1635,6 +1636,9 @@ static int libplacebo_config_output(AVFilterLink *outlink)
         outlink->sample_aspect_ratio = inlink->sample_aspect_ratio;
     }
 
+    if (s->out_sar.num)
+        outlink->sample_aspect_ratio = s->out_sar;
+
     /* Frame rate */
     if (s->fps.num) {
         ol->frame_rate = s->fps;
@@ -1680,6 +1684,7 @@ fail:
 
 #define OPTS_COMMON                                                            
                                                                                
     \
     { "format", "Output video format", OFFSET(out_format_string), 
AV_OPT_TYPE_STRING, .flags = STATIC },                                          
                  \
+    { "sar", "Output sample aspect ratio (0 for automatic)", OFFSET(out_sar), 
AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, INT_MAX, STATIC },                         
      \
     { "inherit_device", "Inherit the Vulkan device from the input's hardware 
frames context",                                                                
       \
         OFFSET(inherit_device), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, .flags = 
STATIC },                                                                       
       \
     { "shader_cache",  "Set shader cache path", OFFSET(shader_cache), 
AV_OPT_TYPE_STRING, {.str = NULL}, .flags = STATIC },                           
              \

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to