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 > VP9 and AV1

Reply
 
Thread Tools Search this Thread Display Modes
Old 6th March 2018, 23:45   #481  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,643
I have a patch for MPC-HC/LAV/FFmpeg but it is not fully working yet. Libaom outputs YUV420P for your sample video, but using a 16 bit framebuffer, which is normally only used for higher bitdepths.
clsid is offline   Reply With Quote
Old 7th March 2018, 00:27   #482  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,344
Work on support for libaom in FFmpeg is already underway, but it won't really be made available until the bitstream freeze.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 7th March 2018, 08:29   #483  |  Link
easyfab
Registered User
 
Join Date: Jan 2002
Posts: 332
Firefox and chrome should also have the decoder in quickly After final bitstream
easyfab is offline   Reply With Quote
Old 7th March 2018, 12:56   #484  |  Link
Dope
Registered User
 
Join Date: Mar 2017
Posts: 9
Quote:
50 frames long, 720*288 video. It took almost 6 hours to encode.
Bloody hell.. Can someone make a realistic prediction as to how long it will take an optimized AV1 to encode exactly that sequence?
Thank you.
Dope is offline   Reply With Quote
Old 7th March 2018, 13:27   #485  |  Link
2160p
Registered User
 
Join Date: Feb 2018
Posts: 5
Quote:
Originally Posted by Dope View Post
Bloody hell.. Can someone make a realistic prediction as to how long it will take an optimized AV1 to encode exactly that sequence?
Thank you.
What is the multi-core CPU distribution/load?
2160p is offline   Reply With Quote
Old 7th March 2018, 13:32   #486  |  Link
dapperdan
Registered User
 
Join Date: Aug 2009
Posts: 201
I think they were aiming for it to take longer than HEVC/VP9 but I'm not sure they let themselves get pinned down to anything more specific than "reasonable increases" in encoding time. I think Netflix said they'd roll it out internally once it was less than 5x HEVC encoding time, so I guess that's an upper bound.
dapperdan is offline   Reply With Quote
Old 7th March 2018, 20:25   #487  |  Link
Dope
Registered User
 
Join Date: Mar 2017
Posts: 9
Quote:
Originally Posted by 2160p View Post
What is the multi-core CPU distribution/load?
I'm running an i5 3570K@ 4500Mhz. I run all of my 1080p x265 encodes at no less than 1 FPS. This is with my lil bit customized "placebo" preset.
I just can't comprehend how a processor like this would encode some 50 360p frames even during 1 hour, let alone 6. This is insane.
Dope is offline   Reply With Quote
Old 7th March 2018, 23:24   #488  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
There is a little cosmetical issue I reported (aomenc displays ANSI escape sequences for cursor control, vpxenc does not).

I have never seen developers so speechless...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 8th March 2018, 03:24   #489  |  Link
MoSal
Registered User
 
Join Date: Jun 2013
Posts: 95
Quote:
Originally Posted by LigH View Post
There is a little cosmetical issue I reported (aomenc displays ANSI escape sequences for cursor control, vpxenc does not).

I have never seen developers so speechless...
lol. Wait until they discover there is no byte sequence they can use to get this functionality in Windows cmd.
__________________
https://github.com/MoSal
MoSal is offline   Reply With Quote
Old 9th March 2018, 03:20   #490  |  Link
clsid
*****
 
Join Date: Feb 2005
Posts: 5,643
A sneak peek of the future...



Before anyone asks, this isn't available until the bitstream specification is finalized.
clsid is offline   Reply With Quote
Old 9th March 2018, 12:24   #491  |  Link
bstrobl
Registered User
 
Join Date: Jun 2016
Posts: 55
Quote:
Originally Posted by hajj_3 View Post
not sure, I have been following this list: https://bugs.chromium.org/p/aomedia/...um=100&start=0

It is down to 75 bugs, 2.5 weeks ago it was at 215 bugs so probably another 1-2 weeks or so until it is ratified.
That list contains all bugs for all parts including those not affecting the bitstream(stuff in the encoder/decoder themselves).

If you search in Monorail for "Hotlist=AV1-Normative", only bitstream bugs will be shown.

The codec is a bit rushed, hopefully no major or even minor bugs are left. Might have to use it for a very long time if it catches on and no major progress in codecs is being made
bstrobl is offline   Reply With Quote
Old 9th March 2018, 12:26   #492  |  Link
bstrobl
Registered User
 
