Increased speed of processing of data received over a communications link
First Claim
Patent Images
1. at least one input channel map;
- at least one output channel map; and
a computer readable apparatus comprising non-transitory storage media comprising a computer program having a plurality of instructions which, when executed on said processor, enable said apparatus to;
unpack a plurality of packets into a first set of said data channels based at least in part on said at least one input channel map;
pack a subset of the first set of said data channels into a second set of data channels based at least in part on said at least one output channel map;
publish the second set of data channels to at least one media device driver; and
where the at least one media device driver is configured to process only the published second set of data channels.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for processing data samples utilizes a channel map populated by device descriptor, or by an application program interface. Packet processing code loops through all of the samples contained in a packet while incrementing through a channel map and steering table without having to look up a table to determine in what audio buffer the sample is to be stored or read. Additionally, the present invention utilizes a stride map, so the audio subsystem knows how many samples to skip in order to reach the next sample frame. The present invention can be used for handling received packets as well as forming packets to send over a bus.
64 Citations
20 Claims
-
1. at least one input channel map;
-
at least one output channel map; and a computer readable apparatus comprising non-transitory storage media comprising a computer program having a plurality of instructions which, when executed on said processor, enable said apparatus to; unpack a plurality of packets into a first set of said data channels based at least in part on said at least one input channel map; pack a subset of the first set of said data channels into a second set of data channels based at least in part on said at least one output channel map; publish the second set of data channels to at least one media device driver; and where the at least one media device driver is configured to process only the published second set of data channels. - View Dependent Claims (2, 3, 4)
-
-
5. receiving a device descriptor comprising information enabling unpacking of said at least one frame of data;
publishing, based at least in part on said information enabling unpacking of said frames of data; a steering table indicating a channel order, said channel order describing an order of packed data channels within said frames of data; a stride map indicating at least one stride size, said at least one stride size determining a number of data samples to skip, corresponding to others of said data channels, between sequential data samples of the same data channel; and a channel map indicating one or more start addresses, wherein said start addresses for said data channels reside within a sample buffer, wherein the channel map accommodates a mismatched sample size or packet size with respect to an application stream size. - View Dependent Claims (6, 7, 8, 9)
-
10. a computer readable apparatus comprising non-transitory media containing at least one computer program having a plurality of instructions, said plurality of instructions which, when executed, cause said apparatus to:
-
read a device descriptor, where the device descriptor is configured to enable unpacking of said frames of data; read one or more of said frames of data in said sample buffer; unpack said read one or more frames into its constituent data channels based at least in part on said information in said device descriptor; and publish only a subset of the constituent data channels to an audio device driver, wherein the audio device driver responsively processes only the published subset. - View Dependent Claims (11, 12, 13, 14)
-
-
15. a computer readable apparatus comprising non-transitory media containing at least one computer program having a plurality of instructions, said plurality of instructions which, when executed, cause said apparatus to:
-
receive a device descriptor comprising information enabling unpacking of said frames of data; read one or more of said frames of data in said sample buffer; unpack said read one or more frames into a first set of data channels based at least in part on said information in said device descriptor; pack a second set of data channels from the first set of data channels based at least in part on said information in said device descriptor; publish the second set of data channels to at least one audio device driver; and where the at least one audio device driver processes only the published second set of data channels. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification