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 29th December 2017, 11:13   #601  |  Link
goemon
Registered User
 
Join Date: Oct 2001
Posts: 88
FFmpeg utvideo doesn't support yuv422p10?

Code:
ffmpeg version git-2017-12-23-d02289c Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  6.100 / 56.  6.100
  libavcodec     58.  8.100 / 58.  8.100
  libavformat    58.  3.100 / 58.  3.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  7.100 /  7.  7.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Encoder utvideo [Ut Video]:
    General capabilities: threads 
    Threading capabilities: frame
    Supported pixel formats: rgb24 rgba yuv422p yuv420p yuv444p
utvideo AVOptions:
  -pred              <int>        E..V.... Prediction method (from 0 to 3) (default left)
     none                         E..V....
     left                         E..V....
     gradient                     E..V....
     median                       E..V....
goemon is offline   Reply With Quote
Old 29th December 2017, 18:48   #602  |  Link
umezawa_takeshi
Unregistered User
 
Join Date: Feb 2015
Location: Tokyo, Japan
Posts: 52
Version 19.0.1 is released

Version 19.0.1 is released.

New features
  • Add new codecs which focus on speed (FourCC: UMRA, UMRG, UMY4, UMY2, UMH4, UMH2). Decode only in case of QuickTime components.

License (GPLv2) / readme / Windows (exe) Mac (zip) / source code / GitHub
umezawa_takeshi is offline   Reply With Quote
Old 4th April 2018, 23:16   #603  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
@umezawa_takeshi,

thanks for this awesome codec I've been using the 8bit versions for some time. I want to try the Quicktime Pro codecs on Windows now for 10bit, so I downloaded your source code. I managed to get everything working via VC2015 Express (installed Cygwin + devel stuff and the Quicktime SDK), everything except core builds but I'm stuck on assembling the x86 Huffman code:

HuffmanCode_x86.cpp
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s: Assembler messages:
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:110: Error: operand type mismatch for `push'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:110: Error: operand type mismatch for `pop'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:227: Error: operand type mismatch for `push'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:227: Error: operand type mismatch for `pop'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:375: Error: operand type mismatch for `push'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:375: Error: operand type mismatch for `pop'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:523: Error: operand type mismatch for `push'
/cygdrive/c/Users/rd/AppData/Local/Temp/cc8EsSP3.s:523: Error: operand type mismatch for `pop'

Any idea how to fix this?

BTW, you said you never get a request for YUV 10bit 4:4:4 - here's one : ). It's the perfect intermediate format for the video work I do in Premiere. I upsample colour to 4:4:4 and process it in my own plugin software, so I'd often like to have a 4:4:4 intermediate. And I tend to work in YUV natively in Premiere so that is the ideal lossless format for me.

Thanks for considering
_gl is offline   Reply With Quote
Old 4th April 2018, 23:56   #604  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,378
I am no expert in VS assembly; but the error messages sound (to me, at least) like there are data types not independent of CPU register widths (32 vs. 64 bit code). Just a guess...
__________________

German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 5th April 2018, 00:03   #605  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
Quote:
Originally Posted by LigH View Post
I am no expert in VS assembly; but the error messages sound (to me, at least) like there are data types not independent of CPU register widths (32 vs. 64 bit code). Just a guess...
Thanks, yes the issue seems to be that the x86 code is compiled on x64 Cygwin here, so some of the 32bit register assumptions don't work. The trick is to compile it in x86 mode by adding the -m32 flag to:

utv_core -> HuffmanCode_x86.cpp -> Properties: Custom Build Tool -> Command line

= c:\cygwin\bin\env PATH=/bin c:\cygwin\bin\g++ -std=c++11 -O2 -masm=intel -m32 -c -o $(IntDir)%(Filename).obj %(Identity)

I assume this isn't an issue when compiling on a x86 Cygwin.

Last edited by _gl; 5th April 2018 at 00:06.
_gl is offline   Reply With Quote
Old 5th April 2018, 02:17   #606  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
OK, I've got the QT codecs built, but I can't export to them from inside Premiere CS6 (Windows). On the first export attempt to Pro RGB I get the generic 'Error compiling movie - Unknown Error'.

On the second, the file is in use by something and can't be overwritten.. That's Adobe QT32 Server.exe, which has clearly not released the file from the first attempt.

Is this actually known to work?

EDIT: if anyone wants to try them, PM me your email address.

Last edited by _gl; 5th April 2018 at 02:25.
_gl is offline   Reply With Quote
Old 5th April 2018, 02:33   #607  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
Quote:
Originally Posted by _gl View Post
OK, I've got the QT codecs built, but I can't export to them from inside Premiere CS6 (Windows). On the first export attempt to Pro RGB I get the generic 'Error compiling movie - Unknown Error'.
(EDIT:wrong, ignore)Ah, sorted. I was forcing Premiere to use a floating point render pipe via my own plugin's code (as it wasn't choosing float for a prior 10bit uncompressed AVI export and so giving me lower visual quality) - so my plugin did not allow 8bit formats at all. For some reason this seems to have caused the export failure even though it works for other export types.

Strange thing is that when I re-enabled 8bit support, it's now exporting fine with Premiere choosing a floating point 709 internal pipeline, which is exactly what I wanted (so it should have worked before - oh well ).[/s]

Great to see that the LAV filters support playback of the 10bit formats.

Last edited by _gl; 5th April 2018 at 04:35.
_gl is offline   Reply With Quote
Old 5th April 2018, 04:28   #608  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
... no that wasn't it. While some exports to the Pro RGB codec work, others still fail with the same 'Unknown Error' right at the start. Same thing happens in Premiere and Adobe Media Encoder CS6. All footage is 720p.

Any way to troubleshoot this?
_gl is offline   Reply With Quote
Old 5th April 2018, 07:02   #609  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
Apologies for the post overload, but the good news is I've got the Pro RGB QT codec to work in Premiere CS6!

My first 'successful' render was actually to a different UT codec by mistake, so it never actually worked. Following the thread, I added these to

C:\Users\<user>\AppData\Roaming\Adobe\Common\MediaCoreQTCodecRulesCS6.xml :

Code:
<QTCodec codec='UQRG' vendor='****' platform='windows' direction='encode' versionlow='0x00000' versionhigh='*' gammatag='false' cvbuffertag='2.2' deepdecodefourcc='b64a' decodefourcc='argb' />	
<QTCodec codec='UQRG' vendor='****' platform='windows' direction='decode' versionlow='0x00000' versionhigh='*' gammatag='false' cvbuffertag='2.2' deepdecodefourcc='b64a' decodefourcc='argb' />	
<QTCodec codec='UQRA' vendor='****' platform='windows' direction='encode' versionlow='0x00000' versionhigh='*' gammatag='false' cvbuffertag='2.2' deepdecodefourcc='b64a' decodefourcc='argb' />
<QTCodec codec='UQRA' vendor='****' platform='windows' direction='decode' versionlow='0x00000' versionhigh='*' gammatag='false' cvbuffertag='2.2' deepdecodefourcc='b64a' decodefourcc='argb' />
This enabled additional bit depth options in the Premiere Export dialog. Instead of the two checkboxes for 24bit and 32bit, I now have a drop-down menu for 24 / 32 / 48 / 64bit.

Rendering at 32bit fails as before - but 48bit and 64bit work! MediaInfo confirms that the codec of the resulting file is UQRG.

LAV can also play this back (be sure to enable UTVideo in the video codec format options).

Last edited by _gl; 5th April 2018 at 07:29.
_gl is offline   Reply With Quote
Old 5th April 2018, 07:35   #610  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
.. there is one catch. The encoded Pro file will not play back correctly inside Premiere when the above 'decode' line is added to MediaCoreQTCodecRulesCS6.xml, I just get a black screen. However if I remove that line, then it plays back fine.

I'm concerned though that it may not deliver the full 10bits of data this way. Anyone want to test it? (PM me for the compiled QT codec if needed).
_gl is offline   Reply With Quote
Old 6th April 2018, 19:39   #611  |  Link
umezawa_takeshi
Unregistered User
 
Join Date: Feb 2015
Location: Tokyo, Japan
Posts: 52
@_gl

I'm sorry for being late. Are your problems solved?

I'm not familiar with MediaCoreQTCodecRules<version>.xml --- I just heard that the codec will work when we write the XML fragment to the file, and I don't understand what the fragment actually means...
umezawa_takeshi is offline   Reply With Quote
Old 7th April 2018, 04:50   #612  |  Link
_gl
Registered User
 
Join Date: Oct 2010
Posts: 15
Hi @umezawa_takeshi ,

the Pro RGB QT codec now fully works for exports inside Premiere CS6, but only with the 'encode' additions to MediaCoreQTCodecRules, and when choosing 48 or 64 bit depth in the Export dialog (16 and 24 bit fail).

For imports, Premiere decodes the clip fine when the 'decode' section is NOT added to MediaCoreQTCodecRules. However I don't know if it's delivering the full 10bit data this way.

If the 'decode' section is added, then it only draws black frames.

I assume the encode/decode additions mean that Premiere will deliver and receive the b64a format to/from the codec? But the 'decode' entries don't work strangely.

Last edited by _gl; 7th April 2018 at 04:53.
_gl is offline   Reply With Quote
Old 7th April 2018, 14:24   #613  |  Link
umezawa_takeshi
Unregistered User
 
