Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th July 2016, 16:56   #61  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591

Test hier

Last edited by Jamaika; 12th July 2016 at 17:00.
Jamaika is offline   Reply With Quote
Old 18th July 2016, 10:41   #62  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
another fresh build
https://f001.backblaze.com/file/nwga...95a39-win64.7z
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 18th July 2016, 11:09   #63  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591
The problem with dropframe (CBR). This is a test version so I close my eye.

PS Will there be a link to all versions?

Last edited by Jamaika; 19th July 2016 at 09:22.
Jamaika is offline   Reply With Quote
Old 21st July 2016, 15:08   #64  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591
Interesting article: disadvantages / advantages
vp9 vs av1 vs hevc

A view on VP9 and AV1 part 1: specifications

PS Could gpac interested in the introduction of the codec google to the container mp4?

•There is no such thing as VP9 or AV1 File Format (AVC/HEVC has raw, Annex B, and canonical/MP4). One needs to use the IVF File Format or WebM.
There is no such thing as VP9 or AV1 because it must be given the name of the codec. IVF isn't a container. It is a labor saving by decoder. You can use the MOV container.
Code:
mkvextract.exe tracks vp9/av1.webm 0:output.ivf

Last edited by Jamaika; 11th August 2016 at 06:35.
Jamaika is offline   Reply With Quote
Old 27th July 2016, 05:34   #65  |  Link
Nintendo Maniac 64
Registered User
 
Nintendo Maniac 64's Avatar
 
Join Date: Nov 2009
Location: Northeast Ohio
Posts: 406
There is in fact such a thing as a raw VP9 - that's what YouTube uses, but they still end in a .webm extension. The biggest difference I notice is that some programs just give visual garbage when playing back raw VP9 files yet work perfectly file with a "proper" VP9/WebM video - Avidemux and VLC come to mind.
Nintendo Maniac 64 is offline   Reply With Quote
Old 3rd August 2016, 23:25   #66  |  Link
blurred
Registered User
 
Join Date: Jul 2016
Posts: 14
There is a Wikipedia article:

https://en.wikipedia.org/wiki/AOMedia_Video_1
blurred is offline   Reply With Quote
Old 11th August 2016, 16:35   #67  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
fresh build
https://f001.backblaze.com/file/nwga...46278-win64.7z
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 11th August 2016, 17:33   #68  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591
Anyone can tell me what is aq-mode equator360?

Last edited by Jamaika; 11th August 2016 at 17:36.
Jamaika is offline   Reply With Quote
Old 12th August 2016, 05:52   #69  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
Quote:
Originally Posted by Jamaika View Post
Anyone can tell me what is aq-mode equator360?
something do do with youtube 3d mode? meybe a MVC competitor, dunno

PS: just asked on irc, lets see if i get a answer
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 13th August 2016, 01:29   #70  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,518
Nice simple CLI.

Code:
aomenc --best --end-usage=vbr --target-bitrate=1000 --kf-max-dist=96 --width=1920 --height=1080 -o monkeys_1080p_1000.webm monkeys.yv12
This triggers an automated 2 pass encode.

Wow this is slow . The first pass ran at ~21fps on my 3.4 GHz quad core Skylake. The second pass is doing 18 fpm / .3 fps. No word on quality yet. I've got awhile to go

Threading seems to kind of work, it's getting 50% CPU usage on my box.

I'm willing to bet that the equator360 thing is related to equirectangular panoramas, which are used to deliver 360 video. It's an optical projection that lets you smash 360 degrees of video into a standard 2 dimensional frame.

If anyone knows how to optimize this sucker for perceptual quality, please share! I'm guessing turning variance AQ on will be a good idea for visual tests but not for metrics. Is this a useful feature?

Last edited by Blue_MiSfit; 13th August 2016 at 01:32.
Blue_MiSfit is offline   Reply With Quote
Old 13th August 2016, 01:30   #71  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,518
For the lazy, here's the CLI reference:

Code:
Usage: aomenc <options> -o dst_filename src_filename

Options:
  -D,       --debug                     Debug mode (makes output deterministic)
  -o <arg>, --output=<arg>              Output filename
            --codec=<arg>               Codec to use
  -p <arg>, --passes=<arg>              Number of passes (1/2)
            --pass=<arg>                Pass to execute (1/2)
            --fpf=<arg>                 First pass statistics file name
            --limit=<arg>               Stop encoding after n input frames
            --skip=<arg>                Skip the first n input frames
  -d <arg>, --deadline=<arg>            Deadline per frame (usec)
            --best                      Use Best Quality Deadline
            --good                      Use Good Quality Deadline
            --rt                        Use Realtime Quality Deadline
  -q,       --quiet                     Do not print encode progress
  -v,       --verbose                   Show encoder parameters
            --psnr                      Show PSNR in status line
            --webm                      Output WebM (default when WebM IO is enabled)
            --ivf                       Output IVF
  -P,       --output-partitions         Makes encoder output partitions. Requires IVF output!
            --q-hist=<arg>              Show quantizer histogram (n-buckets)
            --rate-hist=<arg>           Show rate histogram (n-buckets)
            --disable-warnings          Disable warnings about potentially incorrect encode settings.
  -y,       --disable-warning-prompt    Display warnings, but do not prompt user to continue.
            --test-decode=<arg>         Test encode/decode mismatch
                                          off, fatal, warn

