xpra icon
Bug tracker and wiki

Changeset 1195 in xpra


Ignore:
Timestamp:
07/27/12 12:41:44 (10 months ago)
Author:
antoine
Message:

increase slope to avoid division by close to zero when average is zero, also provide utility function to lookup video encoders (to hookup change encoding speed functions)

Location:
trunk/src/xpra
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/xpra/maths.py

    r1191 r1195  
    170170    avg, recent = calculate_time_weighted_average(list(time_values)) 
    171171    msg = "%s avg=%s, recent=%s, target=%s" % (msg_header, avg, recent, target) 
    172     return  calculate_for_target(msg, target, avg, recent, aim=0.25, div=div, slope=0.01) 
     172    return  calculate_for_target(msg, target, avg, recent, aim=0.25, div=div, slope=1.0) 
  • trunk/src/xpra/server_source.py

    r1193 r1195  
    595595        #packet and pixels backlog: 
    596596        last_packets_backlog, last_pixels_backlog = self._last_client_delta 
    597         factors.append(calculate_for_target("client packets backlog", 0, last_packets_backlog, packets_backlog, slope=1)) 
    598         factors.append(calculate_for_target("client pixels backlog", 0, last_pixels_backlog, pixels_backlog, div=low_limit, slope=0.1)) 
     597        factors.append(calculate_for_target("client packets backlog", 0, last_packets_backlog, packets_backlog, slope=1.0)) 
     598        factors.append(calculate_for_target("client pixels backlog", 0, last_pixels_backlog, pixels_backlog, div=low_limit, slope=1.0)) 
    599599        if self._mmap and self._mmap_size>0: 
    600600            #full: effective range is 0.0 to ~1.2 
     
    10261026        return data 
    10271027 
     1028    def video_encoders(self, coding): 
     1029        assert coding in ENCODINGS 
     1030        if coding=="x264": 
     1031            from xpra.x264.codec import ENCODERS as x264_encoders, Encoder as x264Encoder   #@UnresolvedImport 
     1032            return x264_encoders, x264Encoder 
     1033        elif coding=="vpx": 
     1034            from xpra.vpx.codec import ENCODERS as vpx_encoders, Encoder as vpxEncoder      #@UnresolvedImport 
     1035            return vpx_encoders, vpxEncoder 
     1036        else: 
     1037            raise Exception("invalid video encoder: %s" % coding) 
     1038 
    10281039    def video_encode(self, wid, x, y, w, h, coding, data, rowstride): 
    10291040        """ 
     
    10361047 
    10371048        """ 
    1038         assert coding in ENCODINGS 
    10391049        assert x==0 and y==0, "invalid position: %sx%s" % (x,y) 
    1040         if coding=="x264": 
    1041             from xpra.x264.codec import ENCODERS as x264_encoders, Encoder as x264Encoder   #@UnresolvedImport 
    1042             encoders = x264_encoders 
    1043             factory = x264Encoder 
    1044         elif coding=="vpx": 
    1045             from xpra.vpx.codec import ENCODERS as vpx_encoders, Encoder as vpxEncoder      #@UnresolvedImport 
    1046             encoders = vpx_encoders 
    1047             factory = vpxEncoder 
    1048         else: 
    1049             raise Exception("invalid video encoder: %s" % coding) 
     1050        encoders, factory = self.video_encoders(coding) 
    10501051        #time_before = time.clock() 
    10511052        try: 
Note: See TracChangeset for help on using the changeset viewer.