Hi Chris,

On 09-03-15 13:30, Christoph Gerstbauer wrote:
Hello

I 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 OK

Now 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"
General
Complete name : I:\DPX\_DPX examples\ARRI SCAN\LOG_ORIGINAL.dpx
Format                                   : 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"
General
Complete name : I:\DPX\_DPX examples\ARRI SCAN\LOG_ORIGINAL_To_FFv1_to_DPX.dpx
Format                                   : 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=unknown
color_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

Reply via email to