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

Git pushed a commit to branch master
in repository ffmpeg.

commit c15a2a517b71746cfbcc4665df860fca88f535fe
Author:     Kacper Michajłow <[email protected]>
AuthorDate: Thu Sep 10 03:47:46 2026 +0200
Commit:     Kacper Michajłow <[email protected]>
CommitDate: Wed Sep 23 13:46:13 2026 +0000

    fate/vcodec: cover the encoder taking the input picture by reference
    
    An mpegvideo encoder takes the input picture by reference when its
    linesize matches the one the encoder uses itself, which is the coded
    width plus a border on either side, and copies the picture otherwise.
    Both have to encode the same.
    
    fate-vsynth1-mpeg4-adap feeds the encoder an unpadded picture, which
    gets copied. Pad the input to 352 + 2 * 16 and the same encode has the
    picture taken by reference instead, so the two cover a path each.
    
    The two references do not agree, which is the bug the next commit fixes.
    
    Signed-off-by: Kacper Michajłow <[email protected]>
---
 tests/fate/vcodec.mak                 | 13 +++++++++++--
 tests/ref/vsynth/vsynth1-mpeg4-layout |  4 ++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
index 895d5d55bc..eeaac71507 100644
--- a/tests/fate/vcodec.mak
+++ b/tests/fate/vcodec.mak
@@ -315,11 +315,19 @@ FATE_VCODEC-$(call ENCDEC, MPEG4, AVI)     += 
$(FATE_MPEG4_AVI)
 fate-vsynth%-mpeg4:              ENCOPTS = -qscale 10 -flags +mv4 -mbd bits
 fate-vsynth%-mpeg4:              FMT     = mp4
 
-fate-vsynth%-mpeg4-adap:         ENCOPTS = -b 550k -bf 2 -flags +mv4     \
+MPEG4_ADAP_OPTS                          = -b 550k -bf 2 -flags +mv4     \
                                            -trellis 1 -cmp 1 -subcmp 2   \
                                            -mbd rd -scplx_mask 0.3       \
                                            -mpv_flags +mv0               \
                                            -b_strategy 1 -b_sensitivity 5
+fate-vsynth%-mpeg4-adap:         ENCOPTS = $(MPEG4_ADAP_OPTS)
+
+# This is the same test as fate-vsynth%-mpeg4-adap but with an input padded
+# so the encoder can use it without copy.
+FATE_VCODEC_LAYOUT-$(call ENCDEC, MPEG4, AVI, PAD_FILTER CROP_FILTER) += \
+    fate-vsynth1-mpeg4-layout
+fate-vsynth%-mpeg4-layout:       ENCOPTS = -vf 
pad=384:288:0:0,crop=352:288:0:0 \
+                                           $(MPEG4_ADAP_OPTS)
 
 fate-vsynth%-mpeg4-adv:          ENCOPTS = -qscale 9 -flags +mv4+aic       \
                                            -data_partitioning 1 -trellis 1 \
@@ -503,7 +511,8 @@ FATE_VCODEC_SCALE-$(call ENCDEC, ZLIB, AVI) += zlib
 FATE_VCODEC-$(CONFIG_SCALE_FILTER) += $(FATE_VCODEC_SCALE-yes)
 FATE_VCODEC += $(FATE_VCODEC-yes)
 FATE_VCODEC := $(if $(call ENCDEC, RAWVIDEO, RAWVIDEO),$(FATE_VCODEC))
-FATE_VSYNTH1 = $(FATE_VCODEC:%=fate-vsynth1-%)
+FATE_VCODEC_LAYOUT := $(if $(call ENCDEC, RAWVIDEO, 
RAWVIDEO),$(FATE_VCODEC_LAYOUT-yes))
+FATE_VSYNTH1 = $(FATE_VCODEC:%=fate-vsynth1-%) $(FATE_VCODEC_LAYOUT)
 FATE_VSYNTH2 = $(FATE_VCODEC:%=fate-vsynth2-%)
 FATE_VSYNTH_LENA = $(FATE_VCODEC:%=fate-vsynth_lena-%)
 # Redundant tests because they just resize the input
diff --git a/tests/ref/vsynth/vsynth1-mpeg4-layout 
b/tests/ref/vsynth/vsynth1-mpeg4-layout
new file mode 100644
index 0000000000..984e6b125c
--- /dev/null
+++ b/tests/ref/vsynth/vsynth1-mpeg4-layout
@@ -0,0 +1,4 @@
+f268fdbe7f6810b87fd3f6069ef44a96 *tests/data/fate/vsynth1-mpeg4-layout.avi
+260786 tests/data/fate/vsynth1-mpeg4-layout.avi
+bab18a36ec88a100e6ba497bfc4928db 
*tests/data/fate/vsynth1-mpeg4-layout.out.rawvideo
+stddev:   14.01 PSNR: 25.20 MAXDIFF:  164 bytes:  7603200/  7603200

-- 
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