#10586: Impossible to retrieve libvmaf result from filter graph in AVFrame
-------------------------------------+-------------------------------------
             Reporter:  ichlubna     |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  libvmaf      |               Blocked By:
  frame filter libav psnr            |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 There is no way to retrieve vmaf score from the resulting frame produced
 at the end of the filter graph. The same approach which works for psnr and
 ssim filters is not working.

 When I use [https://ffmpeg.org/ffmpeg-filters.html#psnr psnr] or
 [https://ffmpeg.org/ffmpeg-filters.html#psnr ssim] filter I can list the
 result from the [https://ffmpeg.org/doxygen/4.1/structAVFrame.html frame]
 read from the sink buffer of the filter graph which is stored in the
 metadata [https://ffmpeg.org/doxygen/4.1/structAVDictionary.html
 dictionary] as:
 {{{
 char *entries = nullptr;
 av_dict_get_string(resultFrame->metadata, &entries, ',', '|');
 std::cout << entries;
 }}}

 I use this filter:
 {{{
 const AVFilter *vmafFilter  = avfilter_get_by_name("libvmaf");
 }}}

 The same cannot be used for [https://ffmpeg.org/ffmpeg-
 filters.html#libvmaf libvmaf]. The metadata dictionary is empty. I
 searched the whole frame structure and couldn't find the result anywhere.
 Shouldn't this be unified?

 I don't see the storing of the result in the frame anywhere in the
 
[https://github.com/FFmpeg/FFmpeg/blob/13a3e2a9b4697a1403d3e58eb5e8ef9c72561d54/libavfilter/vf_libvmaf.c
 source code]. Storing to the frame is visible in the
 
[https://github.com/FFmpeg/FFmpeg/blob/13a3e2a9b4697a1403d3e58eb5e8ef9c72561d54/libavfilter/vf_psnr.c#L223
 code of psnr] and
 
[https://github.com/FFmpeg/FFmpeg/blob/13a3e2a9b4697a1403d3e58eb5e8ef9c72561d54/libavfilter/vf_ssim.c#L388
 code of ssim]. I think that the storing of the vmaf score is just missing
 in the code.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10586>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to