bavc / qctools

QCTools (Quality Control Tools for Video Preservation) is a free and open source software tool that helps users analyze and understand their digitized video files through use of audiovisual analytics and filtering. QCTools is funded by the National Endowment for the Humanities and the Knight Foundation, and is developed by the Bay Area Video Coalition.
http://www.bavc.org/qctools
Other
317 stars 41 forks source link

add/review stream/frame attributes in xml output #540

Open dericed opened 6 years ago

dericed commented 6 years ago

to , add these attributes common: @profile (after @codec_long_name, before @codec_tag) video: @color_range @color_space @color_transfer @color_primaries @chroma_location (in this order, after @level and before @field_order)

to

in , write all ffmpeg's tags for used filters rather than only the plotted tags. for instance signalstats should add:

            <tag key="lavfi.signalstats.YBITDEPTH" value="7"/>
            <tag key="lavfi.signalstats.UBITDEPTH" value="1"/>
            <tag key="lavfi.signalstats.VBITDEPTH" value="1"/>

ssim should add: <tag key="lavfi.ssim.dB" value="16.56"/>

dericed commented 6 years ago

think this is close-able, @ablwr can you review.

ablwr commented 6 years ago

will do

ablwr commented 6 years ago

Should these have been added? I don't see any of this.

Testing on: macOS Sierra qctools head ffmpeg head

ablwr commented 6 years ago

Okay, a more verbose report :

to , add these attributes common: @Profile (after @codec_long_name, before @codec_tag) video: @color_range @color_space @color_transfer @color_primaries @chroma_location (in this order, after @Level and before @field_order)

@Profile is not present @color_range @color_space @color_transfer @color_primaries @chroma_location are not present.

to common: add @pkt_dts @pkt_dts_time @best_effort_timestamp @best_effort_timestamp_time audio: add @pkt_duration @sample_fmt @nb_samples @channels @channel_layout audio: decrease precision on @pkt_pts_time to six decimal places video: add @sample_aspect_ratio @coded_picture_number @display_picture_number @interlaced_frame @top_field_first @repeat_pict

None of the above are present except: At the stream level: @sample_aspect_ratio is present audio: @sample_fmt is present

At the frame level: audio: @pkt_pts_time is seven decimal places instead of six

audio: remove @bits_per_raw_sample as it is also reported in the common section, as-is the attribute is reported twice within one xml element which is invalid

audio: @bits_per_raw_sample is still present (but should not be). Present at streams level (audio and video) but nowhere else.

in , write all ffmpeg's tags for used filters rather than only the plotted tags. for instance signalstats should add:

        <tag key="lavfi.signalstats.YBITDEPTH" value="7"/>
        <tag key="lavfi.signalstats.UBITDEPTH" value="1"/>
        <tag key="lavfi.signalstats.VBITDEPTH" value="1"/>
<tag key="lavfi.signalstats.UBITDEPTH" value="1"/>
<tag key="lavfi.signalstats.VBITDEPTH" value="1"/>

are present, but YBITDEPTH is not.

ssim should add:

ssim does add <tag key="lavfi.ssim.dB" value="inf"/> but maybe this should be added alongside the other ssim tags and not at the end of the frame?

ablwr commented 6 years ago

Also! I'm on QCTools 0.9+ but the XML still reads: <!-- Created by QCTools 0.8.0 -->