Re: V4L2_PIX_FMT_MPEG and S_FMT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday, June 18, 2011 21:11:37 Christian Gmeiner wrote:
> Hi all,
> 
> I am still in the process of porting a driver to v4l2 framework. This
> device is capable of decoding MPEG-1 and MPEG-2 streams.

Are we talking about decoding multiplexed streams or elementary streams?
E.g., audio+video or just the elementary video stream?

For decoding elementary streams pixelformats are being defined in an
RFC by Kamil Debski:

http://comments.gmane.org/gmane.linux.drivers.video-input-infrastructure/34229

For multiplexed streams ivtv just uses V4L2_PIX_FMT_MPEG which can be used
for any MPEG program or transport stream. There is currently no method of
communicating to userspace which audio/video formats inside that PS/TS stream
are supported.

The problem is that that information is hidden inside the stream. If your
hardware does multiplexed stream decoding, then what happens when you give
it an mpeg stream with unsupported codecs? Does the hardware give an error?

Regards,

	Hans

> See http://dxr3.sourceforge.net/about.html for more details.
> So I have programmed this:
> 
> static int vidioc_enum_fmt_vid_out(struct file *file, void *fh,
> 				struct v4l2_fmtdesc *fmt)
> {
> 	if (fmt->index > 0)
> 		return -EINVAL;
> 
> 	fmt->flags = V4L2_FMT_FLAG_COMPRESSED;
> 	fmt->pixelformat = V4L2_PIX_FMT_MPEG;
> 	strlcpy(fmt->description, "MPEG 1/2", sizeof(fmt->description));
> 
> 	return 0;
> }
> 
> There is nothing in struct v4l2_format which indicates MPEG1, MPEG2 or
> MPEG4. As a result
> of this, it is not possible to return -EINVAL if somebody wants to
> decode/playback MPEG4 content.
> 
> Any ideas how to achieve it?
> 
> Thanks
> --
> Christian Gmeiner, MSc
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux