View Full Version : Sane ProRes 422 to RAW 10-bit YUV?
the_weirdo
23rd September 2011, 18:42
You could try this build: http://www.mediafire.com/?lc6oj1s7silsqrt
EDIT: My previous build seems to be borked. Replaced with new build.
RE-EDIT: You can get new build here: http://www.mediafire.com/?58wteseii003v
kolak
23rd September 2011, 18:52
Thanks- it works and it looks like 10bit decoding is supported :)
ProRes file from Alexa decoded to v210- looks fine.
Sounds good :)
Andrew
jmac698
23rd September 2011, 18:54
My build of ffmbc:
http://www.sendspace.com/file/qvmjqj
The other link above is for a recent ffmpeg version.
Mine lists prores as a decoding format, also supports 10bit rgb and yuv.
Test and let me know if it works.
kolak
23rd September 2011, 19:25
Big file- lots of goods ?- hehe
Alexa ProRes files are here:
http://www.blackmagic-design.com/support/detail/?sid=3948&pid=4448&os=mac&leg=0&cp=True
Works fine- looks like it's faster than other build.
Decoded to raw v210 and read by v210reader- all fine :)
Andrew
jmac698
23rd September 2011, 19:44
Wow, that's great to know! Do I need those other exe's, the big ones?
I think a lot of people in forums will be happy to hear this, it's a rare exe
ffmbc compile binary build win32 exe ffmbc.exe working prores prores422 decode windows
kolak
23rd September 2011, 19:52
Never seen these big exe, have no clue what they are :)
(both ffmbc and ffmbc_g work)
Andrew
jmac698
23rd September 2011, 20:08
I don't know what ffmbc_g.exe is for, it's the big one (30mb) as opposed to the smaller ffmbc.exe (7mb). I guess I should strip the big ones.
Thanks for your report, I was worried that some dll or something might be missing.
Btw, for my next project I should compile ffms2 with suppport for 10bit direct into avisynth :)
Edit: oh duh, I bet it's the debug version...
smok3
23rd September 2011, 20:10
weeehee, gpl2 was the key on osx as well, now how do i compile this with that new android AAC encoder? (the guide i'am following is using faac), or should i just use -strict experimental at encode time?
edit:
seems to be working with:
ffmpeg -i prores.mov -vcodec libx264 -preset fast -tune film -crf 21 -threads 0 -strict experimental out.mp4
jmac698
23rd September 2011, 20:33
Do you wanna post your osx build?
smok3
23rd September 2011, 20:43
jmac698, here: https://sourceforge.net/projects/resizecalc/files/osxFFmpeg/
compiled with
./configure --prefix=${SOURCE} --enable-gpl --enable-pthreads --enable-version2 --enable-version3 --enable-nonfree --enable-libx264 --enable-avfilter --enable-filters --arch=x86 --enable-runtime-cpudetect && make -j 4 && make install
and
./x264 --version
x264 0.118.2085 8a62835
built on Sep 23 2011, gcc: 4.2.1 (Apple Inc. build 5646)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
(only tested on snow leopard)
kolak
23rd September 2011, 21:23
I don't know what ffmbc_g.exe is for, it's the big one (30mb) as opposed to the smaller ffmbc.exe (7mb). I guess I should strip the big ones.
Thanks for your report, I was worried that some dll or something might be missing.
Btw, for my next project I should compile ffms2 with suppport for 10bit direct into avisynth :)
Edit: oh duh, I bet it's the debug version...
Cool- I've tested readv210 on proper machine (i7 990x overclocked to 4.2GHz) and it works at 3fps for full HD. I think it's all due to reading file bit, so it would be nice to have different (faster) v210 importer.
kolak
23rd September 2011, 23:01
Yet another surprise (at least for me).
jmac698- I'm 90% sure that your build of ffmbc does decode/encode DNxHD at 10bit- thanks a lot for compiling it- great feature!
Nice work ffmbc team!
update: I'm 99% sure DNxHD with fmbc 0.7 supports 10bit :) I also was able to see dithering going from v210 to DNxHD (8bit) with old ffmbc 0.6- looks like it uses simple error diffusion or something like that. Very good news :)
Going to verify it on Monday :)
jmac698
24th September 2011, 00:41
I need to update readv210, it can be much faster.. much more high bit-depth stuff coming...
Yellow_
24th September 2011, 07:29
Does ffmbc offer direct avisynth script handling like ffmpeg does? It'll be a compile option if it does.
jmac698
24th September 2011, 08:23
D avs AVISynth
Yellow_
24th September 2011, 10:08
Ok, useful.
A bit much to ask but any chance of a shared build as .dll's, like swscale, libavformat etc
jmac698
24th September 2011, 17:25
Finally, I confirm the *_g versions are debug:
4.7 Why are the ffmpeg programs devoid of debugging symbols?
The build process creates ffmpeg_g, ffplay_g, etc. which contain full debug information. Those binaries are stripped to create ffmpeg, ffplay, etc. If you need the debug information, use the *_g versions.
from http://ffmpeg.org/faq.html
I'm checking out the compile options...
jmac698
24th September 2011, 18:05
You can compile any options you want yourself now, guide at http://forum.doom9.org/showthread.php?p=1528421#post1528421
kolak
24th September 2011, 18:19
:)
It looks like ProRes, DNxHD decoding works nice- tried few samples and only once got some error (some free stock footage):
[prores @ 0134aac0] ac tex damaged 2050, 2048
[prores @ 0134aac0] ac tex damaged 1612, 1024
[prores @ 0134aac0] ac tex damaged 1043, 1024
[prores @ 0134aac0] ac tex damaged 2468, 2048
[prores @ 0134aac0] ac tex damaged 1025, 1024
[prores @ 0134aac0] ac tex damaged 1031, 1024
[prores @ 0134aac0] invalid plane data size
[prores @ 0134aac0] error decoding picture
Error while decoding stream #0.0
File looked fine thought.
10fps from ProRes to v210 for full HD on my 1.4GHz low voltage CPU.
jmac698
24th September 2011, 22:58
Ok, compiled to *.dll. Had to do a bit of extra work, to strip the dll's. Also made a slight change to remove the dependancy on pthreads (as to which is better, pthreads or win32 threads, I don't know).
Link coming (check back in a bit for an edit).
Most of the binary size comes from avcodec (7MB).
Update:
And here it is:
http://www.sendspace.com/file/ck4n0u
configure --enable-gpl --enable-memalign-hack --enable-runtime-cpudetect --enable-avisynth --enable-shared --disable-static
These seem to be the minimum options. gpl2 is default and is required for ffmbc, libx264, libxavs, libxvid, x11grab
gpl3 is needed for libfaac (which isn't included here).
pthreads is used.
---
build guide at
http://forum.doom9.org/showthread.php?p=1528421
TheFluff
24th September 2011, 23:04
Ok, compiled to *.dll. Had to do a bit of extra work, to strip the dll's. Also made a slight change to remove the dependancy on pthreads (as to which is better, pthreads or win32 threads, I don't know).
Link coming (check back in a bit for an edit).
Most of the binary size comes from avcodec (7MB).
pthreads is better, threading basically doesn't work with win32threads.
TheFluff
25th September 2011, 01:14
http://forum.doom9.org/showthread.php?p=1528494#post1528494
I made a thing
if you want 4:2:2 support you need to port the avs plugin to 2.6 first but that seems like effort so I didn't do that. patch for how I did 4:2:0 is included though so it should be trivial to do 4:2:2 based on that.
kolak
25th September 2011, 21:08
Compared latest 3 ways of passing 10bit to avisynth:
readv210 script, 16bit through rawsource and ffvideosource with 10bit hack.
First 2 produce the same output after f3kdb_dither, 3rd one output is different- there is more banding visible. No 10bit passed to dither, 4:2:0 only?
In the same time readv210 is 7x slower on my laptop compared to 16bit+rawsource (not taking into count time to convert v210to 16bit).
readv210/16bit+rawsource:
http://img402.imageshack.us/img402/983/readv210.png
videosource mod:
http://img823.imageshack.us/img823/4344/videospw.png
Andrew
Yellow_
26th September 2011, 00:05
jmac698, many thanks for the .dll's and the build guide.
jmac698
29th September 2011, 19:04
More good news, lavf supports ProRes directly now, all you need is a directshowsource. 10bit support is still the problem.
LAV Video
- Integrated NVIDIA CUVID Hardware decoder
- Performance enhancements in 10bit decoding
- Support for Flash Screen Video (FSV1)
- Support for Apple ProRes
kolak
7th October 2011, 14:26
I found a bug in 10bit DNxHD decoder.
In high contrast areas it produces artefacts.
Where should I report it?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.