{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":684980574,"defaultBranch":"main","name":"AgX_LUT_Gen","ownerLogin":"EaryChow","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-30T08:55:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/59176246?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1699333420.0","currentOid":""},"activityList":{"items":[{"before":"ab7415eca3cbeb14fd55deb1de6d7b2d699a1bb9","after":"cded300876ae1bfe9a1fad84898dbdc0c95e54bf","ref":"refs/heads/HDR_Experimental","pushedAt":"2023-11-07T05:03:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Upload Experimental HLG LUT generator\n\nI think this is all I can currently make by guessing without actual HDR device. I am asking others with HDR display to test this in proper HDR supported software (Resolve etc.), and modify this script to finish it. I am now writing down some of the things about HDR based on my understanding (note this is just my understanding, might not be super accurate):\r\n\r\n1. One of my friends with HDR capable MacBook tested Blender 4.0's EDR/HDR support, it seems to be completely broken, both SDR and HDR are terribly broken in Blender 4.0 Mac version. I guess this why Troy was freaking out about the EDR patch, but the official Blender devs don't seem to have an access to MacBook with a Built-in P3 EDR screen, therefore it might be hard for them to realize what is wrong. So maybe don't use Blender for testing this at the moment.\r\n\r\n2. Don't trust those video players out there. I asked the friend I mentioned to play the same Rec.2100 PQ encoded video with HDR10 metadata embedded, he comfirmed that different video players each seems to include a unique view transform for HDR content. Including QuickTime, and iPhone 15 Pro's built-in video player. \r\nI don't yet know which APP to trust, maybe just use DaVinci Resolve for now.\r\n\r\n3. HDR in terms of image formation, is weird.\r\nIf we think of our AgX Base Rec.2020 image as a percentage for a display (how many percent of emission strength this pixel should be, relative to that pixel's maximum emission strength), the max emission nits value specifically, doesn't seem to really matter, you can have a 1000 nits display, and we would multiply our percentage (0.0 to 1.0, or 0% to 100%) with that 1000 nits, and we get a nits based value for our image.\r\n\r\nTherefore, if we follow a percentage based mentality for HDR, we can just do the exact same thing we have been doing all alone, that is multiplay the percentage by the max emission (1000 nits for HLG), and apply an HLG \"[0 , 1000] nits to [0, 1] encoding\" curve. Everything stays the same as our SDR image. \r\n\r\nHowever, this is not how most protocals are implemented. Most protocals like Resolve, TCAM, etc., seem to implement HDR encoding with \"SDR = 100 nits\" assumption. Basically, what we did above is kind of \"SDR = 1000 nits\", and with 100 nits assuption, we would calculate the ratio between SDR max (100) and HDR max (1000), and muliply the percentage by that ratio, basically in our case, scale the percentage down by 10. \r\n\r\nThis is super super weird IMHO, if we think of percentage here again. Our image's 18% middle grey is now 1.8%. So ultimately, comparing with SDR image, we are actually implementing a \"darkening\" in our image.\r\n\r\nNote there has been controversies on the whole SDR 100 nits thing, as it was derived from a weird notion of \"diffuse white\" which doesn't exist in a formed image. Resolve also has a SDR = 203 nits implementation, Troy mentioned once that most actual SDR displays are around 300 nits. \r\n\r\nI am going with SDR = 100 nits currently, but there is a parameter in the script that you can change.\r\n\r\n4. HDR image needs to match SDR image's appearance.\r\n\r\nWe cannot do it 100% matching since we don't have a perceptual color model that actually works right now (none of the models can describe the classic red train in an image that only has cyan pixels). But we still need to try our best to do the matching. \r\n\r\nFor example, given a movie shot, a bunch of characters are looking at something in shock, the camera cuts to a glowing chromatic object, will it make sense that the HDR distribution of the movie can clearly see the chroma-laden details on the glowing object, while the SDR distribution of the movie only shows a solid block of white lights?\r\n\r\nIt doesn't make sense, therefore, SDR and HDR image need to match, at least in terms of attenuation's rate of change (I.E. the speed things fade to white). \r\n\r\nThere are parameters in the script for tweaking the match. I don't have an HDR device so I cannot fine tune the match. Please, for people that pick this up from here, test this in Resolve and find a setting that matches the AgX Base Rec.2020 image. Or if none of the possible setting of the current parameters work, re-work the script to make it match.\r\n\r\nThe config for using this LUT can be found here:\r\nhttps://github.com/EaryChow/AgX/tree/HDR-Experimental\r\n\r\nWith this published, I will probably no longer do any AgX-related development from now. At least I hope so, I need to focus on my rea-life situation, it's unhealthy for me to continue, but I keep finding myself coming back. Maybe it's because of the Inertia left from my devotion into this project during the past about 2 years. Hopefully I can actually stop developing this and focus on my life issues.","shortMessageHtmlLink":"Upload Experimental HLG LUT generator"}},{"before":null,"after":"ab7415eca3cbeb14fd55deb1de6d7b2d699a1bb9","ref":"refs/heads/HDR_Experimental","pushedAt":"2023-11-07T05:03:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Add explaination for the mixing","shortMessageHtmlLink":"Add explaination for the mixing"}},{"before":"13d0656973fafb47e9d5ce1c89f21ab673e102dd","after":"ab7415eca3cbeb14fd55deb1de6d7b2d699a1bb9","ref":"refs/heads/main","pushedAt":"2023-09-07T08:21:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Add explaination for the mixing","shortMessageHtmlLink":"Add explaination for the mixing"}},{"before":"f98d8c8c5ba2c96fe4dfefa31ee009e2191761a4","after":"13d0656973fafb47e9d5ce1c89f21ab673e102dd","ref":"refs/heads/main","pushedAt":"2023-09-07T07:48:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Add link to SB2383 script","shortMessageHtmlLink":"Add link to SB2383 script"}},{"before":"3bf9223548b5f21aed1e06a99b991f8966bcf071","after":"f98d8c8c5ba2c96fe4dfefa31ee009e2191761a4","ref":"refs/heads/main","pushedAt":"2023-09-07T07:45:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Add credits in Guard Rail scripts","shortMessageHtmlLink":"Add credits in Guard Rail scripts"}},{"before":"99f9f76a14291226dbda824775442b3944eb437d","after":"3bf9223548b5f21aed1e06a99b991f8966bcf071","ref":"refs/heads/main","pushedAt":"2023-08-31T01:26:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Add comments about the inset and outset matrices","shortMessageHtmlLink":"Add comments about the inset and outset matrices"}},{"before":null,"after":"99f9f76a14291226dbda824775442b3944eb437d","ref":"refs/heads/main","pushedAt":"2023-08-30T08:56:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EaryChow","name":null,"path":"/EaryChow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/59176246?s=80&v=4"},"commit":{"message":"Initial Commit","shortMessageHtmlLink":"Initial Commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADqQPc3wA","startCursor":null,"endCursor":null}},"title":"Activity ยท EaryChow/AgX_LUT_Gen"}