- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
on linux use libva, ffmpeg vaapi decode get a hw avframe, format is p010.
use libav overlay a bgra vasurface on video surface.
pipeline paramater is:
VAProcPipelineParameterBuffer overlay_param{0};
VABlendState blend_state = {0};
blend_state.flags = VA_BLEND_PREMULTIPLIED_ALPHA;
blend_state.global_alpha = 1.0f;
VARectangle subrect= {0,0,1280,720};
overlay_param.surface = (VASurfaceID)(uintptr_t)subtitle_frame_->data[3];
overlay_param.output_background_color = 0x00000000;
overlay_param.surface_region = nullptr;
overlay_param.output_region = subrect;
overlay_param.filter_flags = VA_FRAME_PICTURE;
overlay_param.pipeline_flags = 0;
overlay_param.blend_state = &blend_state;
overlay_param.surface_color_standard =VAProcColorStandardSRGB;
overlay_param.output_color_standard =VAProcColorStandardBT2020; //try other value like VAProcColorStandardNone etc
source surface is smaller then 1920x1080;
target surface when 1920x1080, it work
when 3840x2160, not work.
my paramter have any problem? or hardware have limitation?
driver is : Driver version: Intel iHD driver for Intel(R) Gen Graphics - 25.2.2 (9741b50)
Link Copied
0 Replies

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page