Encoder Global Options:
            --yv12                      Input file is YV12
            --i420                      Input file is I420 (default)
            --i422                      Input file is I422
            --i444                      Input file is I444
            --i440                      Input file is I440
  -u <arg>, --usage=<arg>               Usage profile number to use
  -t <arg>, --threads=<arg>             Max number of threads to use
            --profile=<arg>             Bitstream profile number to use
  -w <arg>, --width=<arg>               Frame width
  -h <arg>, --height=<arg>              Frame height
            --stereo-mode=<arg>         Stereo 3D video format
                                          mono, left-right, bottom-top, top-bottom, right-left
            --timebase=<arg>            Output timestamp precision (fractional seconds)
            --fps=<arg>                 Stream frame rate (rate/scale)
            --error-resilient=<arg>     Enable error resiliency features
            --lag-in-frames=<arg>       Max number of frames to lag

Rate Control Options:
            --drop-frame=<arg>          Temporal resampling threshold (buf %)
            --resize-allowed=<arg>      Spatial resampling enabled (bool)
            --resize-width=<arg>        Width of encoded frame
            --resize-height=<arg>       Height of encoded frame
            --resize-up=<arg>           Upscale threshold (buf %)
            --resize-down=<arg>         Downscale threshold (buf %)
            --end-usage=<arg>           Rate control mode
                                          vbr, cbr, cq, q
            --target-bitrate=<arg>      Bitrate (kbps)
            --min-q=<arg>               Minimum (best) quantizer
            --max-q=<arg>               Maximum (worst) quantizer
            --undershoot-pct=<arg>      Datarate undershoot (min) target (%)
            --overshoot-pct=<arg>       Datarate overshoot (max) target (%)
            --buf-sz=<arg>              Client buffer size (ms)
            --buf-initial-sz=<arg>      Client initial buffer size (ms)
            --buf-optimal-sz=<arg>      Client optimal buffer size (ms)

Twopass Rate Control Options:
            --bias-pct=<arg>            CBR/VBR bias (0=CBR, 100=VBR)
            --minsection-pct=<arg>      GOP min bitrate (% of target)
            --maxsection-pct=<arg>      GOP max bitrate (% of target)

Keyframe Placement Options:
            --kf-min-dist=<arg>         Minimum keyframe interval (frames)
            --kf-max-dist=<arg>         Maximum keyframe interval (frames)
            --disable-kf                Disable keyframe placement

AV1 Specific Options:
            --cpu-used=<arg>            CPU Used (-8..8)
            --auto-alt-ref=<arg>        Enable automatic alt reference frames
            --sharpness=<arg>           Loop filter sharpness (0..7)
            --static-thresh=<arg>       Motion detection threshold
            --tile-columns=<arg>        Number of tile columns to use, log2
            --tile-rows=<arg>           Number of tile rows to use, log2
            --arnr-maxframes=<arg>      AltRef max frames (0..15)
            --arnr-strength=<arg>       AltRef filter strength (0..6)
            --arnr-type=<arg>           AltRef type
            --tune=<arg>                Material to favor
                                          psnr, ssim
            --cq-level=<arg>            Constant/Constrained Quality level
            --max-intra-rate=<arg>      Max I-frame bitrate (pct)
            --max-inter-rate=<arg>      Max P-frame bitrate (pct)
            --gf-cbr-boost=<arg>        Boost for Golden Frame in CBR mode (pct)
            --lossless=<arg>            Lossless mode (0: false (default), 1: true)
            --frame-parallel=<arg>      Enable frame parallel decodability features (0: false (default), 1: true)
            --aq-mode=<arg>             Adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3: cyclic refresh, 4: equator360)
            --frame-boost=<arg>         Enable frame periodic boost (0: off (default), 1: on)
            --noise-sensitivity=<arg>   Noise sensitivity (frames to blur)
            --tune-content=<arg>        Tune content type
                                          default, screen
            --color-space=<arg>         The color space of input content:
                                          unknown, bt601, bt709, smpte170, smpte240, bt2020, reserved, sRGB
            --min-gf-interval=<arg>     min gf/arf frame interval (default 0, indicating in-built behavior)
            --max-gf-interval=<arg>     max gf/arf frame interval (default 0, indicating in-built behavior)

