package Ġorg . open rnd r . extra . video profiles Ċ import Ġorg . open rnd r . ffmpeg . Video Writer Profile Ċ Ċ class ĠX 2 6 5 Profile Ġ: ĠVideo Writer Profile () Ġ{ ĊĠĠĠ Ġinternal Ġvar Ġmode Ġ= ĠWriter Mode . Normal ĊĠĠĠ Ġinternal Ġvar Ġconstant Rate Factor Ġ= Ġ 2 8 ĊĠĠĠ Ġvar Ġh lg Ġ= Ġfalse ĊĊĠĠĠ Ġenum Ġclass ĠWriter Mode Ġ{ ĊĠĠĠĠĠĠĠ ĠNormal , ĊĠĠĠĠĠĠĠ ĠLoss less ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmode ( mode : ĠWriter Mode ): ĠX 2 6 5 Profile Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . mode Ġ= Ġmode ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġconstant Ġrate Ġfactor ĊĠĠĠĠ Ġ* Ġ@ param Ġconstant Rate Factor Ġthe Ġconstant Ġrate Ġfactor Ġ( default Ġis Ġ 2 8 ) ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġconstant Rate Factor ( constant Rate Factor : ĠInt ): ĠX 2 6 5 Profile Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . constant Rate Factor Ġ= Ġconstant Rate Factor ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġfile Extension Ġ= Ġ" mp 4 " ĊĊĊĠĠĠ Ġoverride Ġfun Ġarguments (): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWriter Mode . Normal Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! h lg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ("- pix _ fmt ", Ġ" y uv 4 2 0 p ", Ġ// Ġthis Ġwill Ġproduce Ġvideos Ġthat Ġare Ġplay able Ġby Ġquick time ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- vf ", Ġ" v flip ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- an ", Ġ"- v codec ", Ġ" lib x 2 6 5 ", Ġ"- cr f ", Ġ"" Ġ+ Ġconstant Rate Factor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Ġ// Ġthis Ġwill Ġproduce Ġvideos Ġthat Ġare Ġplay able Ġby Ġquick time ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- an ", Ġ"" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- v codec ", Ġ" lib x 2 6 5 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- pix _ fmt ", Ġ" y uv 4 2 0 p 1 0 le ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- color _ pri maries ", Ġ" bt 2 0 2 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- color space ", Ġ" bt 2 0 2 0 _ n cl ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- color _ trc ", Ġ" ar ib - std - b 6 7 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- cr f ", Ġ"" Ġ+ Ġconstant Rate Factor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtransfer = ar ib - std - b 6 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWriter Mode . Loss less Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ("- pix _ fmt ", Ġ" y uv 4 2 0 p 1 0 ", Ġ// Ġthis Ġwill Ġproduce Ġvideos Ġthat Ġare Ġplay able Ġby Ġquick time ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- an ", Ġ"- v codec ", Ġ" lib x 2 6 5 ", Ġ"- preset ", Ġ" ultr af ast ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" unsupported Ġwrite Ġmode ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }