GNOME Bugzilla – Bug 667221
dvdspu: some optimizations
Last modified: 2015-08-28 18:25:16 UTC
Detect invisible pixels, and skip gstspu_vobsub_blend_comp_buffers() when there are only invisible pixels. This significantly reduces the CPU load in cases of DVDs which don't use the clip_rect to exclude processing for parts of the screen where the video is visible. patch attached
Created attachment 204528 [details] [review] dvdspu: some optimizations
Review of attachment 204528 [details] [review]: The parts of this patch that assume a pixel is invisible if Y U & V are all 0 seem bogus. 0/0/0 is a valid YUV colour: Bright green. A pixel is only invisible if the Alpha is 0. Otherwise, it seems useful to avoid blending completely invisible pixel rows.
Created attachment 296347 [details] [review] dvdspu: some optimizations Detect invisible pixels, and skip gstspu_vobsub_blend_comp_buffers() when there are only invisible pixels. This significantly reduces the CPU load in cases of DVDs which don't use the clip_rect to exclude processing for parts of the screen where the video is visible.
Comment on attachment 296347 [details] [review] dvdspu: some optimizations Removed the parts that assume Y=U=V==0 means invisible and pushing the rest.