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 April 2019, 09:38   #101  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
I don't know how to compile z_Windows_NT-586_asm.asm. Without this I can't close the file object in gcc. I suppose you can do it, but I don't know how.
https://github.com/llvm-mirror/openmp
Jamaika is offline   Reply With Quote
Old 13th April 2019, 23:58   #102  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,964
I wonder what happens for you ... MABS could compile the 32 bit version of VVC for me. But I got stuck in another faulty project, and I hate disabling many other tools just to get one compiled. I will test it soon™ ...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 14th April 2019, 00:46   #103  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
What do you mean? Bugs in the VVC project.
I had to add everywhere for GCC 9.0.1:
(MsgLevel) ERROR,
correct include:
Code:
#include "CommonLib/CacheModel.h" in DecLib.h
#include "CommonLib/MCTS.h" in  EncCu.cpp 
#include "Utilities/program_options_lite.h" in decmain.cpp 
    for( int ctuTsAddr = startCtuTsAddr; ctuTsAddr < boundingCtuTsAddr; ctuTsAddr += pcPic->cs->pcv->widthInCtus )
      encodeCtus( pcPic, bCompressEntireSlice, bFastDeltaQP, ctuTsAddr, ctuTsAddr + pcPic->cs->pcv->widthInCtus, m_pcLib );
  CHECK(cs.sps == 0, "No SPS present");
  writeBlockStatisticsHeader(cs.sps); in EncSlice.cpp
#if ENABLE_WPP_PARALLELISM
//  static
#endif in EncSlice.h
Add video 12bit
in VLCReader.cpp
Code:
    ptl->setBitDepthConstraint( ( ptl->getProfileIdc() == Profile::MAINREXT || ptl->getProfileIdc() == Profile::NEXT ) ? 12 : 8 );
in EncAppCfg.cpp
Code:
  ("InputBitDepth",                                   m_inputBitDepth[CHANNEL_TYPE_LUMA],                   0, "Bit-depth of input file")
    m_bitDepthConstraint     = ( ( m_profile == Profile::MAINREXT || m_profile == Profile::NEXT ) ? 12 : 8 );
    xConfirmPara(m_bitDepthConstraint!=((m_profile==Profile::MAINREXT || m_profile==Profile::NEXT)?12:8), "BitDepthConstraint must be 8 for NEXT profile and 12 for MAINREXT profile.");
PS Of course I added mingw.mutex.h and delete SIMD, but you probably will not have to.
Code:
/*  std::string SIMD;
  df::program_options_lite::Options optsSimd;
  optsSimd.addOptions()( "SIMD", SIMD, string( "" ), "" );
  df::program_options_lite::SilentReporter err;
  df::program_options_lite::scanArgv( optsSimd, argc, ( const char** ) argv, err );*/
  fprintf( stdout, "[SIMD=NONE] "/*, read_x86_extension( SIMD )*/ );
Code:
//  case AVX512/AVX2/AVX/SSE42/SSE41:
//    _init...X86<AVX512/AVX2/AVX/SSE42/SSE41>(...);
//    break; in InitX86.cpp

Last edited by Jamaika; 18th April 2019 at 11:03.
Jamaika is offline   Reply With Quote
Old 14th April 2019, 11:13   #104  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,964
I hope we talk about the same topic... by "another faulty project", I meant anything else compiled by MABS. In this case, rav1e and vulkan. Not VVC.

Quote:
Originally Posted by LigH View Post
The media-autobuild suite enabled compiling with split parallelism.
Quote:
Originally Posted by Jamaika View Post
I didn't succeed. Under Windows doesn't work with gcc.
It just compiled well in the media-autobuild_suite. But there is no GCC 9, and there are no additional patches to enable 12 bit depth (the help output reports supporting --Profile main-RExt though), just plain git HEAD.

Code:
VVCSoftware: VTM Encoder Version 4.2 [Windows][GCC 7.4.0][32 bit] [SIMD=SSE42] [SPLIT_PARALLEL (6 jobs)][OMP: WAIT_POLICY=,THREAD_LIMIT=]
VVCSoftware: VTM Encoder Version 4.2 [Windows][GCC 8.3.0][64 bit] [SIMD=AVX] [SPLIT_PARALLEL (6 jobs)][OMP: WAIT_POLICY=,THREAD_LIMIT=]
VVCSoftware VTM-4.2 02d258f4
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 14th April 2019 at 11:17.
LigH is offline   Reply With Quote
Old 15th April 2019, 06:52   #105  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,420
Quote:
Originally Posted by LigH View Post
It just compiled well in the media-autobuild_suite. But there is no GCC 9
GCC 9.0.1 was tagged at the beginning of February, they've started the release-candidate cycle toward the 9.1 release, which is supposed to be within a week or two. Presumably it's pretty stable at this point, though I'd definitely compare any issues to 8.3 as well.
__________________
There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order.
foxyshadis is offline   Reply With Quote
Old 15th April 2019, 07:37   #106  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
I understand that there is an open secret. I know that there is an MSYS2 compiler. He contains components in this GCC 8.3, but with GCC 9.0 doesn't work anymore and contains something to assembler. This thing is a secret.
The second thing. If added the function split paralleism why was the function wpp paralleism not added? Are they interchangeable? I see that both functions can be added in the project.
Quote:
Originally Posted by foxyshadis View Post
GCC 9.0.1 was tagged at the beginning of February, they've started the release-candidate cycle toward the 9.1 release, which is supposed to be within a week or two. Presumably it's pretty stable at this point, though I'd definitely compare any issues to 8.3 as well.
There is always something to be improved in every project. With gcc 9.x, I have a problem with <ctime>. In dependence on the version of gcc, once in the files you have to add and once not. Something is instability.

Last edited by Jamaika; 15th April 2019 at 07:43.
Jamaika is offline   Reply With Quote
Old 15th April 2019, 08:59   #107  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,964
The MSYS2 environment may be a bit conservative, regarding provided packages, but usually quite well groomed. I will leave the "bleeding edge technology" to other people and keep using a toolset I can usually handle with little efforts. And in most cases, the result was reliable.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 15th April 2019, 09:17   #108  |  Link
Wolfberry
Helenium(Easter)
 
Wolfberry's Avatar
 
Join Date: Aug 2017
Location: Hsinchu, Taiwan
Posts: 99
Quote:
Originally Posted by Jamaika View Post
The second thing. If added the function split paralleism why was the function wpp paralleism not added? Are they interchangeable? I see that both functions can be added in the project.
VVCSoftware_VTM !390

VTM fails to build when WPP_PARALLELISM is enabled as of now.
__________________
Monochrome Anomaly
Wolfberry is offline   Reply With Quote
Old 15th April 2019, 09:54   #109  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
Interesting. I have compiled EncCu on me, but don't have assembler.
Jamaika is offline   Reply With Quote
Old 15th April 2019, 11:49   #110  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,964
My recent vvc-git/build-64bit/ab-suite.build.log only reports "Building CXX object" ...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 30th April 2019, 22:25   #111  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
New version 5.0rc1
VVCSoftware: VTM Encoder Version 5.0rc1 [Windows][GCC 9.0.1][64 bit] [SIMD=NONE] [ENABLE_TRACING] [SPLIT_PARALLEL (6 jobs)][WPP_PARALLEL][OMP: WAIT_POLICY=,THREAD_LIMIT=]
https://www.sendspace.com/file/gydtlw

#define JVET_N0415_CTB_ALF 1 // JVET-N0415: CTB-based ALF switch
#define JVET_N0105_LFNST_CTX_MODELLING 1 // LFNST index signalled without intra mode dependency and with on ctx-coded bin
#define JVET_N0193_LFNST 1 //Low Frequency Non-Separable Transform (LFNST), previously, Reduced Secondary Transform (RST)
#define JVET_N0217_MATRIX_INTRAPRED 1 // matrix-based intra prediction (MIP)
#define JVET_N0400_SIGNAL_TRIANGLE_CAND_NUM 1 // JVET-N0400, JVET-N0447, JVET-N0500, JVET-N0851, align triangle merge candidate number and regular merge candidate number
#define JVET_N0413_RDPCM 1 // Residual DPCM JVET-N0413/N0214
#define JVET_N0866_UNIF_TRFM_SEL_IMPL_MTS_ISP 1 // JVET-N0866: unified transform derivation for ISP and implicit MTS (combining JVET-N0172, JVET-N0375, JVET-N0419 and JVET-N0420)
#define JVET_N0340_TRI_MERGE_CAND 1
#define JVET_N0302_SIMPLFIED_CIIP 1
#define JVET_N0327_MERGE_BIT_CALC_FIX 1
#define JVET_N0324_REGULAR_MRG_FLAG 1
#define JVET_N0251_ITEM4_IBC_LOCAL_SEARCH_RANGE 1
#define JVET_N0435_WAIP_HARMONIZATION 1
#define JVET_N0168_AMVR_ME_MODIFICATION 1 // Correct the cost and bits calculation in encoder side
#define JVET_N0068_AFFINE_MEM_BW 1 // memory bandwidth reduction for affine mode
#define JVET_N0308_MAX_CU_SIZE_FOR_ISP 1
#define JVET_N0280_RESIDUAL_CODING_TS 1
#define JVET_N0103_CGSIZE_HARMONIZATION 1 // Chroma CG sizes aligned to luma CG sizes
#define JVET_N0146_DMVR_BDOF_CONDITION 1 // JVET-N146/N0162/N0442/N0153/N0262/N0440/N0086 applicable condition of DMVR and BDOF
#define JVET_N0470_SMVD_FIX 1 // remove mvd_l1_zero_flag condition, align to spec text.
#define JVET_N0235_SMVD_SPS 1
#define JVET_N0671 1
#if JVET_N0671
#define JVET_N0671_CHROMA_FORMAT_422 1
#define JVET_N0671_RGB 1
#define JVET_N0671_CCLM 1
#define JVET_N0671_AFFINE 1
#define JVET_N0671_DMVR 1
#define JVET_N0671_RDCOST_FIX 1
#define JVET_N0671_INTRA_TPM_ALIGNWITH420 1
#endif //JVET_N0671
#define JVET_N0843_BVP_SIMPLIFICATION 1
#define JVET_N0448_N0380 1 // When MaxNumMergeCand is 1, MMVD_BASE_MV_NUM is inferred to be 1.
#define JVET_N0266_SMALL_BLOCKS 1 // remove 4x4 uni-pred, 4x8/8x4 bi-pred from regular inter modes
#define JVET_N0054_JOINT_CHROMA 1 // Joint chroma residual coding mode
#define JVET_N0317_ADD_ZERO_BV 1
#define JVET_N0318_N0467_IBC_SIZE 1 // IBC flag dependent on CU size and disabling 128x128 IBC mode
#define JVET_N0462_FIX_CTX_MODELING 1 // Fix context modeling of inter_pred_idc
#define JVET_N0175_N0251_N0384_IBC_SMALL_CTU 1 // IBC search range arrangement for small CTU sizes
#define JVET_N0127_MMVD_SPS_FLAG 1
#define JVET_N0286_SIMPLIFIED_GBI_IDX 1 // Simplified coding of the GBi index
#define JVET_N600_AMVR_TPM_CTX_REDUCTION 1
#define JVET_N0188_UNIFY_RICEPARA 1
#define JVET_N0334_MVCLIPPING 1 // prevention of MV stroage overflow and alignment with spec of MV/CPMV modular for AMVP mode
#define JVET_N0481_BCW_CONSTRUCTED_AFFINE 1
#define JVET_N0483_DISABLE_SBT_FOR_TPM 1
#define JVET_N0180_ALF_LINE_BUFFER_REDUCTION 1 // Line buffer reduction for ALF using symmetric padding
#define JVET_N0242_NON_LINEAR_ALF 1 // enable CE5-3.2, Non-linear ALF based on clipping function
#define JVET_N0329_IBC_SEARCH_IMP 1 // IBC encoder-side improvement
#define JVET_N0325_BDOF 1 // unified right-shifts for BDOF derivation
#define JVET_N0247_HASH_IMPROVE 1 // Improve hash motion estimation
#define JVET_N0449_MMVD_SIMP 1 // Configurable number of mmvd distance entries used
#define JVET_N0363_INTRA_COST_MOD 1 // Modified cost criterion for intra encoder search
#define JVET_N0137_DUALTREE_CHROMA_SIZE 1
#define JVET_N0335_N0085_MV_ROUNDING 1 // MV rounding unification
#define JVET_N0332_LTRP_MMVD_FIX 1 // MMVD scaling considering LTRPs from N0332
#define JVET_N0477_LMCS_CLEANUP 1
#define JVET_N0220_LMCS_SIMPLIFICATION 1
#define JVET_N0185_UNIFIED_MPM 1
#define JVET_N0271_SIMPLFIED_CCLM 1 // Simplified CCLM parameter derivation in JVET-N0271
#define JVET_N0178_IMPLICIT_BDOF_SPLIT 1
#define JVET_N0383_N0251_IBC_COL_VPDU_REMOVE 1
#define JVET_N0407_DMVR_CU_SIZE_RESTRICTION 1 // Disable 4xN/8x8 CUs for DMVR
#define JVET_N0196_SIX_TAP_FILTERS 1 // 6-tap filters for affine motion compensation
#define JVET_N0213_TMVP_REMOVAL 1 // Remove TMVP candidates from merge and amvp mode with samples <= 32
#define JVET_N0492_NO_HIERARCH_CBF 1 // Allow CBFs writing for leaf TU only
#define JVET_N0473_DEBLOCK_INTERNAL_TRANSFORM_BOUNDARIES 1 // JVET-N0473, JVET-N0098: Deblocking of ISP/SBT TU boundaries
#define INCLUDE_ISP_CFG_FLAG 1
#define JVET_N0246_MODIFIED_QUANTSCALES 1