Join Date: Feb 2015
Location: Tokyo, Japan
Posts: 52
UtVideo Pro variants are not able to accept 8bit formats, neither in encoding nor in decoding. If Premiere can read an UQRG file and a (non-blank) video is displayed, it should be 10bit. --- Of course, there is a possibility that Premiere or QT converts 10bit clip to 8bit clip.
umezawa_takeshi is offline   Reply With Quote
Old 7th April 2018, 14:35   #614  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,288
Not sure about Premiere, but AE can take b64a pixel format if codec provides it and then there is no conversion to 8bit.
In my tests Premiere wasn't exactly the same. I think in case of Premiere you may have more luck if decoder can provide r4fl pixel format.
kolak is offline   Reply With Quote
Old 14th April 2018, 11:53   #615  |  Link
umezawa_takeshi
Unregistered User
 
Join Date: Feb 2015
Location: Tokyo, Japan
Posts: 52
Version 20.0.0 is released

Version 20.0.0 is released.

New features
  • UMxx: Add temporal compression.
Performance Improvements
  • UMxx: Speed up

License (GPLv2) / readme / Windows (exe) / source code / GitHub

Added temporal compression, which is especially effective to static (= small transition) video. It is not effective to dynamic video because no "advanced" process like motion compensation.

Mac version is not released this time. When a temporal compressed video file is played with QuickTime Player, displayed video is corrupted and the player crashed soon. I could not find solution for this problem.
umezawa_takeshi is offline   Reply With Quote
Old 14th April 2018, 17:09   #616  |  Link
GMJCZP
Registered User
 
GMJCZP's Avatar
 
Join Date: Apr 2010
Location: I have a statue in Hakodate, Japan
Posts: 512
Arigato, umezawa_takeshi-sama.
__________________
By law and justice!

Flea Market
GMJCZP is offline   Reply With Quote
Old 18th April 2018, 15:59   #617  |  Link
umezawa_takeshi
Unregistered User
 
Join Date: Feb 2015
Location: Tokyo, Japan
Posts: 52
10th anniversary

Today, 2018-04-18 is the 10th anniversary from the first public release of Ut Video Codec Suite. The first release has only YUV422 variant and VCM interface.

Originally I started to develop UtVideo because Huffyuv lacked performance while HD-capturing Ace Combat 6 (Xbox 360). Since then, UtVideo has been introduced to the world --- yes, this forum thread ---, compatible implementation has been added to FFmpeg/Libav, and UtVideo is now used in various scenes.

UtVideo itself has also evolved as follows:
  • continually optimized
  • more types of internal formats
  • more types of codec interfaces
  • added 10bit/channel variants
  • added new compression algorithm/principle

What will happen in the next 10 years?

Last edited by umezawa_takeshi; 19th April 2018 at 02:12.
umezawa_takeshi is offline   Reply With Quote
Old 19th April 2018, 08:14   #618  |  Link
Sparktank
47.952fps@71.928Hz
 
Sparktank's Avatar
 
Join Date: Mar 2011
Posts: 823
Outstanding!

I love a good underdog story.

Definitely happy to have this as an option along with other lossless codecs.

Keep up the work. Can't wait to see the future.
__________________
Win10 (x64) | GPU Caps Viewer v1.38.2.1
Crucial M500 240GB SSD | Kingston SSDNow V300 (Marvell) 120GB | NVIDIA GeForce GTX 750 Ti 2GB | 391.01 (2-23-2018)
NTSC | DVD: R1 | BD: A
Sparktank is offline   Reply With Quote
Old 19th April 2018, 14:24   #619  |  Link
GMJCZP
Registered User
 
GMJCZP's Avatar
 
Join Date: Apr 2010
Location: I have a statue in Hakodate, Japan
Posts: 512
Quote:
Originally Posted by umezawa_takeshi View Post
Today, 2018-04-18 is the 10th anniversary from the first public release of Ut Video Codec Suite. The first release has only YUV422 variant and VCM interface.

Originally I started to develop UtVideo because Huffyuv lacked performance while HD-capturing Ace Combat 6 (Xbox 360). Since then, UtVideo has been introduced to the world --- yes, this forum thread ---, compatible implementation has been added to FFmpeg/Libav, and UtVideo is now used in various scenes.

UtVideo itself has also evolved as follows:
  • continually optimized
  • more types of internal formats
  • more types of codec interfaces
  • added 10bit/channel variants
  • added new compression algorithm/principle

What will happen in the next 10 years?
The sky is the limit, congratulations!
__________________
By law and justice!

Flea Market
GMJCZP is offline   Reply With Quote
Old 19th April 2018, 18:55   #620  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,378


Not your most active user, but a grateful one, nevertheless.
__________________

German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH 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 00:36.


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