[vlc-devel] libbluray: filter-dup patch from Handbrake
Jean-Baptiste Kempf
jb at videolan.org
Sat May 3 18:34:00 CEST 2014
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
More information about the vlc-devel
mailing list