Join Date: Jun 2016
Posts: 55
Quote:
Originally Posted by clsid View Post
A sneak peek of the future...



Before anyone asks, this isn't available until the bitstream specification is finalized.
320 x 240 ought to be enough for everyone . Although I am curious about low resolution performance. Countries with poor internet could massively benefit from receiving even tiny videos.
bstrobl is offline   Reply With Quote
Old 9th March 2018, 13:11   #493  |  Link
mzso
Registered User
 
Join Date: Oct 2009
Posts: 930
Quote:
Originally Posted by bstrobl View Post
The codec is a bit rushed, hopefully no major or even minor bugs are left. Might have to use it for a very long time if it catches on and no major progress in codecs is being made
Let's hope they go down the deep end with novel and exotic ideas.
mzso is offline   Reply With Quote
Old 9th March 2018, 14:23   #494  |  Link
bstrobl
Registered User
 
Join Date: Jun 2016
Posts: 55
Quote:
Originally Posted by mzso View Post
Let's hope they go down the deep end with novel and exotic ideas.
My guess is they will have to do that. Only so many gains can be made by increasing block sizes and motion direction etc. The next codec will probably be 10 years down the line so that should give enough time to rip out the old plumbing or simply start from scratch for a more radical new architecture. The Alliance will hopefully stay together for that period of time. A 50% efficiency gain on top of AV1 would be pretty nice, which would mean going from e.g. 800MB (MPEG2) -> 400MB (H264) -> 200MB (AV1) -> 100MB (AV2?) file sizes
bstrobl is offline   Reply With Quote
Old 9th March 2018, 14:52   #495  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
@bstrobl:

PAL CIF = 352×288 (a common "Video CD" resolution). And ... I really don't understand how people still get so excited about miracolous bitrate reductions from one generation to the next, but for low resolution video; and even the subjective threshold how much loss of quality appears tolerable changed over the last decade (I doubt you would accept today what was acceptable in the VCD era, today you would complain about "retina cancer" with the same amount of artifacts).

Don't be afraid of available bandwidth. "Countries with poor internet" ... did you know that Estonia has better rural broadband coverage than Germany? UHD over the Web will be the future, globally – because its availability makes profit. Forget about CIF.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 16th March 2018, 09:31   #496  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,259
@all: Is there some documentation about the command line parametes of aomenc somewhere?
Looking at the output of 'aomenc --help' there a quite a few option without explanations about min/max values of the arguments or what the default argument is.
Code:
Usage: aomenc.exe <options> -o dst_filename src_filename 

Options:
            --help                     	Show usage options and exit
  -c <arg>, --cfg=<arg>                	Config file to use
  -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
            --good                     	Use Good 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
            --obu                      	Output OBU
  -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
            --forced_max_frame_width   	Maximum frame width value to force
            --forced_max_frame_height  	Maximum frame height value to force
            --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
  -b <arg>, --bit-depth=<arg>          	Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
                                       	  8, 10, 12
            --lag-in-frames=<arg>      	Max number of frames to lag
            --large-scale-tile=<arg>   	Large scale tile coding (0: off (default), 1: on)
            --monochrome               	Monochrome video (no chroma planes)