delete
#define HEVC_TILES_WPP 1
#define JVET_MMVD_OFF_MACRO 0

Last edited by Jamaika; 1st May 2019 at 04:22.
Jamaika is offline   Reply With Quote
Old 4th May 2019, 11:43   #112  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
Short test additional function for yuv420p 8bit QP=32 CTU=32 LCTUFast=0 with encoder_randomaccess_vtm.cfg
no function = effect blur
add full paralleism = much smaller effect blur only frame I
add tracing = test encoder, longer total time
add rext = much smaller effect blur only frame I
add rext + paralleism = effect banding
add only split paralleism = file is the same as no function

Conclusions:
LCTUFast should be enabled for small CTUs. The frames have more details.

Last edited by Jamaika; 4th May 2019 at 12:05.
Jamaika is offline   Reply With Quote
Old 7th May 2019, 00:49   #113  |  Link
EwoutH
Registered User
 
Join Date: Feb 2019
Location: Delft, Netherlands
Posts: 15
Code:
vvc2 -i "E:\Morocco8K-8b-444.yuv" -b vvc-test.vvc -wdt 1920 -hgt 1080 -fr 60 --InputBitDepth=8 --InputChromaFormat=444

VVCSoftware: VTM Encoder Version 5.0rc1 [Windows][GCC 9.0.1][64 bit] [SIMD=AVX2] [ENABLE_TRACING] [SPLIT_PARALLEL (6 jobs)][WPP_PARALLEL][OMP: WAIT_POLICY=,THREAD_LIMIT=]

terminate called after throwing an instance of 'Exception'
  what():
ERROR: In function "xCheckParameter" in EncAppCfg.cpp:1979: Next profile with an alternative partitioner has to be enabled if HEVC_USE_RQT is off!
I got the following error, any idea how I can fix this?
EwoutH is offline   Reply With Quote
Old 7th May 2019, 02:18   #114  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 614
Add more commands, e.g.
https://www.sendspace.com/file/ki5wkj
Code:
VVCSoftware: VTM Encoder Version 5.0rc1 [Windows][GCC 9.1.1][64 bit] [SPLIT_PARALLEL (6 jobs)][WPP_PARALLEL][OMP: WAIT_POLICY=,THREAD_LIMIT=]

