From: Takashi Iwai <tiwai@suse.de>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: 'Vinod Koul' <vinod.koul@linux.intel.com>,
broonie@opensource.wolfsonmicro.com, alsa-devel@alsa-project.org,
lrg@ti.com
Subject: Re: [PATCH 5/6] compress: add the core file
Date: Tue, 29 Nov 2011 08:21:56 +0100 [thread overview]
Message-ID: <s5h1usrxujv.wl%tiwai@suse.de> (raw)
In-Reply-To: <001201ccae15$c24d8bf0$46e8a3d0$@bossart@linux.intel.com>
At Mon, 28 Nov 2011 15:36:15 -0600,
Pierre-Louis Bossart wrote:
>
> > > implementation? At least, the term "frame" is already used in ALSA
> > > PCM, and I'm not sure whether you use this term for the very same
> > > meaning in the above context...
>
> Most compressed formats have a notion of frame, but this is indeed a
> different notion. In ALSA a frame is really a sampling point, possibly with
> multiple channels. Compression algorithms group sampling points in frames,
> or blocks, before applying a transform and quantizing. AAC works with 1024
> sampling points, MPEG Layer3 with 2 granules of 576 points, AMR with 160
> points, etc.
> We may want to use terms like 'blocks' or 'chunks', if this helps avoid
> confusions with existing ALSA concepts.
Yes, it's better to avoid the conflicting definition, IMO.
> > For capture, since application may need to get data on frame basis
> > (think video recording with encoded video usage, where application
> > needs
> > audio compressed data on "frame" basis for encapsulation). The DSP is
> > supposed callback after every encoded frame. I think only difference
> > between PCM and this is encoding format, otherwise in terms of decoded
> > data and time they would mean the same.. I am not expert here so maybe
> > wrong.
>
> For capture, in some cases the compressed bitstream doesn't provide any
> pointers on the beginning of a block, nor any block-length indication (eg.
> AAC-RAW). In that case, an encoder would need to pass data to user-space on
> a block-by-block basis, with the bytes available in the ring buffer
> corresponding to the block length. If the applications can extract 'blocks'
> on their own and handle the relevant file-write/multiplexing, the usual
> data-passing with regular events is fine.
>
> For playback, the decoder is expected to deal with such situations on its
> own and find the block boundaries, meaning at the application level we can
> just push bytes down to the decoder without worrying.
But is this restriction guaranteed to be applicable to all possible
hardwares in future? What happens if you'll get a hardware that
doesn't support the byte-unit push for the playback?
That said, I see no obvious reason to give a restriction coupled with
the stream direction.
thanks,
Takashi
next prev parent reply other threads:[~2011-11-29 7:22 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-02 6:06 [RFC 0/5] compress: add compress data API to ALSA kernel Vinod Koul
2011-09-02 6:06 ` [RFC 1/5] compress API documentation Vinod Koul
2011-09-02 6:06 ` [RFC 2/5] compress: add compress parameter definations Vinod Koul
2011-09-02 6:49 ` Paul Menzel
2011-09-02 19:54 ` Pierre-Louis Bossart
2011-09-03 6:28 ` Mark Brown
2011-09-02 14:19 ` Mark Brown
2011-09-02 19:26 ` Pierre-Louis Bossart
2011-09-03 0:05 ` Mark Brown
2011-09-02 6:06 ` [RFC 3/5] compress: add API header and driver header files Vinod Koul
2011-09-02 13:36 ` Clemens Ladisch
2011-09-03 2:59 ` Vinod Koul
2011-09-02 6:06 ` [RFC 4/5] compress: add the core file Vinod Koul
2011-09-02 14:36 ` Mark Brown
2011-09-03 3:06 ` Vinod Koul
2011-09-05 17:43 ` Mark Brown
2011-09-05 21:21 ` Vinod Koul
2011-09-07 13:59 ` Dimitris Papastamos
2011-09-07 14:12 ` Dimitris Papastamos
2011-09-07 18:00 ` Vinod Koul
2011-09-07 15:20 ` Dimitris Papastamos
2011-09-07 18:05 ` Vinod Koul
2011-09-08 10:38 ` Dimitris Papastamos
2011-09-08 23:18 ` Vinod Koul
2011-09-22 13:01 ` Dimitris Papastamos
2011-09-23 5:41 ` Vinod Koul
2011-09-23 11:07 ` Vinod Koul
2011-09-02 6:06 ` [RFC 5/5] compress: add makefile and kconfig file Vinod Koul
2011-09-02 11:30 ` [RFC 0/5] compress: add compress data API to ALSA kernel Mark Brown
2011-09-02 14:04 ` Pierre-Louis Bossart
[not found] ` <000601cc6979$437b11c0$ca713540$@bossart@linux.intel.com>
2011-09-02 14:23 ` Mark Brown
2011-11-22 8:51 ` [PATCH 0/6] " Vinod Koul
2011-12-05 7:39 ` [PATCH v3 0/6] core: " Vinod Koul
2011-12-06 7:27 ` Jassi Brar
2011-12-06 8:07 ` Vinod Koul
2011-12-07 10:04 ` Vinod Koul
2011-12-07 16:15 ` Mark Brown
2011-12-13 9:02 ` [PATCH v4 " Vinod Koul
2011-12-13 9:02 ` [PATCH v4 1/6] compress API documentation Vinod Koul
2011-12-13 9:02 ` [PATCH v4 2/6] core: add support for compressed devices Vinod Koul
2011-12-22 7:34 ` Takashi Iwai
2011-12-22 8:15 ` Vinod Koul
2011-12-13 9:02 ` [PATCH v4 3/6] core: add compress parameter definations Vinod Koul
2011-12-22 7:35 ` Takashi Iwai
2011-12-22 8:16 ` Vinod Koul
2011-12-13 9:02 ` [PATCH v4 4/6] core: add API header and driver header files Vinod Koul
2011-12-13 9:02 ` [PATCH v4 5/6] core: add support for compress_offload Vinod Koul
2011-12-13 12:48 ` Nallasellan, Singaravelan
2011-12-13 14:12 ` Vinod Koul
2011-12-13 16:02 ` Nallasellan, Singaravelan
2011-12-13 17:53 ` Vinod Koul
2011-12-14 5:17 ` Nallasellan, Singaravelan
2011-12-20 9:26 ` Vinod Koul
2011-12-22 7:55 ` Takashi Iwai
2011-12-22 8:19 ` Vinod Koul
2011-12-22 8:27 ` Takashi Iwai
2011-12-22 8:31 ` Vinod Koul
2011-12-22 8:44 ` Takashi Iwai
2011-12-22 8:48 ` Vinod Koul
2011-12-22 8:51 ` Takashi Iwai
2011-12-13 9:03 ` [PATCH v4 6/6] core: add makefile and kconfig file for compress Vinod Koul
2011-12-23 5:06 ` [PATCH v5 0/6] core: add compress data API to ALSA kernel Vinod Koul
2011-12-23 9:37 ` Takashi Iwai
2011-12-23 11:37 ` Vinod Koul
2011-12-23 5:06 ` [PATCH v5 1/6] compress offload API documentation Vinod Koul
2011-12-23 5:06 ` [PATCH v5 2/6] core: add support for compressed devices Vinod Koul
2011-12-23 5:06 ` [PATCH v5 3/6] core: add compress parameter definations Vinod Koul
2011-12-23 5:06 ` [PATCH v5 4/6] core: add API header and driver header files Vinod Koul
2011-12-23 5:06 ` [PATCH v5 5/6] core: add support for compress_offload Vinod Koul
2011-12-23 5:06 ` [PATCH v5 6/6] core: add makefile and kconfig file for compress Vinod Koul
2011-12-05 7:39 ` [PATCH v3 1/6] compress API documentation Vinod Koul
2011-12-05 7:39 ` [PATCH v3 2/6] core: add support for compressed devices Vinod Koul
2011-12-05 7:39 ` [PATCH v3 3/6] core: add compress parameter definations Vinod Koul
2011-12-05 7:39 ` [PATCH v3 4/6] core: add API header and driver header files Vinod Koul
2011-12-13 6:11 ` Mark Brown
2011-12-13 6:31 ` Vinod Koul
2011-12-13 7:03 ` Takashi Iwai
2011-12-13 7:50 ` Vinod Koul
2011-12-13 7:53 ` Mark Brown
2011-12-13 9:03 ` Vinod Koul
2011-12-05 7:39 ` [PATCH v3 5/6] core: add support for compress_offload Vinod Koul
2011-12-13 6:09 ` Mark Brown
2011-12-13 6:29 ` Vinod Koul
2011-12-05 7:39 ` [PATCH v3 6/6] core: add makefile and kconfig file for compress Vinod Koul
2011-11-22 8:51 ` [PATCH 1/6] compress API documentation Vinod Koul
2011-11-22 8:51 ` [PATCH 2/6] core: add support for compressed devices Vinod Koul
2011-11-23 11:30 ` Mark Brown
2011-11-22 8:51 ` [PATCH 3/6] compress: add compress parameter definations Vinod Koul
2011-11-23 16:32 ` Mark Brown
2011-11-22 8:51 ` [PATCH 4/6] compress: add API header and driver header files Vinod Koul
2011-11-22 11:18 ` Clemens Ladisch
2011-11-22 13:14 ` Vinod Koul
2011-12-02 15:39 ` Nallasellan, Singaravelan
2011-12-02 18:58 ` Pierre-Louis Bossart
[not found] ` <000301ccb124$72a53370$57ef9a50$@bossart@linux.intel.com>
2011-12-04 7:41 ` Nallasellan, Singaravelan
2011-12-05 14:14 ` Pierre-Louis Bossart
[not found] ` <000001ccb358$2b9e4b70$82dae250$@bossart@linux.intel.com>
2011-12-05 14:19 ` Mark Brown
2011-12-06 2:55 ` Nallasellan, Singaravelan
2011-11-22 8:51 ` [PATCH 5/6] compress: add the core file Vinod Koul
2011-11-23 16:02 ` Mark Brown
2011-11-23 16:16 ` Vinod Koul
2011-11-23 16:31 ` Mark Brown
2011-11-23 16:34 ` Vinod Koul
2011-11-23 17:03 ` Takashi Iwai
2011-11-24 3:45 ` Vinod Koul
2011-11-24 8:51 ` Takashi Iwai
2011-11-24 9:32 ` Vinod Koul
2011-11-28 21:36 ` Pierre-Louis Bossart
[not found] ` <001201ccae15$c24d8bf0$46e8a3d0$@bossart@linux.intel.com>
2011-11-29 7:21 ` Takashi Iwai [this message]
2011-11-29 21:15 ` Pierre-Louis Bossart
[not found] ` <003001ccaedb$f4e30010$dea90030$@bossart@linux.intel.com>
2011-11-30 10:30 ` Mark Brown
2011-11-30 11:19 ` Takashi Iwai
2011-11-30 11:29 ` Vinod Koul
2011-11-30 11:41 ` Takashi Iwai
2011-11-30 12:00 ` Vinod Koul
2011-11-28 21:19 ` Pierre-Louis Bossart
[not found] ` <000f01ccae13$78fe38c0$6afaaa40$@bossart@linux.intel.com>
2011-11-29 7:31 ` Takashi Iwai
2011-12-01 13:28 ` Nallasellan, Singaravelan
2011-12-02 6:44 ` Vinod Koul
2011-12-02 10:17 ` Nallasellan, Singaravelan
2011-12-02 11:48 ` Vinod Koul
2011-12-02 16:24 ` Nallasellan, Singaravelan
2011-12-04 4:31 ` Vinod Koul
2011-12-04 8:14 ` Nallasellan, Singaravelan
2011-12-05 15:19 ` Pierre-Louis Bossart
[not found] ` <001501ccb361$3af49990$b0ddccb0$@bossart@linux.intel.com>
2011-12-06 3:00 ` Nallasellan, Singaravelan
2011-12-06 6:03 ` Vinod Koul
2011-12-06 8:07 ` Nallasellan, Singaravelan
2011-12-06 20:15 ` Pierre-Louis Bossart
[not found] ` <4ede780f.890bb50a.54a3.ffffcc4dSMTPIN_ADDED@mx.google.com>
[not found] ` <CAKg5Tpo6LgirbVVe9ZXNGN-xq7FTZvgAXNQ2HnXh=gwQHjn_Pw@mail.gmail.com>
2011-12-07 16:53 ` Nallasellan, Singaravelan
2011-11-22 8:52 ` [PATCH 6/6] compress: add makefile and kconfig file Vinod Koul
2011-11-23 16:03 ` Mark Brown
2011-11-23 16:23 ` Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s5h1usrxujv.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=lrg@ti.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=vinod.koul@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.