IENT / YUView

The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
http://ient.github.io/YUView
Other
1.79k stars 354 forks source link

libdav1d support #479

Open roychen1998 opened 1 year ago

roychen1998 commented 1 year ago

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?

ChristianFeldmann commented 1 year ago

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

ChristianFeldmann commented 1 year ago

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.

roychen1998 commented 1 year ago

Thanks for the update.

roychen1998 commented 1 year ago

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

fix_diff.txt

ChristianFeldmann commented 1 year ago

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?

roychen1998 commented 1 year ago

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: @.***>

ChristianFeldmann commented 1 year ago

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.