YUView icon indicating copy to clipboard operation
YUView copied to clipboard

libdav1d support

Open roychen1998 opened this issue 2 years ago • 7 comments

I tried to enable libdav1d in YUView to analyze a AV1 stream, then some trouble met.

  1. It seems that "dav1d_default_analyzer_settings" has been renamed to "dav1d_default_analyzer_flags" in dav1d_0.2.1.0.analyze (https://github.com/IENT/YUView/wiki/External-Decoders). I have rename the function in my local, but I am not sure whether there is still some other issues here.
  2. getExtradata() return "", and it lead to a crash in "header.parse(reader)" in functions "FileSourceFFmpegFile::getParameterSets()“.

Is there any help to make libdav1d work? Or is there a release with libdav1d?

roychen1998 avatar Aug 24 '22 11:08 roychen1998

Hi. Thanks for the report. I did not check decoding with dav1d for a long time. I will try to recreate it.

ChristianFeldmann avatar Aug 24 '22 12:08 ChristianFeldmann

Something is definitely wrong or has changed until I last used the david decoder natively. (It can also be used through FFmpeg which should still work). I found some bugs for pushing data and parsing extradata from the packets but it is still not fully functional again.

ChristianFeldmann avatar Aug 29 '22 17:08 ChristianFeldmann

Thanks for the update.

roychen1998 avatar Aug 30 '22 10:08 roychen1998

Hi Christian, after your update I got "dav1d_get_picture" always returning -11. Actually in function checkForObuFormat, obu_type is always 2 -- temporal_delimiter_obu. And my stream structure looked like: TD -> SEQ_HDR -> FRAME_HDR(FRAME) , TD->FRAME_HDR(FRAME), TD->FRAME_HDR(FRAME) ... My question is whether this is supposed behavior in YUView?

roychen1998 avatar Nov 08 '22 11:11 roychen1998

Hi Christian, Here is some of my fix to make dav1d work FYI. Attachment is a diff file based on #489.

fix_diff.txt

roychen1998 avatar Nov 14 '22 02:11 roychen1998

Hi. Sorry I was not able to merge that yet. I fixed a bug in YUView for parsing AV1 files from containers but this issue I think is not solved yet. Or why did you close it?

ChristianFeldmann avatar Nov 16 '22 09:11 ChristianFeldmann

Hi Christian,

I made some hack and libdav1d worked in my local. This issue is closed on my side. Surely, it would be great if you can look into the bugs and merge the fix into the main tree. BTW, is it possible to add a c macro to disable network management? I have a machine which is NOT connected to internet and YUView fails to start up on that machine.

Best Regard, roy

发件人: @.> 发送时间: 2022年11月16日 17:48 收件人: @.> 抄送: @.>; State @.> 主题: Re: [IENT/YUView] libdav1d support (Issue #479)

Reopened #479https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FIENT%2FYUView%2Fissues%2F479&data=05%7C01%7C%7Cb0bbbb0eb441428c739b08dac7b7b221%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638041889042458742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=MoWXFu55difoQXK%2Fr%2Fj24tzJXtpZvf0VlAPp14Rd19c%3D&reserved=0.

― Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FIENT%2FYUView%2Fissues%2F479%23event-7822015616&data=05%7C01%7C%7Cb0bbbb0eb441428c739b08dac7b7b221%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638041889042458742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Uwcjq4GC9pcErzkK%2BvvKXnJBj%2BBkA%2F74vI8YS%2FrCBFc%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJBD735HEARVLLHREWRDMGLWISUWHANCNFSM57O4FMVQ&data=05%7C01%7C%7Cb0bbbb0eb441428c739b08dac7b7b221%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638041889042458742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=PCpNeFuA03Fn9IPJNb0uGh3INZxjcE5aQjCgk%2Bh18%2BI%3D&reserved=0. You are receiving this because you modified the open/close state.Message ID: @.***>

roychen1998 avatar Nov 16 '22 09:11 roychen1998

Ah ok. I will leave this open because I would like to fix this for good in the main branch. I am also working on a bunch of refactorings and better testing of the components. For the networ: You can start YUView with -noUpdate. This should disable the update check and no connection to the internet is performed.

ChristianFeldmann avatar Nov 16 '22 10:11 ChristianFeldmann