This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Is SVT-AV1 encoder implementation a planned feature?
#1
If not, if there a limitation that would prevent it from being added?
Reply
#2
Yes it is planned.
Waiting for builds which support pipe input, since I'm not planning to support it while humongous temporary files are needed.
+ https://github.com/jb-alvarado/media-autobuild_suite/ doesn't support it atm. and there are some issues compiling it.


Cu Selur
Reply
#3
(02.04.2019, 05:39)Selur Wrote: Yes it is planned.
Waiting for builds which support pipe input, since I'm not planning to support it while humongous temporary files are needed.
+ https://github.com/jb-alvarado/media-autobuild_suite/ doesn't support it atm. and there are some issues compiling it.


Cu Selur

https://github.com/m-ab-s/media-autobuild_suite

already appeared on the list svt av1

looking forward to update
Reply
#4
Yes, I noticed that a few days ago, it's on my todo list, but I'm too busy atm. fixing bugs.
So once I fix the currently reported problems I'll try to look at it.

Cu Selur
Reply
#5
Had a quick look at the options:
-------------------------------------------
SVT-AV1 Encoder

Usage: SvtAv1EncApp.exe <options> -b dst_filename -i src_filename

Options:                
             --help                        Show usage options and exit
    -i       --input                      Input filename          
    -b       --output                     Output filename          
             --errlog                      Error filename          
    -o       --recon                      Recon filename          
             --stat-file                   Stat filename            

Encoder Global Options:  
    -w       --width                      Frame width              
    -h       --height                     Frame height            
    -n       --frames                     Stop encoding after n input frames
             --nb                          Buffer n input frames    
             --color-format                Set encoder color format(EB_YUV400, EB_YUV420, EB_YUV422, EB_YUV444)
             --profile                     Bitstream profile number to use(0: main profile[default], 1: high profile, 2: professional profile)
             --fps                         Stream frame rate (rate/scale)
             --fps-num                     Stream frame rate numerator
             --fps-denom                   Stream frame rate denominator
             --input-depth                Bit depth for codec(8 or 10)
             --16bit-pipeline              Bit depth for enc-dec(0: lbd[default], 1: hbd)
             --hierarchical-levels         Set hierarchical levels(3 or 4[default])
             --pred-struct                 Set prediction structure( 0: low delay P, 1: low delay B, 2: random access [default])
             --enable-hdr                 Enable high dynamic range(0: OFF[default], ON: 1)
             --asm                         Assembly instruction set (0: Automatically select lowest assembly instruction set supported, 1: Automatically select highest assembly instruction set supported)
             --lp                          number of logical processors to be used
             --unpin-lp1                   allows the execution of multiple encodes on the CPU without having to pin them to a specific mask( 0: OFF ,1: ON[default])
             --ss                          Specify  which socket the encoder runs on

Rate Control Options:    
             --rc                          Rate control mode(0 = CQP , 1 = VBR , 2 = CVBR)
             --tbr                         Target Bitrate (kbps)    
             --use-q-file                  Overwrite QP assignment using qp values in QP file
             --qpfile                     Path to Qp file          
             --max-qp                      Maximum (worst) quantizer[0-63]
             --min-qp                      Minimum (best) quantizer[0-63]
             --adaptive-quantization       Set adaptive QP level(0: OFF ,1: variance base using segments ,2: Deltaq pred efficiency)
             --vbv-bufsize                 VBV buffer size          

Twopass Options:        
             --output-stat-file            First pass stat file output
             --input-stat-file             Input the first pass output to the second pass
             --enc-mode-2p                 Use Hme/Me settings of the second pass'encoder mode in the first pass

Keyframe Placement Options:
             --keyint                     Intra period interval(frames) (-2: No intra update, -1: default intra period or [0-255])
             --irefresh-type               Intra refresh type (1: CRA (Open GOP)2: IDR (Closed GOP))

