I made my own Image File Format

Поділитися
Вставка
  • Опубліковано 30 вер 2024
  • Image File Formats are... images.
    GitHub: github.com/fac...
    Patreon: / facedevstuff
    Discord server: / discord
    Twitter: / facedevstuff
    MUSIC:
    Background song - • Jeremy Blake - Powerup...
    Outro song - • 9 • Nine Nights • Day ...
    Thumbnail art by @JersonEXE
    - Twitter: / jersonbrawlstar
    Thanks for watching!

КОМЕНТАРІ • 546

  • @FlushDesert22
    @FlushDesert22 3 місяці тому +3802

    "I'm tired of these stupid image file formats, so I'm contributing to the problem"

    • @akaithecreator7448
      @akaithecreator7448 3 місяці тому +10

      439 likes and 1 reply?

    • @Ali_Jafari
      @Ali_Jafari 3 місяці тому +4

      😂😂

    • @BadmanYT-1254
      @BadmanYT-1254 3 місяці тому +10

      @@akaithecreator7448 why are you here

    • @Sirbozo
      @Sirbozo 3 місяці тому

      lol

    • @nonexistentsquare2092
      @nonexistentsquare2092 3 місяці тому +5

      @@BadmanYT-1254bro really said “Begone fool, for thou hath spoken too foul a word to remain” 💀

  • @lizkeres2593
    @lizkeres2593 2 місяці тому +649

    The major difference between jpeg and PNG is not only transparency but also the compression

    • @borstenpinsel
      @borstenpinsel 2 місяці тому +58

      Both are compressed. Just with really different methods.
      Jpeg tries to emulate chunks of 8x8 px with parameters to a trig function (lossy to veeerry lossy depending on some parameter, but even the best quality (and thus worst compression factor) is very lossy).
      PNG however is basically a bitmap (lossless, no compression) which is then compressed with tar/gz algorithm. Basically cheating by making the 3rd party compression algorithm part of the file definition.
      It's like putting wave files into a zip folder and calling it a new audio format.

    • @ursulmusic
      @ursulmusic 2 місяці тому +6

      ​@@borstenpinselSomething like audio FLAC, as it's lossless compression for PCM audio?

    • @milesmartig5603
      @milesmartig5603 2 місяці тому +1

      jpeg and png both can store a lossless image

    • @CryptoOfficial
      @CryptoOfficial 2 місяці тому

      @@milesmartig5603 jpeg is per definition a lossy format even if you crank up the quality to 100% it’s still doing magic things with Fourier transformation and converting your image in a lot of lookalike patterns that they are close enough of the original pixels.

    • @Henrix1998
      @Henrix1998 2 місяці тому +10

      ​​@@borstenpinselYou can't say PNG doesn't have compression, it just has lossless compression, even before tar/gz

  • @y32code16
    @y32code16 3 місяці тому +481

    2:27 "turns out its not 3.5 times more size" *shows a picture of 3.3x* "it can go up to 98 percent more size" *shows a picture of 98 times more size* on a 160.2 times more size image. yep thats face dev for ya

    • @Kynatosh
      @Kynatosh Місяць тому +1

      Yeah that was really weird, bro can't calculate

  • @kousheralam
    @kousheralam Рік тому +1521

    wow, coverting a binary -> string -> do string manipulation -> show from the string. What's inside your head bro, it's pure genius

    • @haraldbackfisch1981
      @haraldbackfisch1981 Рік тому +93

      Going from int to string to almost always a terrible idea, just thinking of memory or lack of multiplication for data manipulation, have fun blurring in hex with strings.
      I love that he did it tho, sometimes u just gotta f around and find out, else we wouldn't have nice things in the first place :)

    • @AOSP-is-still-Linux
      @AOSP-is-still-Linux 3 місяці тому +28

      ​@@haraldbackfisch1981 I think the OP was ironic, as the format of the message felt like that.

    • @haraldbackfisch1981
      @haraldbackfisch1981 3 місяці тому +5

      ​@@AOSP-is-still-Linux youre right idk what i was thinking... wasnt thinking i guess 😅

    • @CYNwave
      @CYNwave 3 місяці тому +1

      Srsly

    • @stgigamovement
      @stgigamovement 3 місяці тому +3

      BWTC32Key B3K files are what happens after crossing compression with encryption with binary-to-text encoding. It actually works well in spite of me doing it because I don't like Base64.

  • @alastor--radiodemon7556
    @alastor--radiodemon7556 3 місяці тому +1012

    bro made a .bmp

    • @magicjinn
      @magicjinn 3 місяці тому +24

      was about to comment this

    • @_kitaes_
      @_kitaes_ 3 місяці тому +98

      but worse

    • @alastor--radiodemon7556
      @alastor--radiodemon7556 3 місяці тому +80

      @@_kitaes_ just a tiny bit worse but it balances out with the funnies :3

    • @magicjinn
      @magicjinn 3 місяці тому +41

      @@_kitaes_ yeah, but it ends with .bruh, worth it

    • @CoolMilo8
      @CoolMilo8 3 місяці тому

      bro, why are you here, smily face demon.

  • @Brothaeuuuww
    @Brothaeuuuww 3 місяці тому +95

    Now make a .huh file that is an audio format

    • @smokedice
      @smokedice 2 місяці тому +10

      this but its just a .wav stored as a string

    • @HiloYT
      @HiloYT 2 місяці тому +7

      and then .bruhuh for videos

    • @Koreley
      @Koreley 2 місяці тому

      @@HiloYT you could make a conlang out of this

    • @Alexa_mapping
      @Alexa_mapping Місяць тому

      .huh3 then .huh4

    • @PJM257
      @PJM257 Місяць тому

      judging by how badly he struggled with an image format, i don't think he's ready to try an audio format lol

  • @Ceelbc
    @Ceelbc Рік тому +599

    By converting it into hex of 6 characters, you lost transparency. However, if you made it hex of 8 characters long, you could keept the transparency.

    • @blissful4992
      @blissful4992 9 місяців тому +8

      very inneficient

    • @Luna5829
      @Luna5829 3 місяці тому +9

      with 8 characters you'd only get 1 decimal point of transparency
      9 characters is pretty good tho

    • @Ceelbc
      @Ceelbc 3 місяці тому +47

      @@Luna5829 RRGGBBTT, with T transparency. So 256 values. What do you mean with 9? Am I missing something? (I don't count the # you would write in code since it is not needed)

    • @Luna5829
      @Luna5829 3 місяці тому +2

      i forgot the transparency could also be in hex and not in decimal
      but still, with T / 255 being the transparency, you'd miss quite a few numbers

    • @LimoDieFlasche
      @LimoDieFlasche 3 місяці тому +22

      @@Luna5829 You wouldn't miss anything visible to the human eye ^^
      There's a reason why no one uses amounts above one byte (2 hex digits) per color

  • @dvidpi
    @dvidpi 3 місяці тому +124

    wowzers, im converting all images in my gallery to .bruh files! so efficient, fast and lightweight

  • @jaszko2880
    @jaszko2880 3 місяці тому +119

    web✅code editor✅programing lang✅text editor✅image file format✅operating system❌

    • @stgigamovement
      @stgigamovement 3 місяці тому +4

      What's next? A coding font? Don't know if it can have more characters than UnifontEX.

  • @dalhaan
    @dalhaan Рік тому +246

    Tip: you can half the size of your files if you store the RGB values as raw bytes instead of characters. Each character is 1 byte long (assuming you are using a 1 byte character encoding like ASCII or UTF-8), but a hex character just represents half a byte in a human readable format. "9e", for instance, just represents the number 158 (uint8) which only takes up one byte, where storing "9e" as two characters you are using two bytes. Hex goes from 00 (0) -> FF (255), which is exactly how much a byte can hold. To do this you'll need to allocate a buffer of the number of pixels in the image times 3 (RGB per pixel = 3 bytes (1 byte for each colour) * number of pixels), then for each pixel: write a uint8 for the red value, write a uint8 for the green value, write a uint8 for the blue value. To read the file, loop over each pixel and read each byte (uint8) instead of writing.

    • @dalhaan
      @dalhaan Рік тому +48

      If you wanted you could also add an alpha channel by just adding an extra byte after blue, this would make each pixel 4 bytes instead of 3. And now you've created the bitmap image format 🙂

    • @sollybunn
      @sollybunn Рік тому +2

      Doesn't he do this 3m into the video

    • @FaceDevStuff
      @FaceDevStuff  Рік тому +53

      @@sollybunn I only stored the metadata (width & height) as bytes, the rest is full of hex values

    • @rumisbadforyou9670
      @rumisbadforyou9670 Рік тому +16

      he knew that, he's being rеtагded for no reason. he's just wants to jack up the yt algorithm, thinking "one day i will be making quadrillion dollars per nanosecond by pооping out: 'i pressed a key on my keyboard' / 'i copied seven lines of code from stack overflow' type of videos, yupeee!"

    • @sollybunn
      @sollybunn Рік тому +3

      @@FaceDevStuff that's a bruh moment (you didn't really expand on "were dealing with raw bytes now" so that's what I assumed)

  • @LambOfDemyelination
    @LambOfDemyelination 2 місяці тому +14

    why store the hex as a literal string, a byte can be represented in one character (byte), instead you use two bytes to represent one byte??

    • @Fifasher2K
      @Fifasher2K 2 дні тому

      E in bruh is for efficiency.

  • @Mats_Games
    @Mats_Games 2 місяці тому +4

    1:15 1080i detected

  • @marcels.7074
    @marcels.7074 Рік тому +179

    i wanted to make a JSON image format
    {
    "meta": {
    "size": "69x420"
    },
    {"pos":[1,1], "color":"696969"}
    ....
    }

    • @FaceDevStuff
      @FaceDevStuff  Рік тому +99

      sounds hella inefficient, love it!

    • @SIMULATAN
      @SIMULATAN Рік тому +97

      Should call it "jif" for maximum confusion

    • @thefirstuwu8874
      @thefirstuwu8874 Рік тому +54

      @@SIMULATAN can call it "Jim" - Json IMage

    • @bambi186
      @bambi186 Рік тому +7

      Absolute madman

    • @mgord9518
      @mgord9518 5 місяців тому +8

      This isn't too far off from plaintext images from the days of old like PPM.
      Sure, it's absurdly inefficient as far as size goes, but you can edit it with nothing but a text editor, easily understand the format just by looking at it and they're very rarely used for large images anyway

  • @m4rt_
    @m4rt_ 2 місяці тому +5

    situation: there are 10 competing formats
    solution: lets create a new one to replace the old ones.
    new situation: there are 11 competing formats
    (Heavily based on an XKCD comic)

  • @YoutubePizzer
    @YoutubePizzer 2 місяці тому +41

    avif is actually conceptually really cool:
    if you guys follow video formats, there’s been a big push to add AV1 support to everything because of how much of a huge leap in quality it is over essentially everything else. So much so, that if you encoded an image as a single frame of an AV1 video, it would be better quality than the other image formats available.
    So that’s exactly what it is.
    It makes a tonne of sense to use the same compression algorithms for both video and image and could in theory mean you could make hardware-accelerated images too. Very resource efficient, it would be great if we could just magically convert absolutely everything to use exclusively AVIF from now on

    • @neutronpcxt372
      @neutronpcxt372 2 місяці тому +6

      It's not.
      JXL is better.

    • @Yiss8352
      @Yiss8352 2 місяці тому +4

      JXL better

    • @pachinger
      @pachinger 2 місяці тому +4

      No it actually doesn't make a ton of sense to use the same compression for video and static images. Video codecs usually use the information of multiple frames to be more efficient. Just thinking about P/B/I-frames, chroma subsampling, etc.

    • @chonchjohnch
      @chonchjohnch Місяць тому +1

      Hope alphabet sees this bro 🫶🏻

    • @waralo191
      @waralo191 Місяць тому

      You should check out jpegxl, google is blocking it to maintain their monopoly. Since they own AVIF, and want it to become the standart

  • @o_q
    @o_q 3 місяці тому +90

    the interlacing on this video is making me crazy

    • @Aeduo
      @Aeduo 3 місяці тому +7

      I think that might be part of the shitpost.

    • @FaceDevStuff
      @FaceDevStuff  3 місяці тому +31

      @@Aeduo nope, just plain stupidity on my part

    • @RockRemastered
      @RockRemastered 3 місяці тому +2

      I was thinking the exact same. Now the real question is, does it deinterlace ?

    • @foco5657
      @foco5657 3 місяці тому +1

      @@RockRemastered probably not because youtube's VP9 compression screws with interlacing

    • @RockRemastered
      @RockRemastered 3 місяці тому

      @@foco5657 that's pretty right. Resizing is the worst thing. But downloading the h264 video would maybe work.

  • @per2632
    @per2632 Рік тому +26

    3:48 hex colors don't even have transparency and you used alpha type opaque for the png, so i'm surprised it showed anything other than complete white before you put a number there.

  • @FaZekiller-qe3uf
    @FaZekiller-qe3uf 3 місяці тому +20

    "Hex" is representing the color data in base sixteen whilst "RGB" (don't include the alpha channel, it's not a fair comparison) is representing it in base 10. It's the same exact data. There's no space "reduction" if you don't bloat it by storing it in ASCII, but you figured that out.
    Instead of bloating the file with line breaks you can just have a small header with the height and width.

  • @KyriproShorts
    @KyriproShorts 2 місяці тому +5

    What in the.bruh is this. Like what the.bruh

  • @devaraanimation
    @devaraanimation 3 місяці тому +33

    So this is what it feels like to be the guy who made the .webp file format

    • @sagnikkundu89
      @sagnikkundu89 Місяць тому +1

      Webp is good actually pls research

    • @devaraanimation
      @devaraanimation Місяць тому +2

      @@sagnikkundu89 so the joke went over your head. I was talking how it got the same degree of support as .webp.

    • @sagnikkundu89
      @sagnikkundu89 Місяць тому

      @@devaraanimation xDd. It wasn't obvious to me

  • @realrunnow
    @realrunnow 10 місяців тому +108

    1:21 delusion on a next level

    • @joseph_gerald
      @joseph_gerald 3 місяці тому +1

      Storing raw bytes is unheard of why not use a human readable 4bit representatipn instead (hex)?

    • @urisinger3412
      @urisinger3412 3 місяці тому

      If people are gonna read your image file they will do it in a hex editor​@@joseph_gerald

    • @bits360wastaken
      @bits360wastaken 3 місяці тому +4

      @@joseph_gerald Not sure if stupid or trolling, your not going to give an image format the ability for someone to download it to their desktop, open up notepad, and read an images letters and reconstruct it in their mind at the cost of a 10-100x file size increase. And storing raw bytes is unheard of, look at the .png and .jpg format specifications for a clue on how deep it actually goes.

    • @joseph_gerald
      @joseph_gerald 3 місяці тому +1

      @@bits360wastaken sorry was sarcasm 🥲

    • @_kitaes_
      @_kitaes_ 3 місяці тому

      @@bits360wastaken png stores compressed raw bytes

  • @KosinsStuff
    @KosinsStuff Місяць тому +3

    It is pretty easy to make your own file format, you really just lack support for it since no one knows it exists or how it works

  • @codeman99-dev
    @codeman99-dev 9 місяців тому +9

    2:32 That's not a percentage buddy. "100% more" means to double. Starting at 3mb and then adding 100% more would be 3mb + 3mb.

  • @bits360wastaken
    @bits360wastaken 3 місяці тому +3

    1:20, Congratz, you made A: An incorrect statement, and B: 50% larger .bmp instead of literally just bmp because you dont know what binary is.

  • @Aidan6475
    @Aidan6475 3 місяці тому +24

    why this video is 1080i?

    • @bob3studios
      @bob3studios 3 місяці тому +9

      because vegas pro has no idea of what futureproofing is in its default settings

  • @JDoawp
    @JDoawp 3 місяці тому +3

    Sooo, a ppm file but with hex instead of RGB? :p

  • @hedgehogsch.7270
    @hedgehogsch.7270 3 місяці тому +11

    congrats!
    You just invented the netpbm file format 😊

    • @JamesR624
      @JamesR624 Місяць тому

      The who-what now?

  • @nathanpgratner2501
    @nathanpgratner2501 3 місяці тому +9

    I will be using .bruh images as the primary image type on my pc

  • @rka3477
    @rka3477 3 місяці тому +6

    congrats you invented .bmp

  • @christianremboldt1557
    @christianremboldt1557 3 місяці тому +8

    You just made a worse bitmap. But I really like it.
    I love those indi projects

  • @artiitheworld
    @artiitheworld 2 місяці тому +3

    why is this video interlaced

  • @henrispriet9812
    @henrispriet9812 2 місяці тому +2

    Instead of making an image compression format, bro made an image expansion format

  • @lily38942
    @lily38942 29 днів тому +2

    why is this video interlaced 😭

  • @Pcexperiments
    @Pcexperiments 3 місяці тому +3

    you can use regedit ti automatically set how it opens, what icon it has and add it to `right click>new` menu

  • @thefirstuwu8874
    @thefirstuwu8874 Рік тому +8

    1:22 I'm not an expert, but one byte should be able to give 256 unique combinations, as it has 8 bits and one bit has 2 states - 2 combinations ^ 8 bits = 256, we even have a place for zero. (an int value usually weights 2-4 bytes, but I don't think we need its extra functionality for storing a number from 0 to 255). HEX uses 6 characters - each character is 1 byte, so 1 * 6 = 6. I think you can do both methods equivalent in bytes, but RGB is more intuitive.
    Edit: Oh, everyone already commented about this :p

  • @poka26ev2
    @poka26ev2 3 місяці тому +1

    This reminds me of the .stalin image I created 3 months ago to send sus photos in case the group chat gets leaked

  • @Internat-doener-federation
    @Internat-doener-federation 2 дні тому +1

    0:25 that's wrong, jpg cam be transparent, but that's pretty uncommon.

  • @JanxZ
    @JanxZ 3 місяці тому +1

    why did i click on this and expect an actually interesting video? like, it's literally just a rust dev making a limited, crappy lossless file format. Which has actually already existed. It's called a raw bitmap.

  • @KryptonTR
    @KryptonTR 2 місяці тому +5

    5:08 this song is a masterpiece

  • @angelocore
    @angelocore 11 місяців тому +4

    Yo you can try to convert the hex back to binary instead writing it as text, it will make the file size less for sure

  • @adrack
    @adrack 2 місяці тому +1

    Now change the exe file format to bruhh. eg. what.bruh
    Instead of .exe ,you will use . bruh

  •  2 місяці тому +1

    how does this video have interlacing aberration?

  • @wojtekpolska1013
    @wojtekpolska1013 2 місяці тому +1

    so you just reinvented bitmap but stupid
    lol but nice vid

  • @Hexquisitee
    @Hexquisitee 2 місяці тому +1

    mf got the WORST render settings

  • @luisnelson
    @luisnelson 3 місяці тому +1

    how do you convert the .png files to .bruh files

  • @Persvicx
    @Persvicx 2 місяці тому +1

    Why is your video interlaced

  • @ImpossibleEvan
    @ImpossibleEvan 2 місяці тому +1

    You can just rename a jfif to a jpeg and it works 😂

  • @HjRobins
    @HjRobins 3 місяці тому +1

    how'd you export this as interlaced? in this year?

  • @Stepanchicko
    @Stepanchicko 3 місяці тому +1

    bro just made bmp with hex

  • @debugboi
    @debugboi Місяць тому +1

    Now make audio format and then video format

  • @TheBriti-Critic
    @TheBriti-Critic 2 місяці тому +2

    I was waiting for the "This video is in the .bruh format" 🥵🤧🥵

    • @alword
      @alword 2 місяці тому

      .bruh4 video with .bruh3 sounds

  • @ygypt
    @ygypt 3 місяці тому +3

    rgba and hex are not mutually exlusive. rgba means ur storing red green blue alpha, and hex just means ur encoding as base 16 instead of base 10. what you did was turn rgba into rgb, because you remove the 7th and 8th hex characters that represent the alpha

    • @snowbelldog
      @snowbelldog 11 годин тому

      In addition, its format will be significantly larger, since rgba only requires 4 bytes (32 bits)... hex requires 2 bytes per color, which for rgb results in 6 bytes instead of 4 bytes, even without a alpha channel. With the hashtag it's even 7 bytes. I haven't looked any further, but he has no idea what he's doing 😅

  • @kevenrodriguesmeirelles2241
    @kevenrodriguesmeirelles2241 10 місяців тому +11

    you're in my top 10 Dev UA-camrs, I love your projects!!

    • @Potencyfunction
      @Potencyfunction 9 місяців тому

      I dont understand anything from it, I belive I am not for that. My skills and preferences are other, but is always good to have an eye on what is real and in trend with others.

  • @BootlegGremlin
    @BootlegGremlin 2 місяці тому +1

    What is bro yapping about????

  • @RealUniCat
    @RealUniCat 3 місяці тому +4

    that's EXACTLY what i wanted to do, except in javascript
    but i gave up because it's too hard and i wanted to do this in the current year 2024

    • @stgigamovement
      @stgigamovement 3 місяці тому +1

      BWTC32Key is a homemade file compression program with custom format written in Javascript.

    • @RealUniCat
      @RealUniCat 3 місяці тому

      @polonezzz stalker go away

    • @RealUniCat
      @RealUniCat 2 місяці тому

      @polonezzz I know

  • @thekingoffidget52
    @thekingoffidget52 Місяць тому +1

    We need to make WEBP Files extinct

  • @2Deep.
    @2Deep. 3 місяці тому +1

    We should make it more better.

  • @samllea1
    @samllea1 3 місяці тому +1

    sicmk

  • @AmbrosiaPoly-yolkEgg
    @AmbrosiaPoly-yolkEgg 3 місяці тому +1

    JPEG is also stinkier for non transparent images than PNG because of a thing called JPEG Artifacting.
    lossy compression is unjustified in the current age of internet speed.

    • @stgigamovement
      @stgigamovement 3 місяці тому +2

      I find lossy image compression so evil that encoding it should be Forbidden internationally.

    • @AmbrosiaPoly-yolkEgg
      @AmbrosiaPoly-yolkEgg 3 місяці тому +1

      @@stgigamovement Eh, it has uses for stylistic choices, but otherwise, burn it lol

  • @FoxgamingBruhh
    @FoxgamingBruhh 2 місяці тому

    i don't understand anything but thnnks bruhhh

  • @ghajik.
    @ghajik. 3 місяці тому

    now be the jxl replacement everyone wanted.

  • @Monkeymario.
    @Monkeymario. 3 місяці тому +2

    0:33 avif if i remember right is a image format made by netflix i tihkn its made by netflix and avif is actualy really good at small file size while keapinb detail and its a lot better than jpeg abd has TRANSPARENCY :D also the video equivalant is webm which is made by google but it pretty much is the video equivalant of avif infact i think avif stole from webm right?

    • @nooneinpart
      @nooneinpart 2 місяці тому

      WebM came way before AVIF, but it is indeed also based on a video format like AVIF. WebM is based on VP8, the precursor to VP9 that UA-cam currently uses. AVIF is based on AV1, the successor to VP9, and UA-cam also uses that but only for popular videos because it's harder to encode and not that many devices currently support it compared to VP9. WebM and AVIF are basically just single-frame videos with no audio.

  • @SomeRandomPiggo
    @SomeRandomPiggo 3 місяці тому

    You could have halved the space required by using actual binary lol, 0xFF is only one byte but requires 2 bytes of ASCII. Also you wrote it in R*st

  • @sumlittleguy
    @sumlittleguy 3 місяці тому +2

    You can make the image of color layers.
    For example: if it's just the background you determine the color of single pixel and then paste this pixel into different location instead of finding out the color of each pixel.
    Repeat that multiple times with doffirent colors and you get and image! It will be VERY light no matter how many pixels are there on X and Y coordinates while the image contains only 1 color.

  • @BaileySimulator
    @BaileySimulator 2 дні тому

    good vid!!
    ก้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้

  • @冗
    @冗 3 місяці тому

    Why did you export with upper field first, FELLOW SONY VEGAS USER.

  • @BaileySimulator
    @BaileySimulator 2 дні тому

    ก้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้

  • @tomyfak
    @tomyfak 3 місяці тому +1

    Why your video is entrelaced ?

    • @Punch_Card
      @Punch_Card 3 місяці тому

      yeah I was thinking that

  • @EquaTechnologies
    @EquaTechnologies 7 місяців тому +1

    bruh

  • @tundraosu
    @tundraosu 2 місяці тому +1

    When you see it

  • @semion-druzh
    @semion-druzh 3 місяці тому +1

    Dude, you made the file in text format but didn't take advantage of its biggest advantage! It was necessary to encode colors with their names, for example: blue, darker_blue_than_the first, red, crucian_but_34_tones_more_saturated

  • @gold4668
    @gold4668 3 місяці тому +5

    3:24 OH MAN NOT RAM RANCH 💀

    • @nooneinpart
      @nooneinpart 2 місяці тому

      EIGHTEEN NAKED COWBOYS IN THE SHOWERS AT RAM RANCH

  • @nbvehbectw5640
    @nbvehbectw5640 2 місяці тому +1

    When you talked about storing RGBA in characters and not bytes, I was like.... bruh.

  • @GalaxinTM
    @GalaxinTM 3 місяці тому +2

    avif still superior
    - transparency
    - better compression than jpeg
    - can be animated like gifs (comparable to video format quality)

    • @official-obama
      @official-obama 3 місяці тому

      according to wikipedia, it is open and royalty free too

    • @urisinger3412
      @urisinger3412 3 місяці тому

      ​@@official-obamaPNG and jpeg both are

  • @ThatRandomError
    @ThatRandomError 23 години тому

    rgb and hex are the same size
    for example
    rgb could be (255,255,255)
    255 can be show as this in binary 11111111
    so in total it would be 11111111 11111111 11111111
    hex has 6 characters each being 16 different options
    0123456789abcdef
    for example hex can be #ffffff
    f can be shown as this in binary 1111
    so in total it would be 1111 1111 1111 1111 1111 1111
    so in conclusion idk how u made 98x bigger than normal

  • @The_Joo
    @The_Joo 2 дні тому

    From pull request 6
    Hey man. You're probably a great person and want to motivate people to code, and please don't take anything I say after this personally or as an insult. I just gotta get this out of my brain
    I saw your youtube video about this project, and against feeling like it, decided to watch it to the end. I liked the idea initially, but when I saw your code, it disgusted me so much as that you motivated me to fix your entire project.
    I spent my whole morning fixing your code and haven't even had breakfast yet because I felt sick inside for the two hours I spent rewriting it. I don't know how you manage to make decisions like these that end up just compiling down to a pile of stinky steaming bytecode.
    It's still not perfect, and could use some refactors, but I wanna put you on a road that is better than the one you were previously on.
    I don't even want to see a SINGLE OTHER PULL REQUEST that's based on main before my patches or I'm gonna throw up.
    And I'm not kidding, rewriting this actually hurt me on a physical and mental level and I can't explain how angry I was throughout the whole process of rewriting this.
    I guess this project was done a while ago and you probably (hopefully) have improved, so let me just give you this as a gift of kindness. If you don't wanna touch it again, I will.
    I do not know why this one triggered me so much but it did and I'd be really grateful of you merging.
    I know this breaks format compatibility with the previous implementation, but it's for the better. DON'T PARSE HEX WITH A CSS PARSER HOLY SHIT IS THAT REALLY SO HARD?? do you REALLY need a library for that?
    I kept it simple like you wanted, not using any compression, but just made it MANAGABLE.
    I can't please, I can't. This is not normal, this isn't okay. You can't do shit like this.
    I probably won't be able to sleep tonight if I keep seeing the things you did in d251ead.
    They just keep appearing in front of my mental eye, and they keep haunting me.
    I hear it whispering to me in the dark, mocking every rational thought I have left.
    PLEASE MAKE IT STOP
    MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS MERGE THIS

  • @xFifaEuro271
    @xFifaEuro271 3 місяці тому +1

    man i love this video.Bruh

  • @miwubunz
    @miwubunz Рік тому +2

    damn

  • @ale77777
    @ale77777 3 місяці тому +1

    Cool

  • @shikanokonokokoshitantan
    @shikanokonokokoshitantan 3 місяці тому

    shikanoko nokonoko koshitantan shikanoko nokonoko koshitantan shikanoko noko noko koshitantan shikanoko nokonoko koshitantan shikanoko nokonoko koshitantan
    shikanoko nokonoko koshitantan shikanoko nokonoko koshitantan shikanoko nokonoko koshitantan shikanoko nokonoko koshitantan
    shikanoko nokonoko koshitantan
    shikanoko nokonoko koshitantan shikanoko nokonoko koshitantan shikanoko nokonoko
    You pressed read more. Spread the word.

  • @Ahnaf_Shariar
    @Ahnaf_Shariar 2 місяці тому +5

    WOW, we are getting .bruh image file format before GTA 6.

  • @seifenspender
    @seifenspender 2 місяці тому

    That's not true. The difference is rather the underlying compression and format.
    Modern JPEG does support alpha channel.

  • @bukdays
    @bukdays 2 місяці тому

    brother 255 255 255 and #FFFFF take the same amount of bits.
    Both are three values of 2^8.
    A HEX 'digit' represent 16 possible values. 2 HEX values represent 16^2 possible values, that is 256 possible values. Just like the each of the RGB values.
    HEX is just numbers represented in base16

  • @DougSalad
    @DougSalad 2 місяці тому

    cool shit and all but why the fuck is this video INTERLACED??????

  • @offroaders123
    @offroaders123 3 місяці тому

    If I remember hearing right, everything that can be made in JavaScript, will eventually be made in JavaScript. I can make that happen for ya! .bruh files in the browser, will keep you updated!

  • @redstonewizard08
    @redstonewizard08 3 місяці тому

    RGBA is smaller, it's 4 `u8`s, and hex would be 6 `char`s (which I think are just `u32`s).

  • @tomchapman128
    @tomchapman128 3 місяці тому

    Side notr, I don't get why people search png for transparent backgrounds. Not all pngs have to have a transparent background.

  • @kibbewater
    @kibbewater 2 місяці тому

    Every channel in RGBA are only a byte long. You could fit an entire pixel in the space required for an int. Using string for for the color will double the size for each pixel

  • @intercepted16
    @intercepted16 Місяць тому

    no no, the file format should be a C file
    Dynamically generate code for each image.
    Then run the image when needed.
    Each file has hardcoded instructions.
    totally efficient and feasible.

  • @FiNiTe_weeb
    @FiNiTe_weeb Місяць тому

    bruh made his own image format but can't disable interlacing in video export settings..

  • @LeExoridus
    @LeExoridus 2 місяці тому

    Or just change the extension to .bruh while keeping the mime types/magic numbers intact, that way you can still display those images inside browsers while getting the intended bruh moment after downloading an unknown file 😂

  • @zlx_k
    @zlx_k 2 місяці тому

    step 1: rename the file format to anything you'd like
    step 2: select the opening type
    no need for that work.. unless it's a big software

  • @Nutyk_edits
    @Nutyk_edits 3 місяці тому

    can you make the .bruh run a gif? like if you understand it would be like .bruhg andf it would run animated image. i think that wopukld be cool

  • @PrincessElodie
    @PrincessElodie 7 місяців тому +1

    bruh

  • @X7cF4
    @X7cF4 3 місяці тому

    Why would u store as text. Why not store the rgba values as 24 bits aka 3 bytes. This makes the size hugely small

  • @randospawn7495
    @randospawn7495 2 місяці тому

    You can say probably update the file format by telling it that if multiple pixels in a row are the same color that they could be simplified to the amount and then the pixel data, otherwise just the pixel data.

  • @deventerprises2640
    @deventerprises2640 3 місяці тому +1

    I think the issue with the tremendously high file sizes maybe because you are storing the ascii representation of the hex codes where in fact you can store hex codes as raw binary in the .Brun file

  • @xfsdark
    @xfsdark 3 місяці тому

    make it like webp but with css so create a div for each pixel and give it a style with the image and create a div for each pixel

  • @kipchickensout
    @kipchickensout 2 місяці тому

    The part where you started converting the decimal representations to hexadecimal _and then proceeded to store it as plaintext_ instead of just storing it as regular bytes was when I lost interest lol

  • @coolkidllama1483
    @coolkidllama1483 27 днів тому

    id love it if someone made a custom file type for .pvt when i use landrop to send live photos from my iphone to my pc so i can just open it in microsoft photos.