From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Mike Isely at pobox <isely@pobox.com>
Cc: Mike Isely <isely@isely.net>, Hans Verkuil <hverkuil@xs4all.nl>,
linux-media <linux-media@vger.kernel.org>,
Andy Walls <awalls@md.metrocast.net>
Subject: Re: RFC: Core + Radio profile
Date: Wed, 22 Aug 2012 15:09:08 -0300 [thread overview]
Message-ID: <50352044.7040104@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1208221013110.8031@cnc.isely.net>
Em 22-08-2012 12:19, Mike Isely escreveu:
> On Wed, 22 Aug 2012, Mauro Carvalho Chehab wrote:
>
>> Em 22-08-2012 07:11, Hans Verkuil escreveu:
>>> I've added some more core profile requirements.
>>
>>>>
>>>> Streaming I/O is not supported by radio nodes.
>>
>> Hmm... pvrusb2/ivtv? Ok, it makes sense to move it to use the alsa
>> mpeg API there. If we're enforcing it, we should deprecate the current way
>> there, and make it use ALSA.
>
> I am unaware of any ALSA MPEG API. It's entirely likely that this is
> because I haven't been paying attention. Nevertheless, can you please
> point me at any documentation on this so I can get up to speed?
I don't know much about that. A grep at sound might help:
$ git grep -i mpeg sound/
sound/core/oss/pcm_oss.c: case AFMT_MPEG: return SNDRV_PCM_FORMAT_MPEG;
sound/core/oss/pcm_oss.c: case SNDRV_PCM_FORMAT_MPEG: return AFMT_MPEG;
sound/core/pcm.c: FORMAT(MPEG),
sound/core/pcm.c: case AFMT_MPEG:
sound/core/pcm.c: return "MPEG";
sound/core/pcm_misc.c: [SNDRV_PCM_FORMAT_MPEG] = {
sound/drivers/vx/vx_cmd.h:#define MASK_VALID_PIPE_MPEG_PARAM 0x000040
sound/drivers/vx/vx_cmd.h:#define MASK_SET_PIPE_MPEG_PARAM 0x000002
sound/drivers/vx/vx_cmd.h:#define P_PREPARE_FOR_MPEG3_MASK
sound/drivers/vx/vx_core.c: if (chip->audio_info & VX_AUDIO_INFO_MPEG1)
sound/drivers/vx/vx_core.c: snd_iprintf(buffer, " mpeg1");
sound/drivers/vx/vx_core.c: if (chip->audio_info & VX_AUDIO_INFO_MPEG2)
sound/drivers/vx/vx_core.c: snd_iprintf(buffer, " mpeg2");
sound/pci/asihpi/asihpi.c: -1, /* HPI_FORMAT_MPEG_L1 3 */
sound/pci/asihpi/asihpi.c: SNDRV_PCM_FORMAT_MPEG, /* HPI_FORMAT_MPEG_L2 4 */
sound/pci/asihpi/asihpi.c: SNDRV_PCM_FORMAT_MPEG, /* HPI_FORMAT_MPEG_L3 5 */
sound/pci/asihpi/hpi.h:/** MPEG-1 Layer-1. */
sound/pci/asihpi/hpi.h: HPI_FORMAT_MPEG_L1 = 3,
sound/pci/asihpi/hpi.h:/** MPEG-1 Layer-2.
sound/pci/asihpi/hpi.h:Windows equivalent is WAVE_FORMAT_MPEG.
sound/pci/asihpi/hpi.h: HPI_FORMAT_MPEG_L2 = 4,
sound/pci/asihpi/hpi.h:/** MPEG-1 Layer-3.
sound/pci/asihpi/hpi.h:Windows equivalent is WAVE_FORMAT_MPEG.
sound/pci/asihpi/hpi.h: HPI_FORMAT_MPEG_L3 = 5,
sound/pci/asihpi/hpi.h:#define HPI_CAPABILITY_MPEG_LAYER3 (1)
sound/pci/asihpi/hpi.h:/** MPEG Ancillary Data modes
sound/pci/asihpi/hpi.h:enum HPI_MPEG_ANC_MODES {
sound/pci/asihpi/hpi.h: /** the MPEG frames have energy information stored in them (5 bytes per stereo frame, 3 per mono) */
sound/pci/asihpi/hpi.h: HPI_MPEG_ANC_HASENERGY = 0,
sound/pci/asihpi/hpi.h: HPI_MPEG_ANC_RAW = 1
sound/pci/asihpi/hpi.h:enum HPI_ISTREAM_MPEG_ANC_ALIGNS {
sound/pci/asihpi/hpi.h: HPI_MPEG_ANC_ALIGN_LEFT = 0,
sound/pci/asihpi/hpi.h: HPI_MPEG_ANC_ALIGN_RIGHT = 1
sound/pci/asihpi/hpi.h:/** MPEG modes
sound/pci/asihpi/hpi.h:MPEG modes - can be used optionally for HPI_FormatCreate()
sound/pci/asihpi/hpi.h:Using any mode setting other than HPI_MPEG_MODE_DEFAULT
sound/pci/asihpi/hpi.h:enum HPI_MPEG_MODES {
sound/pci/asihpi/hpi.h:/** Causes the MPEG-1 Layer II bitstream to be recorded
sound/pci/asihpi/hpi.h: HPI_MPEG_MODE_DEFAULT = 0,
sound/pci/asihpi/hpi.h: HPI_MPEG_MODE_STEREO = 1,
sound/pci/asihpi/hpi.h: HPI_MPEG_MODE_JOINTSTEREO = 2,
sound/pci/asihpi/hpi.h: HPI_MPEG_MODE_DUALCHANNEL = 3
sound/pci/asihpi/hpi.h:/** maximum number of ancillary bytes per MPEG frame */
sound/pci/asihpi/hpi.h: u32 bit_rate; /**< for MPEG */
sound/pci/asihpi/hpi.h: u16 format; /**< HPI_FORMAT_PCM16, _MPEG etc. see #HPI_FORMATS. */
sound/pci/asihpi/hpi_internal.h: u32 bit_rate; /**< for MPEG */
sound/pci/asihpi/hpi_internal.h: u16 format; /**< HPI_FORMAT_PCM16, _MPEG etc. see \ref HPI_FORMATS. */
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L1:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L2:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L3:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L1:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L2:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L3:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L2:
sound/pci/asihpi/hpifunc.c: && (attributes != HPI_MPEG_MODE_DEFAULT)) {
sound/pci/asihpi/hpifunc.c: attributes = HPI_MPEG_MODE_DEFAULT;
sound/pci/asihpi/hpifunc.c: } else if (attributes > HPI_MPEG_MODE_DUALCHANNEL) {
sound/pci/asihpi/hpifunc.c: attributes = HPI_MPEG_MODE_DEFAULT;
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L1:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L2:
sound/pci/asihpi/hpifunc.c: case HPI_FORMAT_MPEG_L3:
sound/pci/bt87x.c: * (DVB cards use the audio function to transfer MPEG data) */
sound/pci/ens1370.c:#define ES_MSFMTSEL (1<<15) /* MPEG serial data format; 0 = SONY, 1 = I2S */
sound/pci/ens1370.c:#define ES_1370_M_SBB (1<<14) /* clock source for DAC - 0 = clock generator; 1 = MPEG clocks */
sound/pci/ens1370.c:#define ES_1370_M_CB (1<<9) /* capture clock source; 0 = ADC; 1 = MPEG */
sound/pci/hda/hda_eld.c: AUDIO_CODING_TYPE_MPEG1 = 3,
sound/pci/hda/hda_eld.c: AUDIO_CODING_TYPE_MPEG2 = 5,
sound/pci/hda/hda_eld.c: AUDIO_CODING_TYPE_MPEG_SURROUND = 17,
sound/pci/hda/hda_eld.c: AUDIO_CODING_XTYPE_MPEG_SURROUND = 3,
sound/pci/hda/hda_eld.c: /* 3 */ "MPEG1",
sound/pci/hda/hda_eld.c: /* 5 */ "MPEG2",
sound/pci/hda/hda_eld.c: /* 17 */ "MPEG Surround",
sound/pci/hda/hda_eld.c: case AUDIO_CODING_TYPE_MPEG1:
sound/pci/hda/hda_eld.c: case AUDIO_CODING_TYPE_MPEG2:
sound/pci/mixart/mixart_core.h: CT_MPEG_L1,
sound/pci/mixart/mixart_core.h: CT_MPEG_L2,
sound/pci/mixart/mixart_core.h: CT_MPEG_L3,
sound/pci/mixart/mixart_core.h: CT_MPEG_L3_LSF,
sound/pci/mixart/mixart_core.h: u32 mpeg_layer;
sound/pci/mixart/mixart_core.h: u32 mpeg_mode;
sound/pci/mixart/mixart_core.h: u32 mpeg_mode_extension;
sound/pci/mixart/mixart_core.h: u32 mpeg_pre_emphasis;
sound/pci/mixart/mixart_core.h: u32 mpeg_has_padding_bit;
sound/pci/mixart/mixart_core.h: u32 mpeg_has_crc;
sound/pci/mixart/mixart_core.h: u32 mpeg_has_extension;
sound/pci/mixart/mixart_core.h: u32 mpeg_is_original;
sound/pci/mixart/mixart_core.h: u32 mpeg_has_copyright;
sound/pci/mixart/mixart_core.h: } mpeg_format_info;
sound/usb/format.c: case UAC_FORMAT_TYPE_II_MPEG:
sound/usb/format.c: fp->formats = SNDRV_PCM_FMTBIT_MPEG;
sound/usb/format.c: snd_printd(KERN_INFO "%d:%u:%d : unknown format tag %#x is detected. processed as MPEG.\n",
sound/usb/format.c: fp->formats = SNDRV_PCM_FMTBIT_MPEG;
>
> Currently the pvrusb2 driver does not attempt to perform any processing
> or filtering of the data stream, so radio data is just the same mpeg
> stream as video (but without any real embedded video data). If I have
> to get into the business of processing the MPEG data in order to adhere
> to this proposal, then that will be a very big deal for this driver.
I _suspect_ that it is just a matter of adding something like em28xx-audio
at pvrusb2, saying that the format is MPEG, instead of raw PCM. In-kernel
processing is likely not needed/wanted.
We may try to double check with Takashi during the KS media workshop.
Regards,
Mauro
next prev parent reply other threads:[~2012-08-22 18:09 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-22 9:40 RFC: Core + Radio profile Hans Verkuil
2012-08-22 9:47 ` Hans de Goede
2012-08-22 10:11 ` Hans Verkuil
2012-08-22 13:42 ` Mauro Carvalho Chehab
2012-08-22 15:19 ` Mike Isely
2012-08-22 18:09 ` Mauro Carvalho Chehab [this message]
2012-08-23 11:12 ` Andy Walls
2012-08-24 12:31 ` Hans Verkuil
2012-08-24 14:51 ` Mauro Carvalho Chehab
2012-08-24 15:35 ` Hans Verkuil
2012-08-26 22:56 ` Andy Walls
2012-08-25 0:37 ` Andy Walls
2012-08-25 7:21 ` Hans Verkuil
2012-08-26 22:15 ` Andy Walls
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=50352044.7040104@redhat.com \
--to=mchehab@redhat.com \
--cc=awalls@md.metrocast.net \
--cc=hverkuil@xs4all.nl \
--cc=isely@isely.net \
--cc=isely@pobox.com \
--cc=linux-media@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).