[FFmpeg-devel] [PATCH]Add Dirac support to ffmpeg via libdirac_* and Schroedinger libraries]

Anuradha Suraparaju anuradha
Tue Apr 8 07:40:49 CEST 2008


Some questions and clarifications.

On Sat, 2008-04-05 at 01:44 +0200, Michael Niedermayer wrote:
> On Fri, Apr 04, 2008 at 02:39:25PM +1100, Anuradha Suraparaju wrote:
> > Sorry. Forgot to mention that the message is a patch in my earlier
> > email.
> > 
> > Regards,
> > Anuradha
> > -------- Forwarded Message --------
> > From: Anuradha Suraparaju <anuradha at rd.bbc.co.uk>
> > Reply-To: FFmpeg development discussions and patches
> > <ffmpeg-devel at mplayerhq.hu>
> > To: ffmpeg-devel at mplayerhq.hu
> > Cc: dirac at rd.bbc.co.uk, anuradha at rd.bbc.co.uk
> > Subject: [FFmpeg-devel] Add Dirac support to ffmpeg via libdirac_* and
> > Schroedinger	libraries
> > Date: Fri, 04 Apr 2008 13:22:53 +1100
> > 
> > Hi,
> > 
> > I have attached a patch to FFmpeg to enable Dirac compression system
> > support via the libdirac_encoder/decoder libraries and Schroedinger
> > libraries. The attached README has instructions as to how to apply the
> > patch and enable Dirac support.
> [...]
> > diff --exclude=.svn -ruN ffmpegsvn_trunk/libavcodec/avcodec.h ffmpegsvn_trunk_dirac_schro/libavcodec/avcodec.h
> > --- ffmpegsvn_trunk/libavcodec/avcodec.h	2008-04-01 09:14:03.000000000 +1000
> > +++ ffmpegsvn_trunk_dirac_schro/libavcodec/avcodec.h	2008-04-01 09:15:43.000000000 +1000
> > @@ -182,6 +182,8 @@
> >      CODEC_ID_8SVX_EXP,
> >      CODEC_ID_8SVX_FIB,
> >      CODEC_ID_ESCAPE124,
> > +    CODEC_ID_SCHRO = 0xFFFE,
> > +    CODEC_ID_DIRAC = 0xFFFF,
> 
> There should only be 1 codec_id and it should not have such a funny number.
> Also spliting dirac/schroedinger/common demuxer/parser/decoder/encoder in
> seperate patches would simplify review and likely reduce the number of
> review-patch-resend iteration needed to get the stuff in svn.
I am working on creating separate patches. I have one question regarding
this. Should the modified configure and Makefile be part of a separate
patch or should they accompany the patch that has the functionality
change. E.g. both Dirac and Schroedinger support will need changes to
configure, libavcodec/Makefile. Should these changes be included in the
Dirac and Schroedinger patches? The changes to avcodec.h are common to
Dirac and Schroedinger and are already present in the SoC patch. So
should I not included them in the patches I send?

> 

> [...]
> > diff --exclude=.svn -ruN ffmpegsvn_trunk/libavcodec/dirac_parser.c ffmpegsvn_trunk_dirac_schro/libavcodec/dirac_parser.c
> > --- ffmpegsvn_trunk/libavcodec/dirac_parser.c	1970-01-01 10:00:00.000000000 +1000
> > +++ ffmpegsvn_trunk_dirac_schro/libavcodec/dirac_parser.c	2008-04-04 11:28:33.000000000 +1000
> [...]
> ffmpegsvn_trunk_dirac_schro/libavcodec/dirac_schro_parser.c
> > --- ffmpegsvn_trunk/libavcodec/dirac_schro_parser.c	1970-01-01 10:00:00.000000000 +1000
> > +++ ffmpegsvn_trunk_dirac_schro/libavcodec/dirac_schro_parser.c	2008-04-04 11:28:45.000000000 +1000
> [...]
> > diff --exclude=.svn -ruN ffmpegsvn_trunk/libavcodec/dirac_schro_parser.h ffmpegsvn_trunk_dirac_schro/libavcodec/dirac_schro_parser.h
> > --- ffmpegsvn_trunk/libavcodec/dirac_schro_parser.h	1970-01-01 10:00:00.000000000 +1000
> > +++ ffmpegsvn_trunk_dirac_schro/libavcodec/dirac_schro_parser.h	2008-04-04 11:29:23.000000000 +1000
> 
> Not reviewed because i hope that you can use the gsoc dirac parser.
> Which does look quite a bit simpler.
The GSoC dirac parser works fine. So I'll drop the parser code from the
patches I'll send.
> 
> 
> [...]
> 

> 
> [...]
> > diff --exclude=.svn -ruN ffmpegsvn_trunk/libavformat/raw.c ffmpegsvn_trunk_dirac_schro/libavformat/raw.c
> > --- ffmpegsvn_trunk/libavformat/raw.c	2008-01-16 11:31:50.000000000 +1100
> > +++ ffmpegsvn_trunk_dirac_schro/libavformat/raw.c	2008-04-01 13:45:44.000000000 +1000
> 
> Not reviewed as i hope that the gsoc demuxer can be used. Its in 
> soc/dirac/ffmpeg.diff
The GSoC muxer/demuxer works fine. But I'd like to suggest a minor
change in the Muxer declaration for Dirac. I'd like the replace the
extension "dirac" used with "drc" because it has sort of become the
default extension for raw Dirac bitstreams.
AVOutputFormat dirac_muxer = {
    "dirac",
    "raw dirac",
    NULL,
    "dirac",                ---> Use "drc" instead.
    0,
    0,
    CODEC_ID_DIRAC,
    NULL,
    raw_write_packet,
    .flags= AVFMT_NOTIMESTAMPS,
};
 
> 
> [...]
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel





More information about the ffmpeg-devel mailing list