PDA

View Full Version : [solved] Decoding DNxHD 10bit with MPlayer?


Selur
26th November 2010, 17:37
Since I managed to get mencoder&mplayer to playback/decode Apple ProRes I was wondering if someone here knows a way how to playback/decode DNXHD 10bit Material (http://www.limpans.com/DNxHD%20Samples.htm)?
Maybe by using the Quicktime Components coming with the Avid QuickTime Codecs LE 2.1 (http://avid.custkb.com/avid/app/selfservice/search.jsp?DocId=263545)?
(AvidAVdnCodec.qtx should be the one needed,..)

Cu Selur

Ps.: No, I don't want to use Avisynth or any Avisynth plugin to do the job, I'm interested to know if someone know a way do to it with mplayer/mencoder.

Reimar
26th November 2010, 18:46
Implement 10-bit support in FFmpeg's DNxHD decoder? :)
But in principle yes, using the Quicktime component should be possible, it is basically a matter of adding an entry for it to the codecs.conf file (so should not even need a recompile, though you would probably need a SVN checkout to get an "initial" copy if that file).
There is supposed to be a document describing how to add support for a binary codec somewhere in the documentation but I don't know where exactly.

Selur
26th November 2010, 18:57
Looking at the codecs.conf file in the SVN I really need some good documentation to get this working,.. so still hoping someone know a bit more about this,...
(just realized there are two codecs.conf files one in the main folder and one under etc,..)

Okay, I found: http://www.mplayerhq.hu/DOCS/tech/codecs.conf.txt, copied etc/codecs.conf to the folder where my mplayer bianary lies, removed:
videocodec ffdnxhd
info "FFmpeg DNxHD"
status working
fourcc AVdn
driver ffmpeg
dll "dnxhd"
out 422P
and added:
videocodec dnxhd
info "QuickTime Avid DNxHD"
status untested
fourcc AVdn
driver qtvideo
dll "AvidAVdnCodec.qtx"
out YUY2

but judging from the mplayer output: MPlayer Sherpya-SVN-r32492-4.2.5 (C) 2000-2010 MPlayer Team

Playing test - clips\problematic\DNxHD_10bit.mov.
libavformat file format detected.
[dnxhd @ 01f14fb0] 10 bit per component
[dnxhd @ 01f14fb0] 10 bit per component
[dnxhd @ 01f14fb0] 10 bit per component
[dnxhd @ 01f14fb0] 10 bit per component
[dnxhd @ 01f14fb0] 10 bit per component
[dnxhd @ 01f14fb0] 10 bit per component
[lavf] stream 0: video (dnxhd), -vid 0
[lavf] stream 1: audio (pcm_s16be), -aid 0, -alang eng
VIDEO: [AVdn] 1920x1080 24bpp 25.000 fps 183500.8 kbps (22400.0 kbyte/s)
Clip info:
major_brand: qt
minor_version: 537199360
compatible_brands: qt
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffdnxhd] vfm: ffmpeg (FFmpeg DNxHD)
==========================================================================
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 48000 Hz, 2 ch, s16be, 0.0 kbit/0.00% (ratio: 0->192000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [dsound] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...

...

Exiting... (End of file)
it doesn't seem like MPlayer takes notice of my external codecs.conf file,.. :/
-> found it, needs to be in a 'mplayer' named subdirectory of the directory where mplayer is located

mplayer "test - clips\problematic\DNxHD_10bit.mov" -demuxer mov -forcedsubsonly -noautosub -fps 25 -lavdopts threads=8 -font "C:/Windows/Fonts/10249.ttf" -osdlevel 3 -fixed-vo -vo direct3d
now gives me a
MPlayer Sherpya-SVN-r32492-4.2.5 (C) 2000-2010 MPlayer Team
159 audio & 355 video codecs

Playing D:\Hybrid\test - clips\problematic\DNxHD_10bit.mov.
ISO: File Type Major Brand: Original QuickTime
Quicktime/MOV file format detected.
[mov] Video stream found, -vid 0
[mov] Audio stream found, -aid 1
VIDEO: [AVdn] 1920x1080 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [qtvideo] Quicktime Video decoder
02 01 00 00 41 56 64 6E 00 00 00 00 00 00 00 00
D9 04 08 00 44 49 56 41 00 00 00 00 00 03 00 00
80 07 38 04 00 00 48 00 00 00 48 00 00 00 00 00
01 00 10 41 76 69 64 20 44 4E 78 48 44 20 43 6F
64 65 63 F3 F2 F4 F6 F5 FA F9 FB FC 86 B0 A2 A3
A7 95 18 00 FF FF 00 00 00 18 41 43 4C 52 41 43
4C 52 30 30 30 31 00 00 00 02 00 00 00 00 00 00
00 18 41 50 52 47 41 50 52 47 30 30 30 31 00 00
00 02 00 00 00 00 00 00 00 78 41 52 45 53 41 52
45 53 30 30 30 31 00 00 04 D9 00 00 07 80 00 00
02 1C 00 00 00 02 00 00 00 00 00 00 00 04 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
=============== ImageDescription at 0684de80 ==================
idSize=0x102 fourcc=0x6E645641
ver=1241 rev=8 vendor=0x41564944
tempQ=0 spatQ=768 dim: 1920 x 1080 dpi: 72.00 x 72.00 depth: 24
dataSize=0 frameCount=1 clutID=-1
name='Avid DNxHD Codec'
00 00 00 18 | 41 43 4C 52 | 41 43 4C 52 | 30 30 30 31
=========================================================
VDecoder init failed :(
-> now I just need the VDecoder working ;)

got it working with:
videocodec dnxhd
info "QuickTime Avid DNxHD"
status untested
fourcc AVdn
driver qtvideo
dll "AvidAVdnCodec.qtx"
out BGR24

-> nice :D

Cu Selur

kolak
26th November 2010, 20:47
-> now I just need the VDecoder working ;)

got it working with:
videocodec dnxhd
info "QuickTime Avid DNxHD"
status untested
fourcc AVdn
driver qtvideo
dll "AvidAVdnCodec.qtx"
out BGR24

-> nice :D

Cu Selur

How fast is decoding?
No gamma, color shifts? It would be better to have YUY2 on the output. Most DNxHD steams will be YUV, only in some cases they will be RGB (DNxHD supports both)

Is decoding multithreaded ?

Andrew

Selur
26th November 2010, 20:58
I accidentally deleted my DNxHD test file -> downloading it in the background
No gamma, color shifts?
dont' think so, but definitely nothing major will look at it again once the download is finished,..

How fast is decoding?
Didn't do any benchmarks and I'm not sure how to do one. :) (will try the -benchmark parameter for mplayer)

=> Update:
mplayer "D:\Hybrid\test - clips\DNxHD_10bit.mov" -demuxer mov -forcedsubsonly -noautosub -nosound -lavdopts threads=8 -font "C:/Windows/Fonts/10249.ttf" -benchmark -vo null

gives me:
MPlayer Sherpya-SVN-r32492-4.2.5 (C) 2000-2010 MPlayer Team
159 audio & 355 video codecs

Playing D:\Hybrid\test - clips\DNxHD_10bit.mov.
ISO: File Type Major Brand: Original QuickTime
Quicktime/MOV file format detected.
[mov] Video stream found, -vid 0
[mov] Audio stream found, -aid 1
VIDEO: [AVdn] 1920x1080 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [qtvideo] Quicktime Video decoder
02 01 00 00 41 56 64 6E 00 00 00 00 00 00 00 00
D9 04 08 00 44 49 56 41 00 00 00 00 00 03 00 00
80 07 38 04 00 00 48 00 00 00 48 00 00 00 00 00
01 00 10 41 76 69 64 20 44 4E 78 48 44 20 43 6F
64 65 63 F3 F2 F4 F6 F5 FA F9 FB FC 86 B0 A2 A3
A7 95 18 00 FF FF 00 00 00 18 41 43 4C 52 41 43
4C 52 30 30 30 31 00 00 00 02 00 00 00 00 00 00
00 18 41 50 52 47 41 50 52 47 30 30 30 31 00 00
00 02 00 00 00 00 00 00 00 78 41 52 45 53 41 52
45 53 30 30 30 31 00 00 04 D9 00 00 07 80 00 00
02 1C 00 00 00 02 00 00 00 00 00 00 00 04 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
=============== ImageDescription at 044fde80 ==================
idSize=0x102 fourcc=0x6E645641
ver=1241 rev=8 vendor=0x41564944
tempQ=0 spatQ=768 dim: 1920 x 1080 dpi: 72.00 x 72.00 depth: 24
dataSize=0 frameCount=1 clutID=-1
name='Avid DNxHD Codec'
00 00 00 18 | 41 43 4C 52 | 41 43 4C 52 | 30 30 30 31
=========================================================
Movie-Aspect is undefined - no prescaling applied.
VO: [null] 1920x1080 => 1920x1080 BGR 24-bit
Selected video codec: [dnxhd] vfm: qtvideo (QuickTime Avid DNxHD)
==========================================================================
Audio: no sound
Starting playback...
V: 23.0 576/576 49% 0% 0.0% 0 0


