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. |
7th March 2018, 00:27 | #482 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,348
|
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 |
7th March 2018, 13:32 | #486 | Link |
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.
|
7th March 2018, 20:25 | #487 | Link |
Registered User
Join Date: Mar 2017
Posts: 9
|
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. |
8th March 2018, 03:24 | #489 | Link | |
Registered User
Join Date: Jun 2013
Posts: 95
|
Quote:
__________________
https://github.com/MoSal |
|
9th March 2018, 12:24 | #491 | Link | |
Registered User
Join Date: Jun 2016
Posts: 55
|
Quote:
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 |
|
9th March 2018, 14:23 | #494 | Link |
Registered User
Join Date: Jun 2016
Posts: 55
|
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
|
9th March 2018, 14:52 | #495 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
|
@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. |
16th March 2018, 09:31 | #496 | Link |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,277
|
@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. 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 |
16th March 2018, 22:14 | #498 | Link |
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. |
16th March 2018, 22:19 | #499 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
|
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.
|
|
|