On Mon, 25 Mar 2013, Diego Biurrun wrote:

On Mon, Mar 25, 2013 at 01:31:55PM +0200, Martin Storsjö wrote:
On Mon, 25 Mar 2013, Diego Biurrun wrote:
On Mon, Mar 25, 2013 at 12:46:58PM +0200, Martin Storsjö wrote:
--- a/configure
+++ b/configure
@@ -1691,7 +1692,7 @@ wmv3_vdpau_decoder_select="vc1_vdpau_decoder"

# parsers
-h264_parser_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel 
mpegvideo"
+h264_parser_select="golomb h264chroma h264dsp h264pred h264qpel mpegvideo"
mpeg4video_parser_select="error_resilience mpegvideo"
mpegvideo_parser_select="error_resilience mpegvideo"
vc1_parser_select="mpegvideo"

This looks suspicious.  You're not changing the H.264 parser itself;
was this a transitive dependency?

It depends on how you see it I guess. The dependency was in h264.c,
which both the h264 decoder and parser use.

That's what I would call a transitive dependency.

Actually it is hot.

Say that the h264 decoder consists of two dozen files. Only a few of these object files are shared between both the parser and the decoder. (I'm not sure of the exact number of the shared and not shared files though.) This does not warrant making the h264 decoder a dependency of the parser - you could just as well make the parser a dependency of the decoder, if taking things to the extreme.

Also, semantically, the parser does not depend on the decoder. They just happen to share some dependencies.

If you want to split it up properly, you could make the shared subset a separate entity of its own, like h264_common. But the parser does not depend on the decoder.

// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to