BENCHMARKs: VC: 11.489s VO: 0.001s A: 0.000s Sys: 1.311s = 12.801s
BENCHMARK%: VC: 89.7508% VO: 0.0078% A: 0.0000% Sys: 10.2414% = 100.0000%

Exiting... (End of file)

mencoder "D:\Hybrid\test - clips\DNxHD_10bit.mov" -ovc raw -noskip -demuxer mov -vid 0 -vf scale,format=i420 -forcedsubsonly -noautosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -fps 25 -aspect 1.77778:1 -of rawvideo -o - | x264 --preset ultrafast --qp 18 --sync-lookahead 15 --fps 25 --input-res 1920x1080 --output "D:\Hybrid\test - clips\test_22_20_49_871_01.264" -
gives me:
raw [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile Constrained Baseline, level 4.0
[swscaler @ 02d20050] using unscaled bgr24 -> yuv420p special converter
x264 [info]: frame I:3 Avg QP:15.00 size:558952
x264 [info]: frame P:573 Avg QP:18.00 size:316017
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 21.5% 0.0% 0.0% P16..4: 78.5% 0.0% 0.0% 0.0% 0
.0% skip: 0.1%
x264 [info]: coded y,uvDC,uvAC intra: 97.9% 54.8% 4.9% inter: 96.5% 33.2% 0.1%
x264 [info]: i16 v,h,dc,p: 4% 54% 33% 9%
x264 [info]: i8c dc,h,v,p: 39% 38% 17% 7%
x264 [info]: kb/s:63456.50

encoded 576 frames, 30.71 fps, 63456.50 kb/s


It woudl be better to have YUY2 on the output.
"out YUY2" gave me a 'VDecoder init failed' and atm. I'm happy to be able to decode the material with mencoder&mplayer at all. :P

Cu Selur

Reimar
26th November 2010, 21:30
"out YUY2" gave me a 'VDecoder init failed' and atm. I'm happy to be able to decode the material with mencoder&mplayer at all. :P


YV12 probably would be best if it is supported and the input is 4:2:0.

Selur
26th November 2010, 21:31
DNxHD 10bit -> is 4:2:2 ;)

kolak
26th November 2010, 22:21
Try simple decode to something easy to encode or uncompressed if you have RAID. This will show possibilities of decoding.

I can get about 1.5x-2x faster than RT decoding to uncompressed (avisynth with QT import plugin).
If it goes through AVID codecs than it will be probably the same. AVID's QT decoder is not multithreaded- this what I have heard.
Would be nice to have faster decoding.

Andrew

Selur
27th November 2010, 07:05
it took Mplayer 12.801s to decode a 23 second clip so 2x RT seems to be right,..

Reimar
27th November 2010, 07:52
DNxHD 10bit -> is 4:2:2 ;)

Ok, that leaves UYVY and YVYU to try if you want. I think you can also specify multiple formats in order of preference, I just do not know if that will work with the qt binary codecs (the implementation is somewhat... suboptimal).

Selur
27th November 2010, 07:58
Ok, that leaves UYVY and YVYU to try if you want.
UYVY -> works
YVYU -> no video
->
videocodec dnxhd
info "QuickTime Avid DNxHD"
status working
fourcc AVdn
driver qtvideo
dll "AvidAVdnCodec.qtx"
out UYVY,BGR24

Benchmark-call from above delivers:
BENCHMARKs: VC: 4.168s VO: 0.001s A: 0.000s Sys: 2.362s = 6.531s
BENCHMARK%: VC: 63.8187% VO: 0.0153% A: 0.0000% Sys: 36.1660% = 100.0000%

x264 Encoding call from above gives:
raw [info]: 1920x1080p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile Constrained Baseline, level 4.0
[swscaler @ 03046530] using unscaled uyvy422 -> yuv420p special converter
x264 [info]: frame I:3 Avg QP:15.00 size:552656
x264 [info]: frame P:573 Avg QP:18.00 size:311650
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 21.4% 0.0% 0.0% P16..4: 78.5% 0.0% 0.0% 0.0% 0.0% skip: 0.1%
x264 [info]: coded y,uvDC,uvAC intra: 97.7% 48.6% 3.6% inter: 96.2% 32.6% 0.1%
x264 [info]: i16 v,h,dc,p: 4% 54% 33% 8%
x264 [info]: i8c dc,h,v,p: 41% 36% 16% 7%
x264 [info]: kb/s:62581.10

encoded 576 frames, 71.10 fps, 62581.10 kb/s

-> yes, UYVY gives a nice Speedup. :)

Cu Selur


Ps.: Looking at the .qtx files coming with Avid QuickTime Codecs LE 2.1 some additional formats would be possible to decode,..
- AvidAV1xCodec.qtx: Avid 1:1x codec (Uncompressed MXF 8-bit)
- AvidAVd1Codec.qtx: Avid DV 100 codec (MXF)
- AvidAVdnCodec.qtx: Avid DNxHD codec (MXF)
- AvidAVdvCodec.qtx: Avid DV codec(DV 25 and DV 50, OMF and MXF)
- AvidAVpkCodec.qtx: Avid Packed codec (Uncompressed MXF 10-bit)
- AvidQTAVJICodec.qtx: Avid Meridien Compressed codec (OMF 8-bit)
- AvidQTAVUICodec.qtx: Avid Meridien Uncompressed codec (OMF 8-bit)
-> won't test these since I got no samples to test with.

Reimar
27th November 2010, 09:58
UYVY -> works
YVYU -> no video
->
videocodec dnxhd
info "QuickTime Avid DNxHD"
status working
fourcc AVdn
driver qtvideo
dll "AvidAVdnCodec.qtx"
out UYVY,BGR24


Thanks, I added that to MPlayer's codecs.conf, so for builds from SVN r32649 or later you won't need to do this change anymore.
It's a good idea to delete your custom codecs.conf version, even though MPlayer should start ignoring it when it notices it is outdated.


Ps.: Looking at the .qtx files coming with Avid QuickTime Codecs LE 2.1 some additional formats would be possible to decode,..
- AvidAV1xCodec.qtx: Avid 1:1x codec (Uncompressed MXF 8-bit)
- AvidAVd1Codec.qtx: Avid DV 100 codec (MXF)
- AvidAVdnCodec.qtx: Avid DNxHD codec (MXF)
- AvidAVdvCodec.qtx: Avid DV codec(DV 25 and DV 50, OMF and MXF)
- AvidAVpkCodec.qtx: Avid Packed codec (Uncompressed MXF 10-bit)
- AvidQTAVJICodec.qtx: Avid Meridien Compressed codec (OMF 8-bit)
- AvidQTAVUICodec.qtx: Avid Meridien Uncompressed codec (OMF 8-bit)
-> won't test these since I got no samples to test with.

Most of these should either already be supported or easy to add support for in FFmpeg. I admit I do not know what OMF is though. Possibly extending DNxHD for 10-bit support wouldn't be that hard either, but the specification (which is SMPTE VC-3) is only for-pay unfortunately (it's not unaffordable but I don't really have time anyway).

Selur
27th November 2010, 10:05
Thanks, I added that to MPlayer's codecs.conf, so for builds from SVN r32649 or later you won't need to do this change anymore.
Nice! Thanks a lot!
While at it: Could you also change the "printf("-calls in the components.h to "printf(stderr, " calls?
The printf calls break the video output when using stdout-pipes.
I stumbled over it when trying to reencode ProRes content with mencoder, see: http://forum.doom9.org/showthread.php?t=158066

Cu Selur

kolak
27th November 2010, 11:40
UYVY -> works
....
x264 Encoding call from above gives:


