CA2425360C

Facilitating interaction between video renderers and graphics device drivers

Abstract

Facilitating interaction may be enabled through communication protocols and/or APIs that permit information regarding image processing capabilities of associated graphics hardware to be exchanged between graphics device drivers and video renders. In a first exemplary media implementation, electronically- executable instructions thereof for a video renderer precipitate actions including: issuing a query from a video render towards a graphics device driver, the query requesting information relating to process amplifier (ProcAmp) capabilities; and receiving a response at the video renderer from the graphics device driver, the response including the requested information relating to ProcAmp capabilities. In a second exemplary media implementation, a graphics device driver precipitates actions including: receiving a query at the graphics device driver from a video renderer, the query requesting information relating to ProcAmp capabilities; and sending a response to the video renderer from the graphics device driver, the response including the requested information that relates to ProcAmp capabilities.

CA2425360C, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Expired 14 April 2023, 3.4 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

38 claims: 7 independent, 31 dependent

  1. 1
    CA 02425360 2016-02-19 / 51018-4 CLAIMS:1. A computer-implemented method for facilitating interaction between one or more video Tenderers and at least one graphics device driver, the method comprising: querying, by a video Tenderer of the one or more video Tenderers, the at least 5 one graphics device driver regarding process amplifier (ProcAmp) control property capabilities, the querying including a description of video to be displayed;generating, based on the description of video to be displayed, a response including information relating to the ProcAmp control property capabilities;sending the response to the video Tenderer from the at least one graphics device 10 driver, wherein the information relating to the ProcAmp control property capabilities includes at least a subset of the ProcAmp control property capabilities that the at least one graphics device driver can offer to the video Tenderer;providing to the video Tenderer from the graphics device driver, an identification of ProcAmp adjustments that may be performed simultaneously with video 15 processing operations associated with the subset of the ProcAmp control property capabilities;selecting, at the video Tenderer, a ProcAmp control property associated with one of the subset of the ProcAmp control property capabilities;receiving at the graphics device driver, from the video Tenderer, a request for values associated with the selected ProcAmp control property;20 providing values to the video Tenderer in response to the request for values associated with the selected ProcAmp control property, the values being used in the video processing operations;receiving at the graphics device driver from the video renderer, a command to open a ProcAmp stream object;CA 02425360 2016-02-19 ./ 51018-4 opening the ProcAmp stream object;sending to the video renderer, from the graphics device driver, another response having a handle pointing to the opened ProcAmp stream object;receiving at the graphics device driver, from the video renderer, a command to 5 perform at least one of the ProcAmp adjustments from the identification of ProcAmp adjustments that may be performed simultaneously with video processing operations;and causing performance of the at least one of the ProcAmp adjustments, wherein;the command includes an instruction to perform the video processing operation associated with the selected ProcAmp control property concurrently with the at least one of 10 the ProcAmp adjustments;causing performance of the at least one of the ProcAmp adjustments comprises causing a concurrent performance of the at least one of the ProcAmp adjustments and the video processing operation;and the information relating to the ProcAmp control property capabilities is 15 directed to the video processing operations that are performed simultaneously with the at least one of the ProcAmp adjustments.
  2. 5
    One or more electronically-accessible storage media having stored thereon electronically-executable instructions that, when executed, precipitate actions comprising; receiving a query at a graphics device driver from a video Tenderer, the query comprising:10 a request for information relating to process amplifier (ProcAmp) control property capabilities;and a description of the type of video to be displayed;generating, based on the description of the video to be displayed, a response that includes the requested information that relates to the ProcAmp control property 15 capabilities;sending the response to the video Tenderer from the graphics device driver;providing to the video Tenderer from the graphics device driver, an identification of ProcAmp adjustments that may be performed simultaneously with video processing operations associated with the ProcAmp control property capabilities;20 selecting, at the video Tenderer, a ProcAmp control property associated with one of the ProcAmp control property capabilities;receiving at the graphics device driver, from the video Tenderer, a request for values associated with the selected ProcAmp control property;CA 02425360 2016-02-19 , 51018-4 providing values to the video Tenderer in response to the request for values associated with the selected ProcAmp control property, the values being used in the video processing operations;receiving at the graphics device driver from the video Tenderer, a command to 5 open a ProcAmp stream object;opening the ProcAmp stream object;sending to the video Tenderer, from the graphics device driver, another response having a handle pointing to the opened ProcAmp stream object;receiving at the graphics device driver, from the video Tenderer, a command to 10 perform at least one of the ProcAmp adjustments from the identification of ProcAmp adjustments that may be performed simultaneously with video processing operations;and causing performance of the at least one of the ProcAmp adjustments, wherein;the command includes an instruction to perform the video processing operation associated with the selected ProcAmp control property concurrently with the at least one 15 ProcAmp adjustments;causing performance of the at least one of the ProcAmp adjustments comprises causing a concurrent performance of the at least one of the ProcAmp adjustments and the video processing operation;and the information relating to the ProcAmp control property capabilities is 20 directed to the video processing operations that are performed simultaneously with the at least one of the ProcAmp adjustments.
  3. 19
    A system for facilitating interaction between a video Tenderer and a graphics device driver, the system comprising:a processor;CA 02425360 2016-02-19 ' 51018-4 video rendering logic adapted to prepare queries that request information relating to process amplifier (ProcAmp) capabilities that can be applied to video to be displayed, wherein the queries include a description of the type of video that is to be displayed;and 5 graphics device driving logic adapted to prepare responses that indicate what ProcAmp capabilities can be applied to the video to be displayed based on the description of the type of video to be displayed;and interface logic that is adapted to facilitate interaction between the video rendering logic and the graphics device driving logic, the interaction comprising: 10 receiving a query at a graphics device driver from a video renderer, the query comprising: a request for information relating to process amplifier (ProcAmp) control property capabilities;and the description of the type of video to be displayed;15 generating, based on the description of the video to be displayed, a response that includes the requested information that relates to the ProcAmp control property capabilities;sending the response to the video renderer from the graphics device driver;providing to the video renderer from the graphics device driver, an 20 identification of ProcAmp adjustments that may be performed simultaneously with video processing operations associated with the ProcAmp control properties;selecting, at the video renderer, a ProcAmp control property associated with one of the ProcAmp control property capabilities;CA 02425360 2016-02-19 ' 51018-4 receiving at the graphics device driver, from the video renderer, a request for values associated with the selected ProcAmp control property;providing values to the video renderer in response to the request for values associated with the selected ProcAmp control property, the values being used in the video 5 processing operations;receiving at the graphics device driver from the video tenderer, a command to open a ProcAmp stream object;opening the ProcAmp stream object;sending to the video renderer, from the graphics device driver, another 10 response having a handle pointing to the opened ProcAmp stream object;receiving at the graphics device driver, from the video renderer, a command to perform at least one of the ProcAmp adjustments from the identification of ProcAmp adjustments that may be performed simultaneously with video processing operations;and causing performance of the at least one of the ProcAmp adjustments, wherein: 15 the command includes an instruction to perform the video processing operations associated with the selected ProcAmp control property concurrently with the at least one of the ProcAmp adjustments;causing performance of the at least one of the ProcAmp adjustments comprises causing a concurrent performance of the at least one of the ProcAmp adjustments and the 20 video processing operations;and the information relating to the ProcAmp control property capabilities is directed to the video processing operations that are performed simultaneously with the at least one of the ProcAmp adjustments. CA 02425360 2016-02-19 . / 51018-4
  4. 20
    One or more electronically-accessible storage media storing electronicallyexecutable instructions that, when executed, perform operations comprising:transmitting, from a video Tenderer to a graphics device driver, a query to determine Process Amplifier (ProcAmp) settings that the graphics device driver is capable of 5 providing to the video Tenderer for one or more ProcAmp control properties;receiving, at the video Tenderer from the graphics device driver, a response to the query indicating at least one ProcAmp control property range that the graphics device driver is capable of providing to the video Tenderer based at least in part in the ProcAmp settings;10 determining, at the video Tenderer, at least one ProcAmp control property value within the at least one ProcAmp control property range;and transmitting one or more instructions from the video Tenderer to the graphics device driver to perform a video processing operation based at least in part on the at least one ProcAmp control property value. 15
  5. 28
    One or more computing devices comprising:one or more processors;CA 02425360 2016-02-19 51018-4 one or more computer-readable storage media, coupled to the one or more processors, storing: a video Tenderer configured to send a query to a graphics device driver to determine Process Amplifier (ProcAmp) settings that the graphics device driver is capable of 5 providing for one or more ProcAmp control properties;and the graphics device driver to receive the query from the video Tenderer and to send, to the video Tenderer, a response to the query that indicates at least one ProcAmp control property adjustment range that the graphics device driver is capable of providing to the video Tenderer based at least in part of the ProcAmp settings, 10 wherein the video renderer sets at least one ProcAmp control property value within the at least one ProcAmp control property adjustment range and instructs the graphics device driver to perform a video processing operation using the at least one ProcAmp control property value set within the at least one ProcAmp control property adjustment range.
  6. 31
    The computing device as recited by claim 28, wherein the at least one ProcAmp control property adjustment range includes a minimum value, a maximum value and an incremental step size value.
  7. 32
    A method comprising:5 receiving, from a video Tenderer at a graphics device driver, a query to determine available Process Amplifier (ProcAmp) operations associated with displaying a video;transmitting, to the video Tenderer from the graphics device driver, a response to the query that indicates a ProcAmp control property support range for at least one available 10 ProcAmp control operation;and receiving, from the video Tenderer at the graphics device driver, one or more instructions to perform one or more image processing operations, the instructions including one or more values determined by the video Tenderer based at least in part on the ProcAmp control property support range for the at least one available ProcAmp control operation in the 15 response transmitted to the video Tenderer from the graphics device driver.