I tried to put DNxHR presets under the .mov container. The advantages of using this mezzanine codec are great quality and efficiency (like ProRes) and being self-managed for each resolution and bit-rate (unlike DNxHD which has many fixed and unalterable formats for each resolution). The only disadvantage compared to DNxHD is that it supports only progressive and not interlaced signals. If someone wants to try them, I make them available (there are also 2 audio presets of type pcm). They seem to work apart from some settings: - Pixel_format gbrp10le of pulldown ("pixels:") does not work (it remains yuv type). - in pixel_format pulldown there is no choice for bit-depth=12; while DNxHR_HQX and DNxHR_444 profiles should be 12-bit (for resolutions higher than FullHD). Is this a limit of CinGG? - pix_fmt=rgb24 does not work. Since I can't find any official documentation, if you have any advice please say so. I based on these articles: https://dovidenko.com/2019/999/ffmpeg-dnxhd-dnxhr-mxf-proxies-and-optimized-... https://macilatthefront.blogspot.com/2018/12/tutorial-using-ffmpeg-for-dnxhd...
В сообщении от Sunday 08 November 2020 16:26:24 Andrea paz via Cin написал(а):
I tried to put DNxHR presets under the .mov container. The advantages of using this mezzanine codec are great quality and efficiency (like ProRes) and being self-managed for each resolution and bit-rate (unlike DNxHD which has many fixed and unalterable formats for each resolution). The only disadvantage compared to DNxHD is that it supports only progressive and not interlaced signals.
If someone wants to try them, I make them available (there are also 2 audio presets of type pcm). They seem to work apart from some settings:
- Pixel_format gbrp10le of pulldown ("pixels:") does not work (it remains yuv type). - in pixel_format pulldown there is no choice for bit-depth=12; while DNxHR_HQX and DNxHR_444 profiles should be 12-bit (for resolutions higher than FullHD). Is this a limit of CinGG?
I think this is unimplemented functionality in ffmpeg: https://trac.ffmpeg.org/ticket/7280 https://git.ffmpeg.org/gitweb/ffmpeg.git/blob_plain/HEAD%3A/libavcodec/dnxhd... .pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE }, unfortunately, adding 12 bit support is not as easy as adding just one line here ... 10-bit support was added in https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/f078bc4c5e6675a93166a7e5b23f...
- pix_fmt=rgb24 does not work.
Since I can't find any official documentation, if you have any advice please say so.
I based on these articles:
https://dovidenko.com/2019/999/ffmpeg-dnxhd-dnxhr-mxf-proxies-and-optimized-...
https://macilatthefront.blogspot.com/2018/12/tutorial-using-ffmpeg-for-dnxhd...
Yes, you are right, ffmpeg does not handle 12-bit DNxHR. Thanks. The options it offers (yuv422p; yuv422p10le; yuv444p10le and gbrp10le) are the only ones possible and therefore they are the right ones. I enclose the changes. The only problem is in using DNxHR_444: if you set the pixel format yuv444p10le the resulting file is RGB; if you set gbrp10le the resulting file is YUV. So the opposite happens! If you can verify this, please do me a favor. I renamed the audio preset DNxHR_pcm_s24.mov to DNxHR_pcm_s32.mov because in reality the only option it offers is 32-bit sampling and not 24-bit sampling.
В сообщении от Monday 09 November 2020 11:23:37 Andrea paz via Cin написал(а):
Yes, you are right, ffmpeg does not handle 12-bit DNxHR. Thanks. The options it offers (yuv422p; yuv422p10le; yuv444p10le and gbrp10le) are the only ones possible and therefore they are the right ones. I enclose the changes. The only problem is in using DNxHR_444: if you set the pixel format yuv444p10le the resulting file is RGB; if you set gbrp10le the resulting file is YUV. So the opposite happens! If you can verify this, please do me a favor.
Strange, it works fine for me - but I clicked on 'video options / view' and checked that right profile was selected. (so, 'profile ...' line jumped up one line in its window.) In another Cin in asset info I see: 1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix gbrp10le for DNxHR-gbr10.mov and 1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv444p10le for /dev/shm/DNxHR-yuv10.mov so, for me there is no inversion, but may be because I clicked on options and not run it out of the box. No, it works even if I don't visit those settings ... BUT yuv422p10le and yuv422p doesn't work for me... in DNxHR_444.mov profile even if they are selectable .... [dnxhd @ 0xd0690b00] pixel format is incompatible with DNxHD profile [dnxhd @ 0xd0690700] ff_frame_thread_encoder_init failed FFMPEG::open_encoder err: Operation not permitted int FFMPEG::open_encoder(const char *, const char *): open failed dnxhd:/dev/shm/DNxHR-yuv10.mov Render::render_single: Session finished. [dnxhd @ 0xd348fc00] pixel format is incompatible with DNxHD profile [dnxhd @ 0xd348f840] ff_frame_thread_encoder_init failed FFMPEG::open_encoder err: Operation not permitted int FFMPEG::open_encoder(const char *, const char *): open failed dnxhd:/dev/shm/DNxHR-yuv10.mov Render::render_single: Session finished. this is with ffmpeg git, not 4.3 (while I can't see much changes in this codec between those?)
I renamed the audio preset DNxHR_pcm_s24.mov to DNxHR_pcm_s32.mov because in reality the only option it offers is 32-bit sampling and not 24-bit sampling.
I tried to modify those presets so they show/select right pixel format, but for some reason file path: /dev/shm/DNxHR-yuv422-8bit.mov 435864233 bytes info: format: mov,mp4,m4a,3gp,3g2,mj2 1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv422p is basically same size as file path: /dev/shm/DNxHR-yuv422.mov 435864233 bytes info: format: mov,mp4,m4a,3gp,3g2,mj2 1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv422p10le color space:bt709/ range:tv 472+0 frms 15.73 secs 0:00:15.73 (both play fast/realtime on my machine, as opposed to DNxHR_444)
Andrew, I have successfully tested these 3 + the 2 latest versions of LB and SQ from a subsequent email. And also the 2 audio ones. I would like to check them into GIT but was wondering if it would not be more consistent to use all lowercase letters instead of capital letters for file names? What do you think? So instead of DNxHR_HQ.mov it would be dnxhr_hq.mov. All of the other formats (with one exception) seem to be lower case. On Mon, Nov 9, 2020 at 9:52 AM Andrew Randrianasulu via Cin < [email protected]> wrote:
I tried to modify those presets so they show/select right pixel format, but for some reason
file path: /dev/shm/DNxHR-yuv422-8bit.mov 435864233 bytes info: format: mov,mp4,m4a,3gp,3g2,mj2
1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv422p
is basically same size as
file path: /dev/shm/DNxHR-yuv422.mov 435864233 bytes info: format: mov,mp4,m4a,3gp,3g2,mj2
1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv422p10le color space:bt709/ range:tv 472+0 frms 15.73 secs 0:00:15.73
(both play fast/realtime on my machine, as opposed to DNxHR_444) -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
В сообщении от Thursday 26 November 2020 01:20:14 Phyllis Smith via Cin написал(а):
Andrew, I have successfully tested these 3 + the 2 latest versions of LB and SQ from a subsequent email. And also the 2 audio ones. I would like to check them into GIT but was wondering if it would not be more consistent to use all lowercase letters instead of capital letters for file names? What do you think? So instead of DNxHR_HQ.mov it would be dnxhr_hq.mov. All of the other formats (with one exception) seem to be lower case.
I just keep them named like they were named initially, but I agree making naming consistent is good. Go for lowercase!
On Mon, Nov 9, 2020 at 9:52 AM Andrew Randrianasulu via Cin < [email protected]> wrote:
I tried to modify those presets so they show/select right pixel format, but for some reason
file path: /dev/shm/DNxHR-yuv422-8bit.mov 435864233 bytes info: format: mov,mp4,m4a,3gp,3g2,mj2
1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv422p
is basically same size as
file path: /dev/shm/DNxHR-yuv422.mov 435864233 bytes info: format: mov,mp4,m4a,3gp,3g2,mj2
1 video stream vid0 (0), id 0x000063: video1 dnxhd 1920x1080 30.00 pix yuv422p10le color space:bt709/ range:tv 472+0 frms 15.73 secs 0:00:15.73
(both play fast/realtime on my machine, as opposed to DNxHR_444) -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
participants (3)
-
Andrea paz -
Andrew Randrianasulu -
Phyllis Smith