-> yes, UYVY gives a nice Speedup. :)



Can you tell me how to use it please?


mencoder "D:\Hybrid\test - clips\DNxHD_10bit.mov" -ovc raw -noskip -demuxer mov -vid 0 -vf scale,format=i420 -forcedsubsonly -noautosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -fps 25 -aspect 1.77778:1 -of rawvideo -o

Is it this part and then output format?
What do I have to add to save to uncompressed avi?

Did you try with MXF- should be faster.

Thanks,
Andrew

Selur
27th November 2010, 12:16
Can you tell me how to use it please?
I posted the codecs.conf modifications,.. not sure what's unclear. :)

Is it this part and then output format?
Output format is i420 "-vf scale,format=i420" which I from stdout " -o - " to " | x264 ... "

What do I have to add to save to uncompressed avi?
if you change "-o -" to " -o test.yuv" you will end up with a raw i420 file.
If you want another raw format you need to modify the 'format=i420' part,...
If you want the raw video inside an avi you need to change '-of rawvideo' to '-of avi' and "-o -" to " -o test.avi"
(if you remove '-vf scale,format=i420' output should be "UYVY")

Did you try with MXF- should be faster.
No, got no .mxf file here to test.

Cu Selur

Reimar
27th November 2010, 12:27
Nice! Thanks a lot!
While at it: Could you also change the "printf("-calls in the components.h to "printf(stderr, " calls?
The printf calls break the video output when using stdout-pipes.


That's why you should rather use named pipes instead of stdout, but I realize that's a pain in Windows :)
I don't want to change that file since other stuff uses it as well, and if anything it should use mp_msg instead of printf, but I changed it so it will only be printed if you use -v, which for your purpose should have the same effect.

Selur
27th November 2010, 12:31
I changed it so it will only be printed if you use -v, which for your purpose should have the same effect.
Excellent, thanks!

kolak
27th November 2010, 12:43
I posted the codecs.conf modifications,.. not sure what's unclear. :)


Output format is i420 "-vf scale,format=i420" which I from stdout " -o - " to " | x264 ... "


if you change "-o -" to " -o test.yuv" you will end up with a raw i420 file.
If you want another raw format you need to modify the 'format=i420' part,...
If you want the raw video inside an avi you need to change '-of rawvideo' to '-of avi' and "-o -" to " -o test.avi"
(if you remove '-vf scale,format=i420' output should be "UYVY")


No, got no .mxf file here to test.

Cu Selur

Thanks. UYVY avi is what I want.

