[vlc-devel] libbluray: filter-dup patch from Handbrake

Wout Mertens wout.mertens at gmail.com
Sat May 3 20:18:52 CEST 2014


Apologies, I assumed that it was maintained by videolan because of
http://www.videolan.org/developers/libbluray.html

Do you know who I should contact instead?

Cheers,

Wout.
On May 3, 2014 6:34 PM, "Jean-Baptiste Kempf" <jb at videolan.org> wrote:

> Hello,
>
> You are on the wrong mailing list.
>
> On 03 May, Wout Mertens wrote :
> > Hi,
> >
> > I noticed that Handbrake patches libbluray with the patch below, and it
> > applies cleanly. A candidate for inclusion?
> >
> > Cheers,
> >
> > Wout.
> >
> > diff --git a/src/libbluray/bdnav/navigation.c
> > b/src/libbluray/bdnav/navigation.c
> > index c8dc307..26d0000 100644
> > --- a/src/libbluray/bdnav/navigation.c
> > +++ b/src/libbluray/bdnav/navigation.c
> > @@ -32,9 +32,25 @@
> >  #include <stdlib.h>
> >  #include <string.h>
> >
> > +static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b)
> > +{
> > +    if (a->stream_type == b->stream_type &&
> > +        a->coding_type == b->coding_type &&
> > +        a->pid         == b->pid         &&
> > +        a->subpath_id  == b->subpath_id  &&
> > +        a->subclip_id  == b->subclip_id  &&
> > +        a->format      == b->format      &&
> > +        a->rate        == b->rate        &&
> > +        a->char_code   == b->char_code   &&
> > +        memcmp(a->lang, b->lang, 4) == 0) {
> > +        return 1;
> > +    }
> > +    return 0;
> > +}
> > +
> >  static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
> >  {
> > -    unsigned ii, jj;
> > +    unsigned ii, jj, kk;
> >
> >      for (ii = 0; ii < count; ii++) {
> >          if (pl->list_count != pl_list[ii]->list_count) {
> > @@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned
> > count, MPLS_PL *pl)
> >                  pi1->out_time != pi2->out_time) {
> >                  break;
> >              }
> > +            if (pi1->stn.num_video           != pi2->stn.num_video
> >   ||
> > +                pi1->stn.num_audio           != pi2->stn.num_audio
> >   ||
> > +                pi1->stn.num_pg              != pi2->stn.num_pg
> >    ||
> > +                pi1->stn.num_ig              != pi2->stn.num_ig
> >    ||
> > +                pi1->stn.num_secondary_audio !=
> > pi2->stn.num_secondary_audio ||
> > +                pi1->stn.num_secondary_video !=
> > pi2->stn.num_secondary_video) {
> > +                break;
> > +            }
> > +            for (kk = 0; kk < pi1->stn.num_video; kk++) {
> > +                if (!_stream_cmp(&pi1->stn.video[kk],
> > &pi2->stn.video[kk])) {
> > +                    goto next;
> > +                }
> > +            }
> > +            for (kk = 0; kk < pi1->stn.num_audio; kk++) {
> > +                if (!_stream_cmp(&pi1->stn.audio[kk],
> > &pi2->stn.audio[kk])) {
> > +                    goto next;
> > +                }
> > +            }
> > +            for (kk = 0; kk < pi1->stn.num_pg; kk++) {
> > +                if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) {
> > +                    goto next;
> > +                }
> > +            }
> > +            for (kk = 0; kk < pi1->stn.num_ig; kk++) {
> > +                if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) {
> > +                    goto next;
> > +                }
> > +            }
> > +            for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) {
> > +                if (!_stream_cmp(&pi1->stn.secondary_audio[kk],
> > +                                 &pi2->stn.secondary_audio[kk])) {
> > +                    goto next;
> > +                }
> > +            }
> > +            for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) {
> > +                if (!_stream_cmp(&pi1->stn.secondary_video[kk],
> > +                                 &pi2->stn.secondary_video[kk])) {
> > +                    goto next;
> > +                }
> > +            }
> >          }
> > +next:
> >          if (jj != pl->list_count) {
> >              continue;
> >          }
>
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
>
>
> --
> With my kindest regards,
>
> --
> Jean-Baptiste Kempf
> http://www.jbkempf.com/ - +33 672 704 734
> Sent from my Electronic Device
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20140503/cc113e48/attachment.html>


More information about the vlc-devel mailing list