AV1 Specific Options:    
             --preset                     Encoder mode/Preset used[0-8]
             --compressed-ten-bit-format    Offline packing of the 2bits: requires two bits packed input (0: OFF[default], 1: ON)
             --tile-rows                   Number of tile rows to use, log2[0-6]
             --tile-columns                Number of tile columns to use, log2[0-6]
    -q       --qp                         Constant/Constrained Quality level
             --lookahead                  When RC is ON , it is best to set this parameter to be equal to the intra period value
             --disable-dlf                Disable loop filter(0: loop filter enabled[default] ,1: loop filter disabled)
             --cdef-mode                   CDEF Mode, 0: OFF, 1-5: ON with 2,4,8,16,64 step refinement, -1: DEFAULT
             --enable-restoration-filtering    Enable the loop restoration filter(0: OFF ,1: ON ,-1:DEFAULT)
             --sg-filter-mode              Self-guided filter mode (0:OFF, 1: step 0, 2: step 1, 3: step 4, 4: step 16, -1: DEFAULT)
             --wn-filter-mode              Wiener filter mode (0:OFF, 1: 3-Tap luma/ 3-Tap chroma, 2: 5-Tap luma/ 5-Tap chroma, 3: 7-Tap luma/ 7-Tap chroma, -1: DEFAULT)
             --enable-mfmv                Enable motion field motion vector( 0: OFF, 1: ON, -1: DEFAULT)
             --enable-redundant-blk       Use the same md results(mode, residual , cost,etc..)as the previously processed identical block(0: OFF, 1: ON, -1: DEFAULT)
             --enable-spatial-sse-fl      Enable spatial sse full loop(0: OFF, 1: ON, -1: DEFAULT)
             --subpel                      Enable subpel(0: OFF, 1: ON, -1: DEFAULT)
             --enable-over-bndry-blk      Enable over boundary block mode (0: OFF, 1: ON, -1: DEFAULT)
             --enable-new-nrst-near-comb    Enable new nearest near comb injection (0: OFF, 1: ON, -1: DEFAULT)
             --enable-prune-unipred-me    Enable prune unipred at me (0: OFF, 1: ON, -1: DEFAULT)
             --enable-prune-ref-rec-part    Enable prune ref frame for rec partitions (0: OFF, 1: ON, -1: DEFAULT)
             --enable-nsq-table-use       Enable nsq table (0: OFF, 1: ON, -1: DEFAULT)
             --enable-framend-cdf-upd-mode    Enable frame end cdf update mode (0: OFF, 1: ON, -1: DEFAULT)
             --chroma-mode                 Select chroma mode([0-3], -1: DEFAULT)
             --disable-cfl                Disable chroma from luma (CFL) flag (0: OFF (do not disable), 1: ON (disable), -1: DEFAULT)
             --enable-local-warp          Enable warped motion use , 0 = OFF, 1 = ON, -1 = DEFAULT
             --enable-global-motion       Enable global motion (0: OFF, 1: ON [default])
             --enable-class-12            Enable combine MD Class1&2 (0: OFF, 1: ON, -1: DEFAULT)
             --enable-intra-edge-skp      Enable intra edge filtering (0: OFF, 1: ON (default))
             --intra-angle-delta           Enable intra angle delta filtering filtering (0: OFF, 1: ON, -1: DEFAULT)
             --enable-interintra-comp     Enable interintra compound (0: OFF, 1: ON (default))
             --enable-paeth               Enable paeth (0: OFF, 1: ON, -1: DEFAULT)
             --enable-smooth              Enable smooth (0: OFF, 1: ON, -1: DEFAULT)
             --obmc                        Enable OBMC(0: OFF, 1: ON[default])
             --enable-rdoq                Enable RDOQ (0: OFF, 1: ON, -1: DEFAULT)
             --enable-filter-intra        Enable filter intra prediction mode (0: OFF, 1: ON [default])
             --enable-intra-edge-filter    Enable intra edge filter (0: OFF, 1: ON, -1: DEFAULT)
             --pic-based-rate-est          Enable picture based rate estimation (0: OFF, 1: ON, -1: DEFAULT)
             --pred-me                     Set predictive motion estimation level(-1: default, [0-5])
             --bipred-3x3                  Set bipred3x3 injection (0: OFF, 1: ON FULL, 2: Reduced set, -1: DEFAULT)
             --compound                    Enable compound mode(0: OFF, 1:ON[AVG/DIST/DIFF], 2: ON[AVG/DIST/DIFF/WEDGE], -1: default)
             --use-default-me-hme          Use default motion estimation/hierarchical motion estimation settings(0: OFF, 1: ON[default])
             --hme                         Enable hierarchical motion estimation(0: OFF, 1: ON)
             --hme-l0                      Enable hierarchical motion estimation Level 0 (0: OFF, 1: ON)
             --hme-l1                      Enable hierarchical motion estimation Level 1 (0: OFF, 1: ON)
             --hme-l2                      Enable hierarchical motion estimation Level 2 (0: OFF, 1: ON)
             --ext-block                   Enable the rectangular and asymetric block (0: OFF, 1: ON)
             --search-w                    Set search area in width[1-256]
             --search-h                    Set search area in height[1-256]
             --num-hme-w                   Set hierarchical motion estimation search region in Width
             --num-hme-h                   Set hierarchical motion estimation search region in height
             --hme-tot-l0-w                Set hierarchical motion estimation level0 total search area in Width
             --hme-tot-l0-h                Set hierarchical motion estimation level0 total search area in height
             --scm                         Set screen content detection level([0-2], 2: DEFAULT)
             --intrabc-mode                Set intraBC mode (0: OFF, 1: ON slow, 2: ON faster, 3: ON fastest, -1: DEFAULT)
             --hbd-md                      Enable high bit depth mode decision(0: OFF, 1: ON partially[default],2: fully ON)
             --palette                     Set palette prediction mode(-1: default or [0-6])
             --umv                         Allow motion vectors to reach outside of the picture boundary(O: OFF, 1: ON[default])
             --inj                         Inject pictures at defined frame rate(0: OFF[default],1: ON)
             --inj-frm-rt                  Set injector frame rate  
             --speed-ctrl                  Enable speed control(0: OFF[default], 1: ON)
             --film-grain                  Enable film grain(0: OFF[default], 1-50: ON, film-grain denoising strength)
             --hme-l0-w                    Set hierarchical motion estimation level0 search area in Width
             --hme-l0-h                    Set hierarchical motion estimation level0 search area in height
             --hme-l1-w                    Set hierarchical motion estimation level1 search area in Width
             --hme-l1-h                    Set hierarchical motion estimation level1 search area in height
             --hme-l2-w                    Set hierarchical motion estimation level2 search area in Width
             --hme-l2-h                    Set hierarchical motion estimation level2 search area in height
             --enable-altrefs              Enable automatic alt reference frames(0: OFF, 1: ON[default])
             --altref-strength             AltRef filter strength([0-6], default: 5)
             --altref-nframes              AltRef max frames([0-10], default: 7)
             --enable-overlays             Enable the insertion of an extra picture called overlayer picture which will be used as an extra reference frame for the base-layer picture(0: OFF[default], 1: ON)
             --sqw                         Determines if HA, HB, VA, VB, H4 and V4 shapes could be skipped based on the cost of SQ, H and V shapes([75-100], default: 100)
             --mds-1-class-th              Set MD Stage 1 prune class threshold[5-200]
             --mds-1-cand-th               Set MD Stage 1 prune candidate threshold[5,150]
             --mds-2-3-class-th            Set MD Stage 2/3 prune class threshold[5,100]
             --mds-2-3-cand-th             Set MD Stage 2/3 prune candidate threshold[5,50]
             --enable-stat-report         Stat Report              
             --enable-intra-angle-delta    CDEF Mode, 0: OFF, 1-5: ON with 2,4,8,16,64 step refinement, -1: DEFAULT
