xpra icon
Bug tracker and wiki

Opened 3 weeks ago

Last modified 3 weeks ago

#2061 assigned enhancement

picture encoding heuristics tweaks

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 2.5
Component: encodings Version: 2.4.x
Keywords: Cc:

Description (last modified by Antoine Martin)

Based on log samples from #2029, #2022 and others:

  • maybe use x264 ahead of vpx in more cases (changes to "size-efficiency" attribute?): the bandwidth cost of vp8 / vp9 varies more (which hurts bandwidth management) and / or encode faster (currently double that of x264 at similar speed settings)
  • take min-speed and min-quality into account when calculation their corollary
  • ensure we don't choose YUV444P csc step
  • always try to maintain 25fps, drop speed and quality to try to achieve it
  • take scaling attribute into account when using the number of pixels/s
  • honour fixed quality / speed: heuristics use min values only at the moment

Better unit tests.

Change History (6)

comment:1 Changed 3 weeks ago by Antoine Martin

Description: modified (diff)
Status: newassigned

comment:2 Changed 3 weeks ago by Antoine Martin

Related changesets and tickets:

comment:3 Changed 3 weeks ago by Antoine Martin

Description: modified (diff)

Updates:

  • r21098: when min-speed is high, lower the quality quicker
  • r21104: prefer x264 over vpx
  • r21105: raise initial quality but allow fewer soft-expired regions then gradually increase the limit
  • r21108: simplify speed target calculation code
  • r21110: video pipeline scoring improvements
  • r21112: code cleanup, makes debug output much more readable
Last edited 3 weeks ago by Antoine Martin (previous) (diff)

comment:4 Changed 3 weeks ago by Antoine Martin

See also / updates:

Last edited 3 weeks ago by Antoine Martin (previous) (diff)

comment:5 in reply to:  description Changed 3 weeks ago by stdedos

Replying to Antoine Martin:

  • always try to maintain 25fps, drop speed and quality to try to achieve it

Minor comment: I would say, given "heuristics", I would prefer 15fps with a non-pixelated output (so that output is legible), rather than 25fps with borked quality. If there is no such heuristic in the code.

comment:6 Changed 3 weeks ago by Antoine Martin

Minor comment: I would say, given "heuristics", I would prefer 15fps with a non-pixelated output (so that output is legible), rather than 25fps with borked quality. If there is no such heuristic in the code.

There is: just raise the min-quality.

Note: See TracTickets for help on using tickets.