Get User Input / Set Text Mode | UEFI Dev (in C)

Поділитися
Вставка
  • Опубліковано 3 лип 2024
  • Getting user input with simple text input protocol, querying text modes, and setting new text modes.
    Also showing basic event waiting for key input, and error handling. And failing at printing errors and text correctly.
    Notes:
    - This was recorded with NVENV HEVC (h.265) instead of NVENC h.264, and CQP 18.
    I'll go back to CQP 16 after this, as it might've been too much bit rate/quality loss compared to before, and lower than CQP 16 doesn't seem worth it.
    At least h.265 seems to use less bitrate at CQP 16 than h.264 did, which is expected, but programming is very static content anyway.
    Also re-did audio filters in OBS (again...), in the hopes of better legibility and consistency in levels. Used more of OBS's built-in filters, with two 3rd party VSTs: a multi-band EQ (reaEQ) and de-esser (TDR Nova).
    Still need to tweak things, it's a bit too low range sounding, kind of crackly at parts, and de-essing could be better, although I was pretty tired for this anyway.
    Got a new gpu for AV1 encoding/linux support/other things. There is no OBS AV1 support on linux, at least Alpine Linux, unless maybe I compile OBS myself. FFMPEG does have VAAPI AV1 now, I think.
    Videos after this one will probably be recorded from Linux with FFMPEG VAAPI h.265, as that's the best I saw for GPU encoding support in OBS. That will go with rendering h.265 as well, since Davinci Resolve hasn't resolved (ha) the issues with AV1 not using the GPU on my setup.
    The goal is faster editing, rendering, and uploading times; either from lower bitrates or better compression & encoding, but with similar or better video quality assuming youtube doesn't butcher it too badly on their re-encodes.
    On linux, I got vst2 plugins pkgs.alpinelinux.org/package/... from lsp-plug.in/, and set up EQ and de-essing filters a bit differently.
    So expect more audio/video/setup/font/etc. changes for the next one, but hopefully it'll look/sound alright and won't need any large changes afterwards.
    Links:
    uefi.org/specifications
    UEFI Programming playlist:
    • UEFI Programming in C
    Git Repo:
    github.com/queso-fuego/uefi-dev
    Repo state at the start of this video:
    git clone --recurse-submodules github.com/queso-fuego/uefi-dev
    cd uefi-dev
    git checkout 4ff04037ba5b54b7c7f101ecee789e7342c38730
    Repo state at the end of this video:
    git checkout cdefc78edae1e1ffa51a1e12ef60eb984e155d1d
    Next video:
    - Reset/shutdown, maybe querying/setting GOP modes, getting mouse input, or other things.
    Join the Community Discord: / discord
    Contact:
    queso_fuego.srht.site/contact.html
    - Let me know if there's anything specific you'd like to see!
    Questions about setup/software/etc.?
    Check the FAQ: queso_fuego.srht.site/about.html
    Outline:
    0:00:00 intro
    0:03:22 loop to print available text modes
    0:11:17 simple text input protocol
    0:17:12 get keystroke, print key info
    0:23:10 start get_key() function, look at EFI_BOOT_SERVICES
    0:32:23 boot services struct, WaitForEvent() function
    0:35:54 get keystroke by waiting for event
    0:43:30 set text mode from user input
    0:54:23 define error statuses and check return code for SetMode()
    1:06:21 fail at fixing print issues
    1:19:47 set cursor position, overwrite last number input
    1:23:25 up next & outro
    Music credits:
    Winter Night by Sakura Girl | / sakuragirl_official
    Music promoted by www.chosic.com/free-music/all/
    Creative Commons CC BY 3.0
    creativecommons.org/licenses/...
    #uefidev #cprogramming #input
  • Наука та технологія

КОМЕНТАРІ • 6

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

    Just what I was looking for, thanks!

  • @samborms
    @samborms 4 місяці тому

    I had some difficulties following the rhythm of the video, I can complete it and I got the same results, I am starting to understand the information, good video.

    • @QuesoFuego
      @QuesoFuego  4 місяці тому

      Thanks, I will work on making them easier to follow for the future

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

    Esse é um dos melhores canais neste nivel de programação. Grato por compartilhar conhecimento.

  • @boaridaaa_lol6241
    @boaridaaa_lol6241 9 місяців тому +1

    First