octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #64452] [octave forge] (video) BIST in VideoWr


From: Rafael Laboissière
Subject: [Octave-bug-tracker] [bug #64452] [octave forge] (video) BIST in VideoWriter.m fails on ppc64el
Date: Sun, 23 Jul 2023 04:48:09 -0400 (EDT)

Follow-up Comment #4, bug #64452 (project octave):

The problem reported in this bug report
[https://buildd.debian.org/status/fetch.php?pkg=octave-video&arch=ppc64el&ver=2.1.1-1&stamp=1689797515&raw=0
stroke again] in version 2.1.1 of the video package, when compiled on a
ppc64el system using ffmpeg 5 and g++ 13. The BIST for VideoWriter in the
previous version (2.0.2)
[https://buildd.debian.org/status/fetch.php?pkg=octave-video&arch=ppc64el&ver=2.0.2-1%2Bb2&stamp=1650536940&raw=0
run correctly] on ppc64el, but using ffmpeg 4 and g++ 11.

(BTW, please fix a typo in line 319 of inst/VideoWriter.m : “realtive” ⇒
“relative”.)

This is the relevant part of the build log:


[inst/VideoWriter.m]
>>>>> /<<PKGBUILDDIR>>/inst/VideoWriter.m
***** demo
 fn = fullfile (tempdir (), "sombrero.mp4");
 w = VideoWriter (fn);
 w.FrameRate = 50;
 open (w);
 z = sombrero ();
 hs = surf (z);
 axis manual
 nframes = 200;
 for ii = 1:nframes
   set (hs, "zdata", z * sin (2*pi*ii/nframes + pi/5));
   drawnow
   writeVideo (w, getframe (gcf));
 endfor
 close (w)
 printf ("Now run 'open %s' to read the video with your default video player
or try 'demo VideoReader'!\n", fn);
***** test
 fn = fullfile (tempdir(), "rainbow.mp4");
 width = 200;
 height = 150;
 nframes = 120;
 p = permute (rainbow (width), [3 1 2]);
 raw_video = zeros (height, width, 3, nframes);
 w = VideoWriter (fn);
 for k=1:nframes
   ps = circshift (p, k * 6);
   img = uint8 (255 * repmat (ps, height, 1));
   raw_video (:, :, :, k) = img;
   writeVideo (w, img);
 endfor
 close (w)
 ## read video and compare
 clear -x raw_video fn
 r = VideoReader (fn);
 for k=1:size (raw_video, 4)
   img = readFrame (r);
   d = double (img) - raw_video(:,:,:,k);
   # FIXME: This write/read roundtrip check doesn't work well due to
compression artifacts
   #        see also bug #58451 (https://savannah.gnu.org/bugs/?58451)
   #        what would be a better way?
   rel_err = sum (abs(d(:)))/numel(d)/255;
   warn_thres = 0.025;
   if (rel_err > warn_thres)
     warning ("The realtive deviation exceeds the given threshold (%.3f >
%.3f).\n\
     Please inspect '%s' manually. You should see a horizontal rainbow running
from left to right.", rel_err, warn_thres, fn);
   endif
   assert (rel_err < 2 * warn_thres)
 endfor
 close (r);
[swscaler @ 0x100115a7840] ALTIVEC: Color Space BGR24
warning: The realtive deviation exceeds the given threshold (0.148 > 0.025).
     Please inspect '/tmp/rainbow.mp4' manually. You should see a horizontal
rainbow running from left to right.
warning: called from
    __test__ at line 29 column 6
    test at line 682 column 11
    /tmp/tmp.U4KNDwlVn4 at line 14 column 31

!!!!! test failed
assert (rel_err < 2 * warn_thres) failed
1 test, 0 passed, 0 known failure, 0 skipped




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64452>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]