摘要:
Systems, methods, and media for providing libraries within an OpenCL framework. Library source code is compiled into an intermediate representation and distributed to an end-user computing system. The computing system typically includes a CPU and one or more GPUs. The CPU compiles the intermediate representation of the library into an executable binary targeted to run on the GPUs. The CPU executes a host application, which invokes a kernel from the binary. The CPU retrieves the kernel from the binary and conveys the kernel to a GPU for execution.
摘要:
Embodiments include a video data encoding method comprising receiving video input frames, and performing motion estimation on the video received frames. The motion estimation comprises performing a hierarchical motion search to find motion vectors with optimum sum of absolute difference (SAD) values, and performing spatial filtering of the motion vectors, wherein spatial filtering comprises making some pairs of motion vectors the same to achieve a zero differential.
摘要:
Embodiments include a video data encoding method comprising receiving video input frames, and performing motion estimation on the video received frames. The motion estimation comprises performing a hierarchical motion search to find motion vectors with optimum sum of absolute difference (SAD) values, and performing spatial filtering of the motion vectors, wherein spatial filtering comprises making some pairs of motion vectors the same to achieve a zero differential.
摘要:
Embodiments of a software video encoder with GPU acceleration include a software encoder that partitions video processing tasks and assigns them to both a graphics processing unit (GPU) and a central processing unit (CPU). The partitioning and assigning is configurable for operation in different modes. The modes include a mode in which the total time for video processing (such as when transcoding a large existing file) is reduced, a mode in which less CPU cycles are consumed, thus freeing the CPU for other work, a mode in which the latency of processing (e.g., for video conferencing) is reduced, and a mode in which information from a game or other real-time activity being displayed on the screen is encoded.
摘要:
A method and apparatus for dynamic bandwidth determination and processing task assignment is disclosed. Embodiments include a video driver/interface that communicates with a video processing application such as a video editor. The video driver/interface is configurable to determine a best configuration of the system in order optimally perform the chosen video processing task. Configuration of a system includes dividing the task into subtasks and assigning the subtasks to processors of the system, including central processing units (CPUs) and graphics processing units (GPUs). Configuration of the system also includes optimizing use of available memory of different kinds.
摘要:
Embodiments of a software video encoder with GPU acceleration include a software encoder that partitions video processing tasks and assigns them to both a graphics processing unit (GPU) and a central processing unit (CPU). The partitioning and assigning is configurable for operation in different modes. The modes include a mode in which the total time for video processing (such as when transcoding a large existing file) is reduced, a mode in which less CPU cycles are consumed, thus freeing the CPU for other work, ad mode in which the latency of processing (e.g., for video conferencing) is reduced, and a mode in which information from a game or other real-time activity being displayed on the screen is encoded.