Hi Chris, On 09-03-15 13:30, Christoph Gerstbauer wrote:
HelloI am testing longterm archiving of DPX sequences with ffv1. (DPX encoding to FFV1 and recreating DPX from the FFV1 archivemaster)As far as I tested I can say (for the ffv1-supported pixelformats "gbrp10le" and "gbrp12le") it works lossless. All FrameMD5s are equal:Original DPX (RGB 10bit log, pix_fmt=gbrp10le) -> transcoded to ffv1 - FrameMD5 OK (pix_fmt=gbrp10le)-> transcode back to DPX (gbrp10le) but LINEAR, not logarthmic (I have no idea how to save metadata "logarthmic" into DPX) - FrameMD5 OKNow I have a problem with the lost metadata of interpretation of the RGB values. The Original has LOGARITHMIC 10bit (RGB 10bit log), the ffmpeg created DPX has LINEAR 10bit (RGB 10bit) as can be seen here:Original DPX:C:\Users\gersti>mediainfo "I:\DPX\_DPX examples\ARRI SCAN\LOG_ORIGINAL.dpx"GeneralComplete name : I:\DPX\_DPX examples\ARRI SCAN\LOG_ORIGINAL.dpxFormat : DPX Format version : Version 2 File size : 25.3 MiB Encoded date : 2011:06:03:19:25:40+10 Writing library : ARRISCAN084 Image Format : DPX Format version : Version 2 Width : 3 072 pixels Height : 2 160 pixels Display aspect ratio : 1.422 Bit depth : 10 bits Compression mode : Lossless Stream size : 25.3 MiB (100%) Writing library : ARRISCAN084 Encoded date : 2011:06:03:19:25:40+10 Color primaries : Logarithmic Recreated DPX:C:\Users\gersti>mediainfo "I:\DPX\_DPX examples\ARRI SCAN\LOG_ORIGINAL_To_FFv1_to_DPX.dpx"GeneralComplete name : I:\DPX\_DPX examples\ARRI SCAN\LOG_ORIGINAL_To_FFv1_to_DPX.dpxFormat : DPX Format version : Version 2 File size : 25.3 MiB Writing library : Lavc56.13.100 Image Format : DPX Format version : Version 2 Width : 3 072 pixels Height : 2 160 pixels Display aspect ratio : 1.422 Bit depth : 10 bits Compression mode : Lossless Stream size : 25.3 MiB (100%) Writing library : Lavc56.13.100 Color primaries : Linear Therefore my questions are:1.) How can I read out the "logarthmic" or "linear" metadata information with ffprobe? ffprobes "-show_streams", "-show_format" or "-show_frames" shows me nothing I can use:color_space=unknown (should this be RGB at gbrp10le?) color_transfer=unknowncolor_primaries=unknown (should this be "logarithmic" or "linear" like in the mediainfo information block?)used ffmpeg version: ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers built on Feb 16 2015 15:15:26 with gcc 4.8 (GCC)
I don't know about ffprobe's internals but i guess it's not implemented. Not many of DPX specs are.
2.) If ffmpeg is able to read out this information from the original DPX how can I save it back into the recreated DPX?Maybe with -color_primaries <value>?
ffmpeg's DPX encode is hardcoded to write 'linear' into the header.
for now, if you want to write 'logarithmic' into the header, you can change
and compiled ffmpeg yourself, here's a manual change:
in this file:
<ffmpeg src>/libavcodec/dpxenc.c
change (around line 217):
buf[801] = 2; /* linear transfer */
to:
buf[801] = 3; /* linear transfer */
then recompile.
All DPX headers you create will then be considered to contain log pixeldata.
3.) How can I read out the DPX Version information like mediainfo does? (Version 2)
Colorimetrics is not the right name.Color primaries are the settings for where for instance the Red, Green and Blue
values are defined in a certain colourspace. Lin/Log says is about the gamma.
Thanks for your help!
i hope this helps you out a bit...
Best Regards Christoph
greets ArnoB _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