source: SvtAv1EncApp.exe -help
+
https://github.com/OpenVisualCloud/SVT-A...r_guide.md

=> this will take quite a while, especially since there are LOTS of options.

Cu Selur
Reply
#6
btw. if you want to help, I'm looking for a few sub categories to split the 'AV1 Specific Options' into.
-> so if you (or anyone lese) knows enough about AV1 to sort them into sub categories (like MotionEstimation, RateControl, Partitioning or similar let me know)

Cu Selur
Reply
#7
Btw. I just added SVT-AV1 support to my dev version with tons of parameters I'm not sure of what they do exactly.
So the general tool-tips will probably not really help much and I'm not sure I categorized each of the ~100 options correctly.

https://github.com/OpenVisualCloud/SVT-A...r_guide.md
and
https://github.com/OpenVisualCloud/SVT-A.../README.md
are nice, not always in sync with the command line help info, but all in all a great help.

One thing that I noticed is that the encoder is fast, but by default configured for top speed and once you change the presets it gets slow. Tongue

Cu Selur
Reply
#8
(23.04.2020, 20:43)Selur Wrote: btw. if you want to help, I'm looking for a few sub categories to split the 'AV1 Specific Options' into.
-> so if you (or anyone lese) knows enough about AV1 to sort them into sub categories (like MotionEstimation, RateControl, Partitioning or similar let me know)

Cu Selur


I really like svt hevc

and for me enough toolbox of svt hevc

I use your application exclusively for converting video on a separate PC
my settings for converting: constant quantizer, preset 


I've try gui for svt av1, it was horrible(((
Reply
#9
send you a link to my current dev version which supports SVT-AV1, haven't had much time to test Smile

Cu Selur
Reply
#10
(29.04.2020, 15:14)Selur Wrote: send you a link to my current dev version which supports SVT-AV1, haven't had much time to test Smile

Cu Selur
works good,

But  progress bar does not visible for a long time(

I,ve test 
10sec video 1080p
Const quan 55 
Presset 8
Converting time 2-3min
Laptop MacBook Pro 2014 (i7 4770HQ)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)