Rate Control Options:
            --drop-frame=<arg>         	Temporal resampling threshold (buf %)
            --resize-mode=<arg>        	Frame resize mode
            --resize-denominator=<arg> 	Frame resize denominator
            --resize-kf-denominator=<ar	Frame resize keyframe denominator
            --superres-mode=<arg>      	Frame super-resolution mode
            --superres-denominator=<arg	Frame super-resolution denominator
            --superres-kf-denominator=<	Frame super-resolution keyframe denominator
            --superres-qthresh=<arg>   	Frame super-resolution qindex threshold
            --superres-kf-qthresh=<arg>	Frame super-resolution keyframe qindex threshold
            --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 (0..8)
            --dev-sf=<arg>             	Dev Speed (0..255)
            --auto-alt-ref=<arg>       	Enable automatic alt reference frames
            --sharpness=<arg>          	Loop filter sharpness (0..7)
            --static-thresh=<arg>      	Motion detection threshold
            --single-tile-decoding=<arg	Single tile decoding (0: off (default), 1: on)
            --tile-columns=<arg>       	Number of tile columns to use, log2
            --tile-rows=<arg>          	Number of tile rows to use, log2 (set to 0 while threads > 1)
            --tile-loopfilter-v=<arg>  	Enable loop filter across vertical tile boundary
            --tile-loopfilter-h=<arg>  	Enable loop filter across horizontal tile boundary
            --arnr-maxframes=<arg>     	AltRef max frames (0..15)
            --arnr-strength=<arg>      	AltRef filter strength (0..6)
            --tune=<arg>               	Distortion metric tuned with
                                       	  psnr, ssim, cdef-dist, daala-dist
            --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)
            --enable-cdef=<arg>        	Enable the constrained directional enhancement filter (0: false, 1: true (default))
            --enable-restoration=<arg> 	Enable the loop restoration filter (0: false, 1: true (default))
            --enable-qm=<arg>          	Enable quantisation matrices (0: false (default), 1: true)
            --qm-min=<arg>             	Min quant matrix flatness (0..15), default is 8
            --qm-max=<arg>             	Max quant matrix flatness (0..15), default is 15
            --enable-dist-8x8=<arg>    	Enable dist-8x8 (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)
            --deltaq-mode=<arg>        	Delta qindex mode (0: off (default), 1: deltaq 2: deltaq + deltalf)
            --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
            --cdf-update-mode=<arg>    	CDF update mode for entropy coding (0: no CDF update; 1: update CDF on all frames(default); 2: selectively update CDF on some frames
            --color-primaries=<arg>    	Color primaries (CICP) of input content:
                                       	  bt709, unspecified, bt601, bt470m, bt470bg, smpte240, film, bt2020, xyz, smpte431, smpte432, ebu3213
            --transfer-characteristics=	Transfer characteristics (CICP) of input content:
                                       	  unspecified, bt709, bt470m, bt470bg, bt601, smpte240, lin, log100, log100sq10, iec61966, bt1361, srgb, bt2020-10bit, bt2020-12bit, smpte2084, hlg, smpte428
            --matrix-coefficients=<arg>	Matrix coefficients (CICP) of input content:
                                       	  identity, bt709, unspecified, fcc73, bt470bg, bt601, smpte240, ycgco, bt2020ncl, bt2020cl, smpte2085, chromncl, chromcl, ictcp
            --chroma-sample-position=<a	The chroma sample position when chroma 4:2:0 is signaled:
                                       	  unknown, vertical, colocated
            --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)
            --sb-size=<arg>            	Superblock size to use
                                       	  dynamic, 64, 128
            --num-tile-groups=<arg>    	Maximum number of tile groups, default is 1
            --mtu-size=<arg>           	MTU size for a tile group, default is 0 (no MTU targeting), overrides maximum number of tile groups
            --timing-info=<arg>        	Signal timing info in the bitstream:
                                       	  unspecified, constant
            --disable-tempmv=<arg>     	Disable temporal mv prediction (default is 0)
  -b <arg>, --bit-depth=<arg>          	Bit depth for codec (8 for version <=1, 10 or 12 for version 2)
                                       	  8, 10, 12
            --input-bit-depth=<arg>    	Bit depth of input

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 0.1.0-8663-gaf35e318e (default)

        Use --codec to switch to a non-default encoder.
So I'm wondering is there some documentation somewhere what all those parameters are for and what their values are?
Or is this simply still to early to expect a bit more detailed documentation?
Seeing that a few folks did some tests here I wonder how they chose the settings they used. (some parameters are kept from vpx, but quite a few are new)

Cu Selur
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 16th March 2018, 20:22   #497  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
AOM v0.1.0-8698-gba7b8fe27
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 16th March 2018, 22:14   #498  |  Link
colinhunt
Registered User
 
Join Date: Dec 2002
Posts: 1,022
Thank you LigH for providing binaries. I did a little test yesterday, and noticed that it would take 4 hours to encode 1 second of 1080p60 footage. Am I guessing correctly there's no multithreading in the encoder yet? I noticed the -t parameter for number of threads, but setting it to 8-12 had no effect; aomenc kept running on a single core.

Last edited by colinhunt; 16th March 2018 at 22:38.
colinhunt is offline   Reply With Quote
Old 16th March 2018, 22:19   #499  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
I only tested it with a tiny resolution so far, and blamed the low resolution for the lack of threading. If it doesn't use threading for larger resolutions either ... then it's not yet implemented, I guess.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 16th March 2018, 22:38   #500  |  Link
colinhunt
Registered User
 
Join Date: Dec 2002
Posts: 1,022
^ Okay... might it be possible that -t parameter is referring to something else besides multithreading? Just trying to figure out if I messed something up.
colinhunt 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 21:39.


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