[FFmpeg-devel] [PATCH]Add Dirac support to ffmpeg via libdirac_* and Schroedinger libraries]
Luca Barbato
lu_zero
Fri Apr 4 09:13:13 CEST 2008
Anuradha Suraparaju wrote:
> Sorry. Forgot to mention that the message is a patch in my earlier
> email.
Nevermind, it happens from time to time. Thank you for the patches, it
will take a bit review properly but at least will prompt
*certain*people* to start working back on updating&integrating ffdirac
to the main ffmpeg and will provide an unified access to all the dirac
implementations (so we can easily spot bugs and address them).
Would be possible split the schro part from the dirac one? That would
speed up merging it.
Now some quick review.
@@ -845,6 +855,8 @@
bktr_demuxer_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h
dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
dv1394_demuxer_deps="dv1394 dv_demuxer"
libdc1394_demuxer_deps="libdc1394"
+dirac_demuxer_deps="dirac"
+dirac_muxer_deps="dirac"
libnut_demuxer_deps="libnut"
libnut_muxer_deps="libnut"
mp3_demuxer_deps="mpegaudio_parser"
@@ -853,6 +865,8 @@
redir_demuxer_deps="network"
rtp_muxer_deps="network rtp_protocol"
rtsp_demuxer_deps="sdp_demuxer"
+schro_muxer_deps="schro"
+schro_demuxer_deps="schro"
sdp_demuxer_deps="rtp_protocol mpegts_demuxer"
v4l_demuxer_deps="linux_videodev_h"
v4l2_demuxer_deps="linux_videodev2_h"
@@ -861,6 +875,10 @@
x11_grab_device_demuxer_deps="x11grab XShmCreateImage"
x11_grab_device_demuxer_extralibs="-lX11 -lXext"
+# parsers
+dirac_parser_deps="dirac"
+schro_parser_deps="schro"
+
# protocols
http_protocol_deps="network"
rtp_protocol_deps="udp_protocol"
We have already a demuxer and a parser for drc, would be possible using it?
+enabled dirac && add_extralibs `pkg-config --libs dirac` "-lstdc++" &&
extraincs="$extraincs `pkg-config --cflags dirac`"
-lstdc++ sounds strange, but I guess that's due the fact you are using a
C wrapper to libdirac
--- 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,
why this?
diff --exclude=.svn -ruN ffmpegsvn_trunk/libavcodec/dirac.c
ffmpegsvn_trunk_dirac_schro/libavcodec/dirac.c
--- ffmpegsvn_trunk/libavcodec/dirac.c 1970-01-01 10:00:00.000000000 +1000
+++ ffmpegsvn_trunk_dirac_schro/libavcodec/dirac.c 2008-04-04
11:28:12.000000000 +1000
@@ -0,0 +1,514 @@
+/*
some comments aren't doxy while should be.
+ /*
+ * returns Ffmppeg chroma format
+ */
typo and not doxy.
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
+#include "dirac_schro_parser.h"
+
+AVCodecParser dirac_parser = {
+ { CODEC_ID_DIRAC },
+ sizeof(FfmpegDiracSchroParseContext),
+ dirac_schro_parse_open,
+ dirac_schro_parse,
+ dirac_schro_parse_close,
+};
Why not using just one?
diff --exclude=.svn -ruN ffmpegsvn_trunk/libavformat/mpegtsenc.c
ffmpegsvn_trunk_dirac_schro/libavformat/mpegtsenc.c
--- ffmpegsvn_trunk/libavformat/mpegtsenc.c 2008-01-10
10:47:05.000000000 +1100
+++ ffmpegsvn_trunk_dirac_schro/libavformat/mpegtsenc.c 2008-04-03
14:39:26.000000000 +1000
this should be yet another separate patch.
diff --exclude=.svn -ruN ffmpegsvn_trunk/libavformat/riff.c
ffmpegsvn_trunk_dirac_schro/libavformat/riff.c
--- ffmpegsvn_trunk/libavformat/riff.c 2008-03-10 13:21:27.000000000 +1100
+++ ffmpegsvn_trunk_dirac_schro/libavformat/riff.c 2008-04-03
14:53:42.000000000 +1000
@@ -160,6 +160,8 @@
{ CODEC_ID_VMNC, MKTAG('V', 'M', 'n', 'c') },
{ CODEC_ID_TARGA, MKTAG('t', 'g', 'a', ' ') },
{ CODEC_ID_CLJR, MKTAG('c', 'l', 'j', 'r') },
+ { CODEC_ID_SCHRO, MKTAG('d', 'r', 'a', 'c') },
+ { CODEC_ID_DIRAC, MKTAG('d', 'r', 'a', 'c') },
{ CODEC_ID_NONE, 0 }
};
yet another.
that's all for now, Michael will tell more soonish probably.
--
Luca Barbato
Gentoo Council Member
Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero
More information about the ffmpeg-devel
mailing list