VAAPI encode path that keeps converted frames in GPU memory.
More...
|
| int | convert (platf::img_t &img) override |
| | Convert a captured VAAPI frame into GPU encoder input.
|
| |
| int | init (int in_width, int in_height, file_t &&render_device, int offset_x, int offset_y) |
| | Initialize VAAPI GPU-frame conversion for the selected display.
|
| |
| void | apply_colorspace () override |
| | Apply the configured colorspace metadata to the active frame.
|
| |
| VAProfile | get_va_profile (AVCodecContext *ctx) |
| | Determines the matching VA profile for the codec configuration.
|
| |
| int | init (int in_width, int in_height, file_t &&render_device) |
| | Initialize VAAPI display, EGL, and conversion resources.
|
| |
| void | init_codec_options (AVCodecContext *ctx, AVDictionary **options) override |
| | Initialize codec options.
|
| |
| bool | is_va_profile_supported (VAProfile profile) |
| | Determines if a given VA profile is supported.
|
| |
| VAEntrypoint | select_va_entrypoint (VAProfile profile) |
| | Finds a supported VA entrypoint for the given VA profile.
|
| |
| int | set_frame (AVFrame *frame, AVBufferRef *hw_frames_ctx_buf) override |
| | Attach frame resources used by the next conversion or encode operation.
|
| |
| virtual void | init_hwframes (AVHWFramesContext *frames) |
| | Initialize the hwframes context.
|
| |
| virtual int | prepare_to_derive_context (int hw_device_type) |
| | Prepare to derive a context.
|
| |
|
|
int | offset_x |
| | Horizontal offset in physical pixels.
|
| |
|
int | offset_y |
| | Vertical offset in physical pixels.
|
| |
|
egl::rgb_t | rgb |
| | Imported RGB image used before VAAPI conversion.
|
| |
|
std::uint64_t | sequence |
| | Monotonic sequence used to recreate imported EGL resources.
|
| |
|
egl::ctx_t | ctx |
| | EGL context used for VA-API frame conversion.
|
| |
|
egl::display_t | display |
| | EGL display created from the DRM render node.
|
| |
|
file_t | file |
| | DRM render-node file descriptor used by VAAPI and EGL.
|
| |
|
gbm::gbm_t | gbm |
| | GBM device used for buffer allocation.
|
| |
|
int | height |
| | Frame or display height in pixels.
|
| |
|
frame_t | hwframe |
| | FFmpeg hardware frame backed by a VAAPI surface.
|
| |
|
egl::nv12_t | nv12 |
| | EGL/OpenGL resources used for NV12 output frames.
|
| |
|
egl::sws_t | sws |
| | EGL/OpenGL conversion pipeline for VA-API frames.
|
| |
|
va::display_t::pointer | va_display |
| | VA display used to allocate and destroy surfaces.
|
| |
|
int | width |
| | Frame or display width in pixels.
|
| |
|
void * | data {} |
| | Backend-specific conversion state.
|
| |
|
AVFrame * | frame {} |
| | FFmpeg frame currently owned by the encode device.
|
| |
|
video::sunshine_colorspace_t | colorspace |
| | Colorspace metadata expected by the encoder.
|
| |
VAAPI encode path that keeps converted frames in GPU memory.
◆ convert()
Convert a captured VAAPI frame into GPU encoder input.
- Parameters
-
| img | Image or frame object to read from or populate. |
- Returns
- Conversion status.
Reimplemented from platf::avcodec_encode_device_t.
◆ init()
| int va::va_vram_t::init |
( |
int | in_width, |
|
|
int | in_height, |
|
|
file_t && | render_device, |
|
|
int | offset_x, |
|
|
int | offset_y ) |
|
inline |
Initialize VAAPI GPU-frame conversion for the selected display.
- Parameters
-
| in_width | In width. |
| in_height | In height. |
| render_device | Render device. |
| offset_x | Offset x. |
| offset_y | Offset y. |
- Returns
- 0 on success; nonzero or negative platform status on failure.
The documentation for this class was generated from the following file: