VideoHelp Forum




+ Reply to Thread
Results 1 to 16 of 16
  1. SIF Video Codec project was started about 20 years ago as a pure new video compression approach based on human visual cortex model (now known as Feynman Machine). As the results SIF Codec has adaptive bitrate management and in-frame parallelization natively embedded into the core of compression technology.
    We are glad to share its latest version for a community here. You can find a follow set of files:
    - Direct Show Decoder and VFW Encoder for Windows
    - Console Utilities and Libraries for Windows (documentation is included)
    - Console Utilities and Libraries for Linux (documentation is included)
    here: https://sifcodec.com/downloads

    You may use dynamic libraries to embed SIF compression technology into your projects based on non-commercial research license from SIF Codec LLC. SIF Codec architecture is fully independent from any third-party IP rights, including patents and copyrights.

    SIF Codec has its own:
    - patented texture coding technology
    - patented entropy engine (more effective than CABAC)
    - original and optimized technology of movement compensation
    SIF Codec does not use:
    - any loop filtering technologies and have better texture details because of it
    - predictors and merge for movement vectors coding

    Planned further improvements:
    - B-frames implementation (right now SIF Codec works in zero latency mode only)
    - Further optimization from pure C and SSE to more advanced structures
    - Encoder and decoder GPU implementation. Parallelization.

    Some technical details:

    The main encoding mode of the SIF Codec is the coding with a fix level of visual quality. It is CRF mode analogue, but implemented by new independent methods.

    Quality level key: --viz_dist=<arg>
    Its values:
    0 - loseless mode
    <30 - “almost loseless” mode
    40 - high level of quality
    <70 - acceptable level of quality.

    Console encoder (both Win and Linux) input formats: raw file (with or without title).
    Windows console encoder can also process AviSynth scripts, including 10 bits and 16 bits input formats. Console encoders can save compressed data to AVI container or in RAW format.
    Quote Quote  
  2. Originally Posted by BlackQ View Post
    - Console Utilities and Libraries for Linux (documentation is included)
    ... except research license so far in Russian only
    Quote Quote  
  3. Does the command line encoder support y4m/raw pipe input? (Like ffmpeg, avs2yuv, vspipe would create)

    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  4. Originally Posted by _Al_ View Post
    Originally Posted by BlackQ View Post
    - Console Utilities and Libraries for Linux (documentation is included)
    ... except research license so far in Russian only
    This one https://img1.wsimg.com/blobby/go/6274786d-c188-4dc9-ad5f-b13edd414e11/downloads/SIF%20...1615444239963?
    Quote Quote  
  5. sorry, I meant everything is in Russian except that license txt,
    sure there are command lines and formulas using Latin characters, but all comments are in Russian, .... , but anyway, no pressure
    Quote Quote  
  6. Originally Posted by _Al_ View Post
    sorry, I meant everything is in Russian except that license txt,
    sure there are command lines and formulas using Latin characters, but all comments are in Russian, .... , but anyway, no pressure
    Got it! Thank you for your comment - really appreciate it. I think, it was incorrect archive compilation, but give me a few hours to check it and correct.
    Quote Quote  
  7. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    Originally Posted by Selur View Post
    Does the command line encoder support y4m/raw pipe input? (Like ffmpeg, avs2yuv, vspipe would create)
    I would guess that "raw file (with title)" may mean Y4M...
    Quote Quote  
  8. I would guess that "raw file (with title)" may mean Y4M...
    Probably, but the question is whether those are also supported via a pipe and not just as input files. (the ConsoleEncPar.txt only mention:
    Code:
    src_filename - .yuv, .y4m, .avs
    
    Поддерживаются AVS скрипты с выходным цветовыми пространствами YV12, P010, 420p10, 420p16. 
    Обычные AVI файлы не поддерживаются.
    Также поддерживаются y4m файлы и рав файлы в форматах YV12, I420, 420p10, 420p16
    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  9. Yes, it .y4m

    We have translated part of the documentation
    Tomorrow we will translated everything

    Sif1_Enc.exe src_filename <options> -o dst_filename

    src_filename - .yuv, .y4m, .avs

    We support AVS scripts with output color spaces YV12, P010, 420p10, 420p16.
    We don't support regular AVI files
    We also support y4m files and raw files YV12, I420, 420p10, 420p16

    dst_filename - .avi, raw
    We support recording to avi container and pure RAW stream recording
    //.mkv - we plan to support this container in the future

    We record all files without .avi extension as RAW stream by default

    -o <arg>, --output=<arg> Output filename

    -p <arg>,--preset=<arg> // One present only for now
    def

    -w <arg>, --width=<arg> Frame width
    -h <arg>, --height=<arg> Frame height
    --input_res=<arg> (Frame width)x(Frame height)
    --fps=<arg> Stream frame rate (rate/scale)
    -t <arg>, --threads=<arg> Max number of threads to use: 0- auto, max - 32
    --yv12 Input file is YV12
    --i420 Input file is I420 (default)
    --i420p10 Input file is 10 bit I420
    --i420p16 Input file is 16 bit I420

    --avi_outp Output stream written in AVI container

    --raw_outp RAW output stream

    --bit-depth=<arg> Bit depth for codec
    8 //(default)
    10
    12

    -c <arg> --comp_mode=<arg> // encoding mode
    qv_b //(default) Quality based one pass encoding mode
    vbr_1_p // First pass of two passes mode
    vbr_2_p // Second pass of two passes mode
    vbr_all_p // Two passes of two passes mode
    vbr_all_3_p // Three passes of high accuracy mode
    abr // Limited bitrate mode ABR
    cbr // Fixed bitrate mode CBR
    --viz_dist=<arg> // quality levle for corresponding modes 0 - 150 or more. default=40
    --out_bitrt=<arg> // target bitrate in kilobits. 1-10000 or higher. default=500

    --first_pass_mode=<arg> // Mode of speed of the first pass
    slow // First pass with setting for second one
    medium // First pass with fast settings
    fast // (default) - First pass with fast settings and half image size

    --vbr_stat_f=<arg> // Path to statistics file - y default .\sif_stat.sta
    --rc_buf_s=<arg> // Bitrate control buffer size in seconds. default=8
    --keyint=<arg> // Interval between reference frames. By default 300. Inter frame psychovisual optimization off - 0.
    --entropy_mode=<arg> // Entropy encoder mode.
    auto // (default) - Automatic recognition
    1_threads // Max 1 thread
    2_threads // Max 2 threeads
    4_threads // Max 4 threads
    8_threads // Max 8 threads

    --me_mode=<arg> // Main movement detector mode
    ultrafast
    faster
    fast
    standard (default)
    slow - unrealised
    slower - unrealised

    --sub_me_mode=<arg> // Movement vector search and tuning engine mode
    fastest
    fast (default)
    medium - unrealised
    slow - unrealised

    --no_q_pel // Turn off 1/4 pixel compensation. On by default
    --no_chroma_me // Turn off color information usage for movement searching
    --no_ref_modul // Turn off modulation of quantization for reference frames

    --ref_num=<arg> // Number of reference frames. Default = 5.


    --sif_tr_mode=<arg> // SIF transformation engine mode
    fast
    medium (default)
    slow - unrealised

    --color_scaling=<arg> // Color compression default=32
    --quantizaton_scaling=<arg> // Quantization compression default=64
    --limit=<arg> // Stop encoding after n input frames

    --collor_space=<arg> // Setup color space type for encoding video
    BT_601
    BT_709 (default)
    SMPTE_170
    SMPTE_240
    BT_2020

    --video_transfer_function=<arg> // Setup a brightness transmission curve type
    BT_709
    22_240M
    BT_2020_const
    BT_2020
    BT_2084
    HLG

    --video_primaries=<arg> // Setup color space type for an original file
    BT_709
    BT_470_2_SysM
    BT_470_2_SysBG
    BT_2020

    --nominal_range=<arg> // Setup brightness values range
    Full
    Limited

    --interlaced=<arg> // Interlace video compression mode (only 420 - 8 bytes input format is supported now)
    progressive
    upper_field_first // PAL
    lower_field_first // NTSC
    Quote Quote  
  10. so, no pipe support?
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  11. It must be support stdin input and stdout output with "-" instead of a file name, but it was never tested
    Quote Quote  
  12. Code:
    ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -an -sn -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - | "E:\SIF1_2_03_Win_tools_lib\ConsoleEnc.exe" - --avi_outp "E:\Output\sif.avi"
    doesn't work
    Code:
    ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\test.avi" -an -sn -pix_fmt yuv420p -vsync 0 -f yuv4mpegpipe - | "E:\SIF1_2_03_Win_tools_lib\ConsoleEnc.exe" - -o "E:\Output\sif.avi"
    does create a file.
    So: pipe input does work (nice), '--avi_outp' does not.

    Code:
    e:\SIF1_2_03_Win_tools_lib\ConsoleDec.exe e:\Output\sif.avi -o e:\Output\yuv.y4m
    does not crash.
    using:
    Code:
    ffplay.exe e:\Output\yuv.y4m
    only produces a garbled output,..

    -> seems like I'm doing something wrong (attached the sif.avi and the input test.avi)


    Cu Selur
    Image Attached Files
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  13. "E:\SIF1_2_03_Win_tools_lib\ConsoleEnc.exe" - --avi_outp "E:\Output\sif.avi"

    It skipped -o key

    correct

    "E:\SIF1_2_03_Win_tools_lib\ConsoleEnc.exe" - --avi_outp -o "E:\Output\sif.avi"

    key --avi_outp only forces the container type, but does not specify the output file

    And stdout work only in RAW output because avi is not an stream container

    it only possible work in RAW mode

    "E:\SIF1_2_03_Win_tools_lib\ConsoleEnc.exe" - --raw_outp -o "-"

    End only raw input if "-" select

    Correct string

    "E:\SIF1_2_03_Win_tools_lib\ConsoleEnc.exe" - --input_res=640x352 --fps=25/1 -o "E:\Output\sif.avi"

    Y4M header detection does not work in stdinput mode. This will be fixed.
    Quote Quote  
  14. Fixed. It now always checks the Y4M signature.

    check can be disabled by key --raw_inp
    Image Attached Files
    Quote Quote  
  15. Thanks, encoding from y4m pipe and decoding to y4m seems to work now.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  16. New version available

    https://sifcodec.com/downloads

    Complete translation of all documentation
    And

    ConsoleEnc : Support read y4m data from stdin

    ConsoleDec :Support write y4m data to stdout
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!