[vlc-devel] Re: [VLC] VLC with ffmpeg compile + YUV play

Dusan Mudric dusan.mudric at rogers.com
Sat Jan 22 17:26:04 CET 2005


Find my explanation of our effort inlined. I need a reference to application
which uses ffmpeg and can run YUV video clips created by ISO. Application
needs to be open source so we can try our new encoding algorithms.


From: "Benjamin PRACHT" <bigben+spam at videolan.org>

> On Thu, Jan 20, 2005, Dusan Mudric wrote :
> > > Well, for that, the best woulkd certainly be to have a look on one of
> > > the pages linked here http://developers.videolan.org/vlc/, depending
on
> > > the destination architecture.
> >
> > [Dusan] Can you be more specific? We spent a lot of  time already on
this page without success.
>
> Well, what are you trying to do exactly ? Which OS ? What is the error
> / problem you are facing ?
>

[Dusan] We want to test new DCT, wavelet and motion estimation algorithms in
VLC codec. To do that we want to find which part of VLC code we need to
replace. For MPEG4 it is in ffmpeg library. If we change this library, we
want to run VLC and test our algorithms. We have problem linking ffmpeg with
VLC. If there is another open source application using ffmpeg library and
can be used to run YUV video clips, please suggest.

Based on my understaning of VLC, it uses ffmpeg library for encoding
algorithms. We want to modify MPEG4 encoder:

ffmpeg-20041113\libavcodec\mpegvideo.c(6363):AVCodec mpeg4_encoder = {
MPV_encode_init, ...}

Where motion is done by:
=================
ffmpeg-20041113\libavcodec\mpegvideo.c(4280):    encode_mb(s, motion_x,
motion_y);
C:\CYGWIN\VLC\ffmpeg\libavcodec\mpegvideo.c(4121):        mpeg4_encode_mb(s,
s->block, motion_x, motion_y); break;
C:\CYGWIN\VLC\ffmpeg\libavcodec\h263.c(767):void
mpeg4_encode_mb(MpegEncContext * s,

and texture:
========
ffmpeg-20041113\libavcodec\mpegvideo.c(4063):
s->block_last_index[i] = s->dct_quantize(s, s->block[i], i, s->qscale,
&overflow);       <---- HERE IS DCT done
C:\CYGWIN\VLC\ffmpeg\libavcodec\mpegvideo.c(5980):static int
dct_quantize_c(MpegEncContext *s, ..)




> > >
> > > Well, If the YUV track is encapsulated in a muxing format VLC support
> > > (well, do we have support for a muxing format that allows raw video
?),
> > > it should work... But I'm not aware of any way to have VLC read any
raw
> > > video stream (excepted the particular case of DV streams).
> > >
> >
> > [Dusan] How do you test ffmpeg encoders if VLC doesn't run YUV?
> >
>
> Well, VLC does handle quite a lot of variants of the YUV chromas,
> What I meant is that I'm not aware of any way to feed VLC with a raw
> uncompressed YUV stream coming from a file. As I said, raw YUV streams
> from capture cameras (Video4linux, Directshow, etc) are handled. Adding
> support for raw YUV files shouldn't be to hard, I guess. It would be a
> matter of creating a "raw" demux, that allows to specify the fourcc of
> the given track, as well as the dimensions of the picture (That might
> already exist without me being aware of it).
>
> Transcoding is mostly used to change the codec/bitrate of a already
> encoded stream on the fly, before re-streaming it. If your purpose is to
> test the quality of the ffmpeg encoders, than VLC certainly isn't the
> application you are looking for...

[Dusan] Sounds like you know other applications which use ffmpeg and can
encode/decode ISO reference YUV video clips. Would you mind to tell us which
application we can use instead?

>
> --
> BigBen
>
> --
> This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
> To unsubscribe, please read http://developers.videolan.org/lists.html
>
>

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list