TiKevin83
He/Him
Ambassador, Moderator, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I've written up a presentation that I intend to show as part of TASBot and TASVideos's attendance at MAGFest 2023 in a panel. Dropping a link here for any feedback from the TASVideos encoders. It details the compression techniques necessary to make the rgbscaler.com tech demo successful with retro game footage. https://docs.google.com/presentation/d/1CdOeLuDajVel3wfsFYqgPiSySJ1FNoRXfyq3hAgRkdg/edit?usp=sharing If any encoders happen to be at MAGFest or would like to come to help present the topic they'd be more than welcome to join in. I intend to continue submitting it to other tech conferences as well if anyone would like to help present it at an event more local to them. I have a pre-recorded example of the talk here as well: Link to video
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Watched it. Everything looks good. Just a note: TV doesn't stretch the footage to 4:3, it just changes color at a rate that the console outputs pixels at. Which is defined by pixel clock of a given video mode. If pixel clock is slower than a certain frequency, pixels will be wide, and vice versa. 6.14 MHz pixel frequency is defined as a perfect match for square pixels, as formulated in the Rec. 601 standard, but it's for digitizing analog video, and not all TV sets were configured to meet it. But console developers were aware of the fact that TVs had 4:3 aspect ratio, so they designed consoles to more or less match the 4:3 TV frame. Example: a 512x240 frame coming from PS1 has color frequency of 10.74 MHz, so color changes more often than in PS1's 320x240 mode (6.71 MHz), but on a TV they occupy the same area, pixels simply being denser (and narrower) in the former. TV can't stretch signal to a fixed width, because it doesn't know the width that's arriving. It only knows a scanline has ended and it needs to move to the next one, by noticing the HBlank signal at the end of that scanline.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
TiKevin83
He/Him
Ambassador, Moderator, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Panel is this Saturday at 11:30am. I published several rounds of updates to rgbscaler.com. The underlying tech has been rewritten in React, so other React sites can easily reuse the concept. I've also added the ability to replicate scanline and slot mask effects in the client side player so that some aspects of CRTs can be simulated. Link to video This demo should work to show the new CRT effects in Chrome desktop/Android. https://rgbscaler.com/?videoName=videos/HERO.webm&dar=1.3333&par=1&maskIntensity=1&scanlineIntensity=1