Stream timebase (--timebase):
  The desired precision of timestamps in the output, expressed
  in fractional seconds. Default is 1/1000.

Included encoders:

    av1    - AOMedia Project AV1 Encoder v0.1.0 (default)

        Use --codec to switch to a non-default encoder.
Blue_MiSfit is offline   Reply With Quote
Old 13th August 2016, 08:00   #72  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591
Quote:
Originally Posted by Blue_MiSfit View Post
If anyone knows how to optimize this sucker for perceptual quality, please share! I'm guessing turning variance AQ on will be a good idea for visual tests but not for metrics. Is this a useful feature?
Well colleague worked hard.
Firstly, it isn't known how long the source you applied. If this is the first 100 frames that each test is preposterous. Too much distortion bitrate.
You have not entered the framerate. I guess after the GOP, it was 48fps or 24fps.
You mentioned about changing the functions aqmode to variance. All beautifully, it is to improve because bitrate does not make the setpoint and is 1.5 times greater.
I am an advocate for the conversion of vbr to cbr and boost 300. Otherwise they are too sharp edges.
The most important. How to excite, as there is no player.

Last edited by Jamaika; 13th August 2016 at 08:05.
Jamaika is offline   Reply With Quote
Old 16th August 2016, 03:56   #73  |  Link
Motenai Yoda
Registered User
 
Motenai Yoda's Avatar
 
Join Date: Jan 2010
Posts: 701
@Blue_MiSfit IIRC the devs suggest to use good and cpu-used 1 as it give roughtly the same quality as best (at least on vp9/10)
also on vp9 using aq degrade quality a bit (maybe overweighted?)

maybe auto-alt-ref and lag-in-frames will help.
__________________
powered by Google Translator
Motenai Yoda is offline   Reply With Quote
Old 17th August 2016, 06:48   #74  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
another build
av1-git-d847070-win64.7z

__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 17th August 2016, 10:20   #75  |  Link
easyfab
Registered User
 
Join Date: Jan 2002
Posts: 327
I didn't test recently, but I don't see alot of new things to test according to the commits, I hope until the release of AV1 ( december 2016 to march 2017 ) there will be some .

