Patent ID: 7525548

Claim:
A system for processing video data, the system comprising: a host processor; a first media processing device coupled to a first frame buffer, wherein the first frame buffer is configured to store video data, and the first media processing device is a master media processing device configured to process a first portion of the video data; a second media processing device coupled to a second frame buffer, wherein the second frame buffer is configured to store a copy of the video data, and the second media processing device is a slave media processing device configured to process a second portion of the video data, wherein the first media processing device is coupled to the second media processing device via a scalable bus, wherein a driver generates a push buffer comprising a plurality of commands for processing the video data that include: one or more commands for copying the video data stored in the first frame buffer to the second frame buffer, a first set sub-device mask (SSDM) command that configures the first media processing device and the second media processing device such that only the first media processing device executes commands in the push buffer subsequent to the first SSDM command, a copy command that causes the first media processing device to copy the video data stored in the first frame buffer to the second frame buffer, a release semaphore command that causes the first media processing device to release a semaphore, a second SSDM command that configures the first media processing device and the second media processing device such that only the second media processing device executes subsequent commands in the push buffer subsequent to the second SSDM command, an acquire semaphore command that causes the second media processing device to acquire the semaphore released by the first media processing device, and a third SSDM command that configures the first media processing device and the second media processing device such that both the first media processing device and the second media processing device execute commands in the push buffer subsequent to the third SSDM command, and wherein after the processing of both the first and second portion of the video data is completed, the second media processing device is configured to transmit the processed second portion of the video data to the first media processing device via the scalable bus.