MXF samples:
http://opencubetech.com/page47/
no DNxHD sample :(

Andrew

Selur
27th November 2010, 13:06
Yup, downloaded these samples and couldn't playback some them:

op1a-jpeg2k-wave_hd.mxf -> no video - missing 'm3jp2k32.dll', the one in mplayers package was a expired trial so I deleted it some time back
op1a-mpeg2-wave_hd.mxf -> no video - [mxf @ 01d5d5d0] only frame wrapped mappings are correctly supported
op1a-up-wave_hd.mxf -> no video - Cannot find codec matching selected -vo and video format 0x18524742.
op2b-mpeg2-wave_hd.mxf -> broken output - Slices start in the middle!
xdcam-pal-d10-imx30.mxf -> broken output - Slices start in the middle!
xdcam-pal-d10-imx50.mxf -> broken output - Slices start in the middle!

dvcpro25\CONTENTS\VIDEO\000002.MXF"
[mxf @ 01bd0fe0] only frame wrapped mappings are correctly supported
[mxf @ 01bd0fe0] material track 3: no corresponding source package found
[mxf @ 01bd0fe0] material track 4: no corresponding source package found
[mxf @ 01bd0fe0] material track 5: no corresponding source package found
[mxf @ 01bd0fe0] material track 6: no corresponding source package found

dvcpro50\CONTENTS\VIDEO\000001.MXF"
[mxf @ 01bd0fe0] only frame wrapped mappings are correctly supported
[mxf @ 01bd0fe0] material track 3: no corresponding source package found
[mxf @ 01bd0fe0] material track 4: no corresponding source package found
[mxf @ 01bd0fe0] material track 5: no corresponding source package found
[mxf @ 01bd0fe0] material track 6: no corresponding source package found

the imx files will probably work with the QuickTime IMX Codec for Windows (http://www.nanocosmos.de/v3/en/quicktimeIMX.html) (400€/ 500$)
the dvpro files should work with the Quicktime DVCPRO HD Decoder (http://www.nanocosmos.de/v3/de/dvcprohd.html) (250,00€/350.00$)
the jpeg2k should work with the Morgan M-JPEG codec V3 (http://www.morgan-multimedia.com/technicalsV3.htm) ($20/20€)
no clue about the wave_hd files

But for the moment, I'm happy with mov(DNxHD) decoding. :P

Cu Selur

kolak
27th November 2010, 13:40
Yup, downloaded these samples and couldn't playback some them:

op1a-jpeg2k-wave_hd.mxf -> no video - missing 'm3jp2k32.dll', the one in mplayers package was a expired trial so I deleted it some time back
op1a-mpeg2-wave_hd.mxf -> no video - [mxf @ 01d5d5d0] only frame wrapped mappings are correctly supported
op1a-up-wave_hd.mxf -> no video - Cannot find codec matching selected -vo and video format 0x18524742.
op2b-mpeg2-wave_hd.mxf -> broken output - Slices start in the middle!
xdcam-pal-d10-imx30.mxf -> broken output - Slices start in the middle!
xdcam-pal-d10-imx50.mxf -> broken output - Slices start in the middle!

dvcpro25\CONTENTS\VIDEO\000002.MXF"
[mxf @ 01bd0fe0] only frame wrapped mappings are correctly supported
[mxf @ 01bd0fe0] material track 3: no corresponding source package found
[mxf @ 01bd0fe0] material track 4: no corresponding source package found
[mxf @ 01bd0fe0] material track 5: no corresponding source package found
[mxf @ 01bd0fe0] material track 6: no corresponding source package found

dvcpro50\CONTENTS\VIDEO\000001.MXF"
[mxf @ 01bd0fe0] only frame wrapped mappings are correctly supported
[mxf @ 01bd0fe0] material track 3: no corresponding source package found
[mxf @ 01bd0fe0] material track 4: no corresponding source package found
[mxf @ 01bd0fe0] material track 5: no corresponding source package found
[mxf @ 01bd0fe0] material track 6: no corresponding source package found

the imx files will probably work with the QuickTime IMX Codec for Windows (http://www.nanocosmos.de/v3/en/quicktimeIMX.html) (400€/ 500$)
the dvpro files should work with the Quicktime DVCPRO HD Decoder (http://www.nanocosmos.de/v3/de/dvcprohd.html) (250,00€/350.00$)
the jpeg2k should work with the Morgan M-JPEG codec V3 (http://www.morgan-multimedia.com/technicalsV3.htm) ($20/20€)
no clue about the wave_hd files

But for the moment, I'm happy with mov(DNxHD) decoding. :P

Cu Selur

Wave is audio file- PCM :)
Yes - you need decoders for DVCPROHD etc.


Andrew

Reimar
27th November 2010, 14:04
Yup, downloaded these samples and couldn't playback some them:

op1a-jpeg2k-wave_hd.mxf -> no video - missing 'm3jp2k32.dll', the one in mplayers package was a expired trial so I deleted it some time back
op1a-up-wave_hd.mxf -> no video - Cannot find codec matching selected -vo and video format 0x18524742.
op2b-mpeg2-wave_hd.mxf -> broken output - Slices start in the middle!
xdcam-pal-d10-imx30.mxf -> broken output - Slices start in the middle!
xdcam-pal-d10-imx50.mxf -> broken output - Slices start in the middle!


jpeg2k works just fine if you compiled MPlayer with support for libopenjpeg (well, as long as you do not care about speed).
The uncompressed one is probably fixed (well somewhat), but what kind of... well, honestly idiot makes an uncompressed RGB sample that contains only black frames? That's useless for verifying anything.
The others in above list (all are ordinary MPEG-2) play fine for me, I guess you'll have to either remove the -lavdopts threads=... or use -noslices.
The rest is not supported, and honestly this "clip wrapped MXF" is quite nonsense anyway.

kolak
27th November 2010, 14:19
jpeg2k works just fine if you compiled MPlayer with support for libopenjpeg (well, as long as you do not care about speed).
The uncompressed one is probably fixed (well somewhat), but what kind of... well, honestly idiot makes an uncompressed RGB sample that contains only black frames? That's useless for verifying anything.
The others in above list (all are ordinary MPEG-2) play fine for me, I guess you'll have to either remove the -lavdopts threads=... or use -noslices.
The rest is not supported, and honestly this "clip wrapped MXF" is quite nonsense anyway.

MXF is getting bigger and bigger support- it's for broadcast usage, but it would be nice to have one wrapper which works on every platform etc. MXF has a chance.

I'm interested mainly in fast DNxHD decoding. AVID codecs are not the fastest implementation. It's I frame based codec and it should be easy to make it multithreaded, like Canopus HQ or Cineform.
Selur's x264 encode looks fast.

Andrew

Reimar
27th November 2010, 14:31
MXF is getting bigger and bigger support- it's for broadcast usage, but it would be nice to have one wrapper which works on every platform etc. MXF has a chance.


The thing that MPlayer does not support is "clip-wrapped" MXF. Clip-wrapped means you take a random multimedia file and just throw a header in front.
That's not a multimedia format, that is crap, it does not even allow seeking.
However I noticed the clip-wrapped MPEG-2 plays just fine (ignoring the seeking issue).
The clip-wrapped DVCPRO plays only the first frame, since we miss a parser for that format.
However it is possible to play it with -lavfdopts format=dv . Seeking does not work at all, but that is a bug, it should "only" work badly.

kolak
29th November 2010, 10:41
How fast is decoding?
No gamma, color shifts? It would be better to have YUY2 on the output. Most DNxHD steams will be YUV, only in some cases they will be RGB (DNxHD supports both)

Is decoding multithreaded ?

Andrew

No gamma, color shifts :)


Andrew

Selur
29th November 2010, 15:02
Is decoding multithreaded ?
don't think so, afaik all the avid codecs are single thread codecs,..

Selur
29th November 2010, 16:10
Small update, found two other avid decoders that work CMAvidHDCodec.avx and DNxHDCodec.dll (which come with AVID MediaFuze), here are the codecs.conf entries:

videocodec dnxhd
info "QuickTime Avid DNxHD"
status working
fourcc AVdn
driver qtvideo
dll "CMAvidHDCodec.avx"
out UYVY,YUY2,BGR24

videocodec dnxhd
info "QuickTime Avid DNxHD"
status working
fourcc AVdn
driver qtvideo
dll "DNxHDCodec.dll"
out UYVY,YUY2,BGR24

note, both support YUY2 Output, but the UYVY output is, at least for -benchmark the fastest, but if you need raw YUY2 output one of them are probably the best way to go.
(speed wise all three decoders seem to be equally fast for UYVY output, with my 23 seconds clip; since "AvidAVdnCodec.qtx" is freely available it is probably the one most people will use)

Cu Selur

Ps.: does anyone know if it is possible to add all three codec.conf entries as some sort of alternative for mplayer to choose from?

kolak
29th November 2010, 18:33
Small update, found two other avid decoders that work CMAvidHDCodec.avx and DNxHDCodec.dll (which come with AVID MediaFuze), here are the codecs.conf entries:

videocodec dnxhd
info "QuickTime Avid DNxHD"
status working
fourcc AVdn
driver qtvideo
dll "CMAvidHDCodec.avx"
out UYVY,YUY2,BGR24

videocodec dnxhd
info "QuickTime Avid DNxHD"
status working
fourcc AVdn
driver qtvideo
dll "DNxHDCodec.dll"
out UYVY,YUY2,BGR24

note, both support YUY2 Output, but the UYVY output is, at least for -benchmark the fastest, but if you need raw YUY2 output one of them are probably the best way to go.
(speed wise all three decoders seem to be equally fast for UYVY output, with my 23 seconds clip; since "AvidAVdnCodec.qtx" is freely available it is probably the one most people will use)

Cu Selur

Ps.: does anyone know if it is possible to add all three codec.conf entries as some sort of alternative for mplayer to choose from?

AVID MetaFuze- is also free application.


Andrew

Selur
29th November 2010, 18:35
Nice. Thought it was payware. :)