@wiak is your build with default settings or did you include some experimental settings ? the list (https://aomedia.googlesource.com/aom.../configure#248)
easyfab is offline   Reply With Quote
Old 17th August 2016, 19:45   #76  |  Link
wiak
Registered User
 
Join Date: Jul 2003
Location: somewhere north
Posts: 260
Quote:
Originally Posted by easyfab View Post
I didn't test recently, but I don't see alot of new things to test according to the commits, I hope until the release of AV1 ( december 2016 to march 2017 ) there will be some .

@wiak is your build with default settings or did you include some experimental settings ? the list (https://aomedia.googlesource.com/aom.../configure#248)
default compile settings i just run ./configure
__________________
Woah! Ninja?! http://nwgat.ninja/ (AV1 Overview)
"Not available in your region" has now been redefined as "Go Pirate, you filthy scum" Nwgat
wiak is offline   Reply With Quote
Old 18th August 2016, 09:19   #77  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591
Codec AV1-git-d847070 is still underdeveloped. Problems or inconsistencies resulting from the explanation of some functions.

The problem of different bitrates.
aomenc.exe -v --threads=4 --width=1920 --height=1080 --i420 --profile=0 --fps=30000/1001 --best --codec=av1 --cpu-used=0 --passes=2 --pass=2 --fpf=aom.pass --drop-frame=100 --kf-max-dist=60 --target-bitrate=3500 --frame-boost=1 --end-usage=cbr --gf-cbr-boost=300 --max-intra-rate=110 --bias-pct=50 --maxsection-pct=3000 --aq-mode=1 --kf-max-dist=60 --color-space=bt709
or
aomenc.exe -v --threads=4 --width=1920 --height=1080 --i420 --profile=0 --fps=30000/1001 --best --codec=av1 --cpu-used=0 --passes=2 --pass=2 --fpf=aom.pass --drop-frame=100 --kf-max-dist=60 --target-bitrate=0 --cq-level=34 --frame-boost=1 --end-usage=q --bias-pct=50 --gf-cbr-boost=200 --max-inter-rate=130 --maxsection-pct=2000 --aq-mode=1 --kf-max-dist=60 --color-space=bt709

The loss of video quality at the bitrate of 3500kbps, in fact 4000-4300kbps depending on the mode aq-mode.
For mode VBR (default) is a significant drop in compression frame {about 400KB for PNG} in relation to the original. It is synonymous with a decrease in quality. The biggest issue is slightly rough surfaces that lose their roughness and are sharp edges ex. subtitles. For the X265 {veryslow} is the order of 300kb, which is less lost data and has set value bitrate for 2pass.

Overview the functions:
"drop-frame" is correct display frame rates for movies about XX000/1001 fps. Not the task of this function is that the value fps is overvalued and is a little greater, eg. 30.033. In fact, the codec itself should adapt dropframe without the user's knowledge, but it is not. For mode CBR function "drop-frame" is with errors.
"gf-cbr-boost" mode golden frame (P or B). The construction of this frame is mysterious and complex. These frames aren't displayed and retain data for the P-frame depend on the function "auto-alt-ref". The best setting codec when turned off "auto-alt-ref". To try to match the quality of CBR to VBR is to raise bitrate golden frame by 300%. The value of the frame I by 110%. Note: Do not turn on the "frame-boost". This function is only for mode "end-usage=q".
"bias-pct" is a hash of two modes frames VBR and CBR. How not to set the best variant is 50% to 50%. Otherwise, the film is visibly pale.
"color-space" bt2020. It is now fiction. As you know ffmpeg converter converts the bt601 and then to the set. In addition, the codec is 8 bit.
"maxsection-pct" as not to describe it is a dead function. Change the value with 2000% to 3000% doesn't contribute to improving the quality of frames???

Last edited by Jamaika; 18th August 2016 at 15:15.
Jamaika is offline   Reply With Quote
Old 25th August 2016, 15:36   #78  |  Link
06_taro
soy sauce buyer
 
Join Date: Mar 2010
Location: United Kingdom
Posts: 164
Vanilla nightly builds for Win64, with high bit depth enabled. Should be able to output 8 / 10 / 12 bit av1. Encoder consumes too much RAM, so no 32bit build.
http://tmod.nmm-hd.org/aom/

Built daily if there are new commits. Old builds will be removed occasionally.

Also added av1 decoding (8/10/12 bit) for LAVFilters in http://tmod.nmm-hd.org/LAVFilters/ with latest libaom, thanks to Libav patches #61173 and #61174 and VFR-maniac's patch for LAVFilters. Both were somewhat modified and placed in patches folder.

BTW, the encoder seems not stable enough that 4K encoding usually causes crashes on windows, and even 720p 10-bit encoding results in abort trap 6 on OS X. Decoding with LAVFilters seems to be fine now, but further test is still needed.

Last edited by 06_taro; 25th August 2016 at 15:42.
06_taro is offline   Reply With Quote
Old 26th August 2016, 05:56   #79  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 591
Quote:
Originally Posted by 06_taro View Post
Vanilla nightly builds for Win64, with high bit depth enabled. Should be able to output 8 / 10 / 12 bit av1. Encoder consumes too much RAM, so no 32bit build.
I should be here more explanation of how it works new codec AV1.
Code:
--test-16bit-internal       Force use of 16 bit internal buffer
--bit-depth=<arg>           Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
                                          8, 10, 12


What does the function 'test-16bit-internal' and what kind has application? Is it a function input of 16bit RGB? How to create command output colormatrix 16bit sRGB? Is there a mode full range?
I also understand that the bit-depth means the quality of a signal quantization of the processing stage, eg. in the preview.
Quote:
Originally Posted by 06_taro View Post
Also added av1 decoding (8/10/12 bit) for LAVFilters
Great, but the decoder must be registered in Windows. Otherwise player MPC-HC crashes. And a pity that there is no decoder Daala.

Last edited by Jamaika; 26th August 2016 at 06:05.
Jamaika is offline   Reply With Quote
Old 26th August 2016, 23:49   #80  |  Link
ls1dreams
Registered User
 
Join Date: Aug 2016
Posts: 3
hardware support?

When does everyone think we'll get hardware decoding from intel chips?

I'm really frustrated with my laptops getting super hot just playing the most simple videos, google hangouts, etc.

For example, VP9 came out in 2013, and even today, 3 years later, we still don't have a chip that does full hardware decoding (only partial). Kaby Lake will resolve this, but it will have been 4 years. The same goes for HEVC.

Having a slightly smaller stream hardly matters to me if it means my cpu is spinning up to 50% utilization or higher.

AV1 seems to have everyone on board, but when will we get an igpu (macbooks/etc) that supports it? Kaby Lake is obviously out. Cannon Lake too soon?

I'm overdue for upgrading my laptop, but don't really want to wait 2 more years for this! I just want to play 4k videos on a macbook retina without the machine overheating. (Hell, even 720p or 1080p).
ls1dreams is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.