В сообщении от Wednesday 04 September 2019 16:25:04 Phyllis Smith написал(а):
> Olivier:
> 
> 
> > So I did. I backported nasm 2.14.02 and tried to build cin from there.
> > It's working for the 64 bits build, but not for the 32 bits build.
> > The error is :
> >
> > ... zip ...
> >
> > [ 98%] Building CXX object
> > CMakeFiles/test_aom_encoder.dir/test/reconinter_test.cc.o
> > mv -f .deps/ImfDeepImageStateAttribute.Tpo
> > .=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.
> > -I../config
> > -I/build/cin-5.1+20190831/thirdparty/../thirdparty/ilmbase-2.2.1/usr/include/OpenEXR
> >
> > -
> >
> > ... zip ...
> >
> > If that rings a bell, please let me know.
> >
> > For your information, I've disabled the dav1d option for the 32 bits
> > build for now.
> >
> > Yes, correct permanent solution.  Some of the assembler instructions that
> libdav1d uses are not available for 32-bit.  GG says he will put in a check
> for that (someday!).

Strange, I tought I had dav1d 0.4.0 build as part of Cinelerra-GG, but 
apparently build was 
picking up older 0.3.1 I installed via slackbuild!

Recompiling libdav1d 0.4.0 on 32-bit slackware still worked, at least Mplayer + 
my patch played
webm stream:

mplayer /dev/shm/Stream3_AV3_HD_6.3mbps.webm
MPlayer SVN-r38151-5.5.0 (C) 2000-2019 MPlayer Team
224 audio & 465 video codecs

Playing /dev/shm/Stream3_AV3_HD_6.3mbps.webm.
libavformat version 58.32.104 (internal)
libavformat file format detected.
[libdav1d @ 0x57696b60]libdav1d 0.4.0
[libdav1d @ 0x57696b60]Frame size limit reduced from 2147483647 to 67108864.
[lavf] stream 0: video (libdav1d), -vid 0
VIDEO:  [AV01]  1920x1080  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.56.101 (internal)
[libdav1d @ 0x57696b60]libdav1d 0.4.0
[libdav1d @ 0x57696b60]Frame size limit reduced from 2147483647 to 67108864.
Selected video codec: [av1] vfm: ffmpeg (AV1)
==========================================================================
Clip info:
 encoder: libwebm-0.2.1.0
Load subtitles in /dev/shm/
Audio: no sound
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 Planar YV12
V:   0.2   0/  0 ??% ??% ??,?% 0 0
[libdav1d @ 0x57696b60]The deprecated avcodec_decode_* API cannot return all 
the frames for this decoder. Some frames will be dropped. Update your code to 
the new decoding API to fix this.
V:  16.2   0/  0 32% 21%  0.0% 0 0

So libdav1d as compiled by its own meson-based build system works on at least 
some 32-bit x86 CPUs. 
I use Meson because  mesa git (19.3.0) requires it.

Actually libdav1d's Changelog for 0.4.0 says:

Changes for 0.4.0 'Cheetah': 
----------------------------  
- Fix playback with unknown OBUs  
- Add an option to limit the maximum frame size  
- SSE2 and ARM64 optimizations for MSAC  
- Improve speed on 32bits systems <<<<<<<<<<<<<<<<- this
- Optimization in obmc blend  
- Reduce RAM usage significantly  
- The initial PPC SIMD code, cdef_filter  
- NEON optimizations for blend functions on ARM  
- NEON optimizations for w_mask functions on ARM  
- NEON optimizations for inverse transforms on ARM64  
- Improve handling of malloc failures  
- Simple Player example in tools

https://code.videolan.org/videolan/dav1d/blob/master/NEWS

Just in case you want mplayer patch I attach it 
(added to MPlayer's own tarcker too, but can't recall exact issue #)

What IS not working on 32-bit - https://github.com/OpenVisualCloud/SVT-AV1

I only tried 0.5.0 on 64-bit Slackware....

They have 0.6.0 already:


[0.6.0] - 2019-06-28

    Inital decoder implementation
    Static library support
    Alt-ref pictures - temporal filtering
    Adaptive Transform Block for INTRA
    Adaptive QP scaling
    Decoder - Support for Tiles and 10bit
    API - add option to calculate / report PSNR values
    Support for segmentation
    SIMD Optimizations
    Downsampling 2x2 filtering
    Handle incomplete SBs
    MACROS / trailing / tabs-spaces cleanup

http://ffmpeg.org/pipermail/ffmpeg-devel/2019-July/246488.html
[FFmpeg-devel] [PATCH] lavc: Add libsvt-av1 encoder wrapper

It was not yet merged, as far as I can see ....

THIS one mostly likely will be 64-bit ONLY, because Intel not very interested 
in 32-bit mode even on new(ish) CPUs, it seems .... ?
But who knows, may be after 1.0.0 someone will fix it up .....

> 


Index: configure
===================================================================
--- configure	(revision 38140)
+++ configure	(working copy)
@@ -797,6 +797,7 @@
 _joystick=no
 crystalhd=auto
 _xvid=auto
+_libdav1d=auto
 _xvid_lavc=auto
 _x264=auto
 _x264_lavc=auto
@@ -1249,6 +1250,8 @@
   --disable-xvid)       _xvid=no        ;;
   --enable-xvid-lavc)   _xvid_lavc=yes  ;;
   --disable-xvid-lavc)  _xvid_lavc=no   ;;
+  --enable-libdav1d)   _libdav1d=yes  ;;
+  --disable-libdav1d)  _libdav1d=no   ;;
   --enable-x264)        _x264=yes       ;;
   --disable-x264)       _x264=no        ;;
   --enable-x264-lavc)   _x264_lavc=yes  ;;
@@ -7405,6 +7408,25 @@
 fi
 echores "$_xvid"
 
+echocheck "libdav1d"
+if test "$_libdav1d" = auto && test "$ffmpeg_a" = yes ; then
+  _libdav1d=no
+  header_check dav1d/dav1d.h -ldav1d $ld_dl $ld_pthread && _libdav1d=yes
+fi
+
+if test "$_libdav1d" = yes && test "$ffmpeg_a" = yes; then
+  def_libdav1d='#define CONFIG_LIBDAV1D 1'
+  libavdecoders="$libavdecoders LIBDAV1D_DECODER"
+  extra_ldflags="$extra_ldflags -ldav1d"
+else
+  def_libdav1d='#undef CONFIG_LIBDAV1D'
+  #nocodecmodules="libdav1d $nocodecmodules"
+fi
+echores "$_libdav1d"
+
+
+
+
 echocheck "Xvid two pass plugin"
 if test "$_mencoder" = yes && test "$_xvid" = yes && test "$_xvid_lavc" = auto ; then
   statement_check xvid.h 'xvid_plugin_2pass2_t s; s.vbv_size = 0' && _xvid_lavc=yes
Index: etc/codecs.conf
===================================================================
--- etc/codecs.conf	(revision 38140)
+++ etc/codecs.conf	(working copy)
@@ -8,6 +8,14 @@
 ;=============================================================================
 ;                   VIDEO CODECS
 ;=============================================================================
+videocodec av1
+  info "AV1"
+  status working
+  driver ffmpeg
+  dll libdav1d
+  format 0x31305641
+  format 0x31307661
+  out YV12
 
 videocodec ffiff
   info "FFmpeg IFF ANIM/ILBM/PBM/RGB8/RGBN"
-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to