TOOL CFG: IBD:0 HAD:1 RDQ:1 RDQTS:1 RDpenalty:0 LQP:0 SQP:0 ASR:1 MinSearchWindow:96 RestrictMESampling:0 FEN:1 ECU:0 FDM:1 CFM:0 ESD:0 TransformSkip:1 TransformSkipFast:1 TransformSkipLog2MaxSize:5 Slice: M=0 Tiles:1x1 MCTS:0 CIP:0 SAO:0 ALF:1 PCM:0 TransQuantBypassEnabled:0 WPP:0 WPB:0 PME:2  WaveFrontSynchro:0 WaveFrontSubstreams:1TMVPMode:1  DQ:1  SignBitHidingFlag:0 RecalQP:0
NEXT TOOL CFG: LFNST:1 MMVD:1 Affine:1 AffineType:1 SubPuMvp:1+0 DualITree:1 IMV:1 BIO:1 LMChroma:1 CclmCollocatedChroma:0 MTS: 1(intra) 0(inter) SBT:1 ISP:1 SMVD:1 CompositeLTReference:0 GBi:1 GBiFast:1 LADF:0 MHIntra:1 Triangle:1 AllowDisFracMMVD:1 AffineAmvr:1 AffineAmvrEncOpt:1 DMVR:1 MmvdDisNum:6 RDPCM:0 IBC:0 HashME:0 WrapAround:0 Reshape:1 (Sigal:HDR-PQ ) MIP:1 EncDbOpt:0
FAST TOOL CFG: LCTUFast:1 FastMrg:1 PBIntraFast:1 IMV4PelFast:1 MTSMaxCand: 3(intra) 4(inter) ISPFast:1 FastLFNST:0 AMaxBT:1 E0023FastEnc:1 ContentBasedFastQtbt:0 UseNonLinearALFLuma:1 UseNonLinearALFChroma:1 FastMIP:0 NumSplitThreads:1 NumWppThreads:1+0 EnsureWppBitEqual:1


 started @ Tue May 07 02:17:04 2019
***    SPS numBytesInNALunit: 67
***    PPS numBytesInNALunit: 10
***    APS numBytesInNALunit: 45
*** IDR_W_RADL numBytesInNALunit: 2889
POC    0 TId: 0 ( I-SLICE, QP 29 )      24200 bits [Y 54.4181 dB    U 62.1299 dB    V 999.9900 dB] [WY 54.2387 dB    WU 65.1402 dB    WV 999.9900 dB] [ET    26 ] [L0 ] [L1 ]
Jamaika is offline   Reply With Quote
Old 8th May 2019, 01:52   #115  |  Link
EwoutH
Registered User
 
Join Date: Feb 2019
Location: Delft, Netherlands
Posts: 15
VVC VTM 5.0 is released!

Can someone confirm if these AppVeyor builds are functioning? --help functions correctly, but I can't get it to encode anything.
EwoutH is offline   Reply With Quote
Old 8th May 2019, 19:37   #116  |  Link
Pushman
Registered User
 
Join Date: Nov 2017
Posts: 7
Quote:
Originally Posted by EwoutH View Post
VVC VTM 5.0 is released!

Can someone confirm if these AppVeyor builds are functioning? --help functions correctly, but I can't get it to encode anything.
You need this file:
https://vcgit.hhi.fraunhofer.de/jvet...access_vtm.cfg
Pushman is offline   Reply With Quote
Old 9th May 2019, 17:04   #117  |  Link
EwoutH
Registered User
 
Join Date: Feb 2019
Location: Delft, Netherlands
Posts: 15
Quote:
Originally Posted by Pushman View Post
Thanks, got it working!

Code:
vvc -i "E:\Morocco8K-8b-444.yuv" -b vvc-test.vvc -wdt 1920 -hgt 1080 -fr 60 --InputBitDepth=8 --InputChromaFormat=444 -f 60 -c cfg_encoder_randomaccess_vtm.cfg
After 23 minutes 25 frames encoded. Even aom-av1 is fast compared against this :P.

Also: Huge MR ahead: JVET-N0857: slices/tiles/bricks
Attached Files
File Type: txt vvc-log.txt (9.4 KB, 11 views)

Last edited by EwoutH; 9th May 2019 at 17:50.
EwoutH is offline   Reply With Quote
Old 9th May 2019, 19:51   #118  |  Link
EwoutH
Registered User
 
Join Date: Feb 2019
Location: Delft, Netherlands
Posts: 15
Special Windows build for JVET-N0857: slices/tiles/bricks

Edit 15-05: Updated build

Last edited by EwoutH; 15th May 2019 at 10:36.
EwoutH is offline   Reply With Quote
Old 14th May 2019, 17:54   #119  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 2,984
Quote:
Originally Posted by EwoutH View Post
Does anyone have a good breakdown of the impact of bricks?
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 24th May 2019, 12:53   #120  |  Link
EwoutH
Registered User
 
Join Date: Feb 2019
Location: Delft, Netherlands
Posts: 15
JVET-N0857: slices/tiles/bricks is merged!
EwoutH 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 13:06.


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