[Ffmpeg-devel] [PATCH] compile with demux only

Loïc Le Loarer lll+ffmpeg
Wed Nov 8 11:15:05 CET 2006


Le Wednesday 08 November 2006 ? 08:58:47 +0100, Stefan Gehrer a ?crit:
> Michael Niedermayer wrote:
> >On Tue, Nov 07, 2006 at 06:02:37PM +0100, Loic wrote:
> >
> >>ff_cavs_find_frame_end function which is in cavs.c has been moved to
> >>parser.c in the same block where it is used. As this function is only
> >>used here, it can be removed for parser.h and declared static.
> >>Note that some defines from cavsdata.h are needed by
> >>ff_cavs_find_frame_end so I put them in a separate cavs.h file and
> >>include it from cavs.c and parser.c (I don't include cavsdata.h directly
> >>in parser.c because it contains many static const variable declaration
> >>which use memory but wont be used).
> >
> >while i have no strong oppinion about this IMHO the cavs parser code should
> >rather stay in cavs.c or be put in a seperate file alltogether, parser.c
> >does not seem like the best place
> >but iam not maintainer of cavs either ...
> >
> I agree, the parsing can be in cavs.c, I just put it into parser.c for
> its similarity to the other code there. This could also avoid creating
> that new cavs.h with almost no information in it (most of the defines
> are duplicate from mpeg1/2 anyway). But sorry, I don't have time to
> come up with a patch at the moment.

The problem to put parsing stuf in cavs.c is that cavs.c in compiled
only with CONFIG_CAVS_DECODER while the parsing stuff is compiled with
CONFIG_CAVSVIDEO_PARSER. The solution is propose doesn't look really
ugly to me as the parser.c file contains much bigger and unrelated stuf
for AC3 parsing for example.

Anyway, I agree that it isn't clean to put all this in parser.c file and
so the best is probably to put cavs parsing stuf in a different file
(cavs_parser.c ?). In this case, it is also the case for a big part of
the parser.c file, each part inside #ifdef CONFIG_*_PARSER / #endif
should be split in one file per codec, compiled using the same
condition. But in this case, how do you share the mpeg4video_split
function between CONFIG_CAVSVIDEO_PARSER and CONFIG_MPEG4VIDEO_PARSER
and the ac3_parse function between CONFIG_AAC_PARSER and
CONFIG_AC3_PARSER ? This is why, after all, I prefer the solution I
propose, even with it drawbacks, a really clean solution requires too
much modularity levels.

Regards.

-- 
Lo?c

"heaven is not a place, it's a feeling"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20061108/e78f0e4a/attachment.pgp>



More information about the ffmpeg-devel mailing list