Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-21 Thread Łukasz Krzciuk
That is great - thank you.

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Mon, May 21, 2018 at 10:06 PM, Aman Gupta  wrote:

> On Sun, May 20, 2018 at 11:09 PM, Łukasz Krzciuk 
> wrote:
>
> > Any updates on this issue?
> >
>
> I believe that this patch was already merged:
> https://github.com/FFmpeg/FFmpeg/commit/48330500efd636b1540002b600257d
> 8802badc69
>
>
> >
> > Regards,
> >
> > *Łukasz Krzciuk*
> > Developer
> >
> > Vewd
> > ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
> >
> >
> > On Tue, May 15, 2018 at 12:51 PM, Łukasz Krzciuk 
> > wrote:
> >
> > > I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420 - I
> > > have squashed them and there is one file attached now. Please review.
> > >
> > > Regards,
> > >
> > > *Łukasz Krzciuk*
> > > Developer
> > >
> > > Vewd
> > > ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
> > >
> > >
> > > On Mon, May 14, 2018 at 10:23 AM, Łukasz Krzciuk 
> > > wrote:
> > >
> > >> I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420.
> > Please
> > >> review.
> > >>
> > >> Regards,
> > >>
> > >> *Łukasz Krzciuk*
> > >> Developer
> > >>
> > >> Vewd
> > >> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
> > >>
> > >>
> > >> On Thu, May 10, 2018 at 8:54 PM, Aman Gupta  wrote:
> > >>
> > >>> On Thu, May 10, 2018 at 1:46 AM Łukasz Krzciuk 
> > >>> wrote:
> > >>>
> > >>> > Lets skip a testcase. It will be not easy to me to prepare it.
> > >>>
> > >>>
> > >>> It should be simple to extract a small sample containing the PMT. If
> > you
> > >>> link some larger samples I can help extract the relevant bytes for
> test
> > >>> case.
> > >>>
> > >>> Aman
> > >>>
> > >>>
> > >>> >
> > >>> > Regards,
> > >>> >
> > >>> > *Łukasz Krzciuk*
> > >>> > Developer
> > >>> >
> > >>> > Vewd
> > >>> > ul. Grabarska 2
> > >>> > ,
> Pegaz
> > >>> 2A,
> > >>> > 50-079 Wrocław, Polska
> > >>> >
> > >>> >
> > >>> > On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer
> > >>> >  > >>> > > wrote:
> > >>> >
> > >>> > > On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
> > >>> > > > Any updates on this issue?
> > >>> > >
> > >>> > > about adding a testcase ?
> > >>> > > adding a huge sample file is not possible.
> > >>> > > It either has to be made smaller or generated by a muxer
> > >>> > > or last resort, no test
> > >>> > >
> > >>> > > [...]
> > >>> > > --
> > >>> > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC7
> > >>> 87040B0FAB
> > >>> > >
> > >>> > > The worst form of inequality is to try to make unequal things
> > equal.
> > >>> > > -- Aristotle
> > >>> > >
> > >>> > > ___
> > >>> > > ffmpeg-devel mailing list
> > >>> > > ffmpeg-devel@ffmpeg.org
> > >>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >>> > >
> > >>> > >
> > >>> > ___
> > >>> > ffmpeg-devel mailing list
> > >>> > ffmpeg-devel@ffmpeg.org
> > >>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >>> >
> > >>> ___
> > >>> ffmpeg-devel mailing list
> > >>> ffmpeg-devel@ffmpeg.org
> > >>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >>>
> > >>
> > >>
> > >
> > ___
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-21 Thread Aman Gupta
On Sun, May 20, 2018 at 11:09 PM, Łukasz Krzciuk  wrote:

> Any updates on this issue?
>

I believe that this patch was already merged:
https://github.com/FFmpeg/FFmpeg/commit/48330500efd636b1540002b600257d8802badc69


>
> Regards,
>
> *Łukasz Krzciuk*
> Developer
>
> Vewd
> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>
>
> On Tue, May 15, 2018 at 12:51 PM, Łukasz Krzciuk 
> wrote:
>
> > I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420 - I
> > have squashed them and there is one file attached now. Please review.
> >
> > Regards,
> >
> > *Łukasz Krzciuk*
> > Developer
> >
> > Vewd
> > ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
> >
> >
> > On Mon, May 14, 2018 at 10:23 AM, Łukasz Krzciuk 
> > wrote:
> >
> >> I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420.
> Please
> >> review.
> >>
> >> Regards,
> >>
> >> *Łukasz Krzciuk*
> >> Developer
> >>
> >> Vewd
> >> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
> >>
> >>
> >> On Thu, May 10, 2018 at 8:54 PM, Aman Gupta  wrote:
> >>
> >>> On Thu, May 10, 2018 at 1:46 AM Łukasz Krzciuk 
> >>> wrote:
> >>>
> >>> > Lets skip a testcase. It will be not easy to me to prepare it.
> >>>
> >>>
> >>> It should be simple to extract a small sample containing the PMT. If
> you
> >>> link some larger samples I can help extract the relevant bytes for test
> >>> case.
> >>>
> >>> Aman
> >>>
> >>>
> >>> >
> >>> > Regards,
> >>> >
> >>> > *Łukasz Krzciuk*
> >>> > Developer
> >>> >
> >>> > Vewd
> >>> > ul. Grabarska 2
> >>> > , Pegaz
> >>> 2A,
> >>> > 50-079 Wrocław, Polska
> >>> >
> >>> >
> >>> > On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer
> >>> >  >>> > > wrote:
> >>> >
> >>> > > On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
> >>> > > > Any updates on this issue?
> >>> > >
> >>> > > about adding a testcase ?
> >>> > > adding a huge sample file is not possible.
> >>> > > It either has to be made smaller or generated by a muxer
> >>> > > or last resort, no test
> >>> > >
> >>> > > [...]
> >>> > > --
> >>> > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC7
> >>> 87040B0FAB
> >>> > >
> >>> > > The worst form of inequality is to try to make unequal things
> equal.
> >>> > > -- Aristotle
> >>> > >
> >>> > > ___
> >>> > > ffmpeg-devel mailing list
> >>> > > ffmpeg-devel@ffmpeg.org
> >>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >>> > >
> >>> > >
> >>> > ___
> >>> > ffmpeg-devel mailing list
> >>> > ffmpeg-devel@ffmpeg.org
> >>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >>> >
> >>> ___
> >>> ffmpeg-devel mailing list
> >>> ffmpeg-devel@ffmpeg.org
> >>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >>>
> >>
> >>
> >
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-20 Thread Łukasz Krzciuk
Any updates on this issue?

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Tue, May 15, 2018 at 12:51 PM, Łukasz Krzciuk  wrote:

> I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420 - I
> have squashed them and there is one file attached now. Please review.
>
> Regards,
>
> *Łukasz Krzciuk*
> Developer
>
> Vewd
> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>
>
> On Mon, May 14, 2018 at 10:23 AM, Łukasz Krzciuk 
> wrote:
>
>> I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420. Please
>> review.
>>
>> Regards,
>>
>> *Łukasz Krzciuk*
>> Developer
>>
>> Vewd
>> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>>
>>
>> On Thu, May 10, 2018 at 8:54 PM, Aman Gupta  wrote:
>>
>>> On Thu, May 10, 2018 at 1:46 AM Łukasz Krzciuk 
>>> wrote:
>>>
>>> > Lets skip a testcase. It will be not easy to me to prepare it.
>>>
>>>
>>> It should be simple to extract a small sample containing the PMT. If you
>>> link some larger samples I can help extract the relevant bytes for test
>>> case.
>>>
>>> Aman
>>>
>>>
>>> >
>>> > Regards,
>>> >
>>> > *Łukasz Krzciuk*
>>> > Developer
>>> >
>>> > Vewd
>>> > ul. Grabarska 2
>>> > , Pegaz
>>> 2A,
>>> > 50-079 Wrocław, Polska
>>> >
>>> >
>>> > On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer
>>> > >> > > wrote:
>>> >
>>> > > On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
>>> > > > Any updates on this issue?
>>> > >
>>> > > about adding a testcase ?
>>> > > adding a huge sample file is not possible.
>>> > > It either has to be made smaller or generated by a muxer
>>> > > or last resort, no test
>>> > >
>>> > > [...]
>>> > > --
>>> > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC7
>>> 87040B0FAB
>>> > >
>>> > > The worst form of inequality is to try to make unequal things equal.
>>> > > -- Aristotle
>>> > >
>>> > > ___
>>> > > ffmpeg-devel mailing list
>>> > > ffmpeg-devel@ffmpeg.org
>>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> > >
>>> > >
>>> > ___
>>> > ffmpeg-devel mailing list
>>> > ffmpeg-devel@ffmpeg.org
>>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> >
>>> ___
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel@ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>
>>
>>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-15 Thread Łukasz Krzciuk
I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420 - I
have squashed them and there is one file attached now. Please review.

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Mon, May 14, 2018 at 10:23 AM, Łukasz Krzciuk  wrote:

> I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420. Please
> review.
>
> Regards,
>
> *Łukasz Krzciuk*
> Developer
>
> Vewd
> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>
>
> On Thu, May 10, 2018 at 8:54 PM, Aman Gupta  wrote:
>
>> On Thu, May 10, 2018 at 1:46 AM Łukasz Krzciuk  wrote:
>>
>> > Lets skip a testcase. It will be not easy to me to prepare it.
>>
>>
>> It should be simple to extract a small sample containing the PMT. If you
>> link some larger samples I can help extract the relevant bytes for test
>> case.
>>
>> Aman
>>
>>
>> >
>> > Regards,
>> >
>> > *Łukasz Krzciuk*
>> > Developer
>> >
>> > Vewd
>> > ul. Grabarska 2
>> > , Pegaz
>> 2A,
>> > 50-079 Wrocław, Polska
>> >
>> >
>> > On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer
>> > > > > wrote:
>> >
>> > > On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
>> > > > Any updates on this issue?
>> > >
>> > > about adding a testcase ?
>> > > adding a huge sample file is not possible.
>> > > It either has to be made smaller or generated by a muxer
>> > > or last resort, no test
>> > >
>> > > [...]
>> > > --
>> > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC7
>> 87040B0FAB
>> > >
>> > > The worst form of inequality is to try to make unequal things equal.
>> > > -- Aristotle
>> > >
>> > > ___
>> > > ffmpeg-devel mailing list
>> > > ffmpeg-devel@ffmpeg.org
>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> > >
>> > >
>> > ___
>> > ffmpeg-devel mailing list
>> > ffmpeg-devel@ffmpeg.org
>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> >
>> ___
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>
>
From 5181275d0474aadc420da46f3a1c9044900aa36d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
Date: Fri, 13 Apr 2018 14:57:57 +0200
Subject: [PATCH] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF
 cases

1. an audio component with an ISO_639_language_descriptor in the PMT with the
audio_type field set to 0x03
2. a supplementary_audio_descriptor with the editorial_classification field set
to 0x01
3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a component_type field
with the service_type flags set to Visually Impaired
---
 libavformat/Makefile   |   1 +
 libavformat/mpegts.c   |  30 +
 libavformat/tests/descriptor.c | 265 +
 tests/fate/libavformat.mak |   4 +
 tests/ref/fate/descriptor  |   5 +
 5 files changed, 305 insertions(+)
 create mode 100644 libavformat/tests/descriptor.c
 create mode 100644 tests/ref/fate/descriptor

diff --git a/libavformat/Makefile b/libavformat/Makefile
index 3eeca50..373c131 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -635,6 +635,7 @@ TESTPROGS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh
 TESTPROGS-$(CONFIG_MOV_MUXER)+= movenc
 TESTPROGS-$(CONFIG_NETWORK)  += noproxy
 TESTPROGS-$(CONFIG_SRTP) += srtp
+TESTPROGS-$(CONFIG_NETWORK)  += descriptor
 
 TOOLS = aviocat \
 ismindex\
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 37a6aa8..629631f 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1835,6 +1835,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
 break;
 case 0x03:
 st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
+st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
 break;
 }
 }
@@ -1910,6 +1911,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
 switch ((flags >> 2) & 0x1F) { /* editorial_classification */
 case 0x01:
 st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
+st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
 break;
 case 0x02:
 st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
@@ -1934,6 +1936,34 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
 }
 }
 break;
+case 0x6a: /* ac-3_descriptor */
+{
+int component_type_flag = get8(pp, desc_end) & (1 << 7);
+if (component_type_flag) {
+int component_type = get8(pp, de

Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-14 Thread Łukasz Krzciuk
I have prepared a testcase. PMT data comes from org.hbbtv_HTML50420. Please
review.

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Thu, May 10, 2018 at 8:54 PM, Aman Gupta  wrote:

> On Thu, May 10, 2018 at 1:46 AM Łukasz Krzciuk  wrote:
>
> > Lets skip a testcase. It will be not easy to me to prepare it.
>
>
> It should be simple to extract a small sample containing the PMT. If you
> link some larger samples I can help extract the relevant bytes for test
> case.
>
> Aman
>
>
> >
> > Regards,
> >
> > *Łukasz Krzciuk*
> > Developer
> >
> > Vewd
> > ul. Grabarska 2
> > , Pegaz 2A,
> > 50-079 Wrocław, Polska
> >
> >
> > On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer
> >  > > wrote:
> >
> > > On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
> > > > Any updates on this issue?
> > >
> > > about adding a testcase ?
> > > adding a huge sample file is not possible.
> > > It either has to be made smaller or generated by a muxer
> > > or last resort, no test
> > >
> > > [...]
> > > --
> > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC7
> 87040B0FAB
> > >
> > > The worst form of inequality is to try to make unequal things equal.
> > > -- Aristotle
> > >
> > > ___
> > > ffmpeg-devel mailing list
> > > ffmpeg-devel@ffmpeg.org
> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >
> > >
> > ___
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
From 43c48622594b8d868fea5180bc5a4f8b636ea24a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
Date: Mon, 14 May 2018 10:16:14 +0200
Subject: [PATCH] fixup! avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for
 OIPF cases

---
 libavformat/Makefile   |   1 +
 libavformat/tests/descriptor.c | 265 +
 tests/fate/libavformat.mak |   4 +
 tests/ref/fate/descriptor  |   5 +
 4 files changed, 275 insertions(+)
 create mode 100644 libavformat/tests/descriptor.c
 create mode 100644 tests/ref/fate/descriptor

diff --git a/libavformat/Makefile b/libavformat/Makefile
index 3eeca50..373c131 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -635,6 +635,7 @@ TESTPROGS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh
 TESTPROGS-$(CONFIG_MOV_MUXER)+= movenc
 TESTPROGS-$(CONFIG_NETWORK)  += noproxy
 TESTPROGS-$(CONFIG_SRTP) += srtp
+TESTPROGS-$(CONFIG_NETWORK)  += descriptor
 
 TOOLS = aviocat \
 ismindex\
diff --git a/libavformat/tests/descriptor.c b/libavformat/tests/descriptor.c
new file mode 100644
index 000..a9635cb
--- /dev/null
+++ b/libavformat/tests/descriptor.c
@@ -0,0 +1,265 @@
+/*
+ * Copyright (c) 2018 Łukasz Krzciuk
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "libavutil/intreadwrite.h"
+#include "libavutil/md5.h"
+
+#include "libavformat/avformat.h"
+#include "libavformat/mpegts.h"
+
+#if HAVE_UNISTD_H
+#include 
+#endif
+
+#if !HAVE_GETOPT
+#include "compat/getopt.c"
+#endif
+
+#define HASH_SIZE 16
+
+static const uint8_t aac_extradata[] = {
+0x12, 0x10
+};
+static const uint8_t pmt_editorial_classification[] = {
+0x02, 0xb0, 0x22, 0x00, 0x02, 0xc1, 0x00, 0x00, 0xe0, 0x21, 0xf0, 0x00,
+0x1b, 0xe0, 0x21, 0xf0, 0x00, 0x11, 0xe0, 0x24, 0xf0, 0x0b, 0x7f, 0x05,
+0x06, 0x87, 0x65, 0x6e, 0x67, 0x7c, 0x02, 0x60, 0x00, 0x6f, 0xe1, 0x92,
+0xf7
+};
+
+static const char *format = "mp4";
+AVFormatContext *ctx;
+uint8_t iobuf[32768];
+AVDictionary *opts;
+
+const char *cur_name;
+int out_size;
+struct AVMD5* md5;
+uint8_t hash[HASH_SIZE];
+
+AVStream *audio_st;
+int64_t audio_dts;
+
+int64_t audio_duration;
+int force_iobuf_size;
+
+static inline int get8(const uint8_t **pp, const uint8_t *p_end)
+{
+const uint8_t 

Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-10 Thread Aman Gupta
On Thu, May 10, 2018 at 1:46 AM Łukasz Krzciuk  wrote:

> Lets skip a testcase. It will be not easy to me to prepare it.


It should be simple to extract a small sample containing the PMT. If you
link some larger samples I can help extract the relevant bytes for test
case.

Aman


>
> Regards,
>
> *Łukasz Krzciuk*
> Developer
>
> Vewd
> ul. Grabarska 2
> , Pegaz 2A,
> 50-079 Wrocław, Polska
>
>
> On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer
>  > wrote:
>
> > On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
> > > Any updates on this issue?
> >
> > about adding a testcase ?
> > adding a huge sample file is not possible.
> > It either has to be made smaller or generated by a muxer
> > or last resort, no test
> >
> > [...]
> > --
> > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> >
> > The worst form of inequality is to try to make unequal things equal.
> > -- Aristotle
> >
> > ___
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> >
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-10 Thread Łukasz Krzciuk
Lets skip a testcase. It will be not easy to me to prepare it.

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Thu, May 10, 2018 at 3:09 AM, Michael Niedermayer  wrote:

> On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
> > Any updates on this issue?
>
> about adding a testcase ?
> adding a huge sample file is not possible.
> It either has to be made smaller or generated by a muxer
> or last resort, no test
>
> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> The worst form of inequality is to try to make unequal things equal.
> -- Aristotle
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-09 Thread Michael Niedermayer
On Wed, May 09, 2018 at 10:19:26AM +0200, Łukasz Krzciuk wrote:
> Any updates on this issue?

about adding a testcase ?
adding a huge sample file is not possible.
It either has to be made smaller or generated by a muxer
or last resort, no test

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-05-09 Thread Łukasz Krzciuk
Any updates on this issue?

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Thu, Apr 26, 2018 at 9:22 AM, Łukasz Krzciuk  wrote:

> Thank you.
>
> This change is really simple: set AV_DISPOSITION_DESCRIPTIONS bit when we
> have a specified stream. So a test could be simple too. But I cannot see
> many of tests in .../libavformat/tests dir. It seems 'disposition' is not
> tested at all currently. So if I will prepare a testcase for
> 'ff_parse_mpeg2_descriptor' function, then a test data could be a problem
> here. org.hbbtv_HTML50420 test is rather huge, and cannot be simply applied
> here.
>
>
> Regards,
>
> *Łukasz Krzciuk*
> Developer
>
> Vewd
> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>
>
> On Thu, Apr 26, 2018 at 2:05 AM, Michael Niedermayer <
> mich...@niedermayer.cc> wrote:
>
>> On Wed, Apr 25, 2018 at 08:17:38AM +0200, Łukasz Krzciuk wrote:
>> > Yes, I have checked it and I implemented it according to OIPF spec:
>> 8.4.2
>> > AVComponent, audioDescription case (as I wrote in my 1st email). This
>> > implementation is tested by official org.hbbtv_HTML50420 testcase.
>>
>> ok, ill apply it then
>>
>> is it (easily) possibly to add some test for this to fate ?
>>
>> [...]
>> --
>> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>>
>> it is not once nor twice but times without number that the same ideas make
>> their appearance in the world. -- Aristotle
>>
>> ___
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-26 Thread Łukasz Krzciuk
Thank you.

This change is really simple: set AV_DISPOSITION_DESCRIPTIONS bit when we
have a specified stream. So a test could be simple too. But I cannot see
many of tests in .../libavformat/tests dir. It seems 'disposition' is not
tested at all currently. So if I will prepare a testcase for
'ff_parse_mpeg2_descriptor' function, then a test data could be a problem
here. org.hbbtv_HTML50420 test is rather huge, and cannot be simply applied
here.


Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Thu, Apr 26, 2018 at 2:05 AM, Michael Niedermayer  wrote:

> On Wed, Apr 25, 2018 at 08:17:38AM +0200, Łukasz Krzciuk wrote:
> > Yes, I have checked it and I implemented it according to OIPF spec: 8.4.2
> > AVComponent, audioDescription case (as I wrote in my 1st email). This
> > implementation is tested by official org.hbbtv_HTML50420 testcase.
>
> ok, ill apply it then
>
> is it (easily) possibly to add some test for this to fate ?
>
> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> it is not once nor twice but times without number that the same ideas make
> their appearance in the world. -- Aristotle
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-25 Thread Michael Niedermayer
On Wed, Apr 25, 2018 at 08:17:38AM +0200, Łukasz Krzciuk wrote:
> Yes, I have checked it and I implemented it according to OIPF spec: 8.4.2
> AVComponent, audioDescription case (as I wrote in my 1st email). This
> implementation is tested by official org.hbbtv_HTML50420 testcase.

ok, ill apply it then

is it (easily) possibly to add some test for this to fate ?

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-24 Thread Łukasz Krzciuk
Yes, I have checked it and I implemented it according to OIPF spec: 8.4.2
AVComponent, audioDescription case (as I wrote in my 1st email). This
implementation is tested by official org.hbbtv_HTML50420 testcase.

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Wed, Apr 25, 2018 at 2:09 AM, Michael Niedermayer  wrote:

> On Tue, Apr 24, 2018 at 10:36:50AM +0200, Łukasz Krzciuk wrote:
> > Any updates on this?
>
> did you base this on teh specification / have checked that it matches
> the specification ?
>
> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Many that live deserve death. And some that die deserve life. Can you give
> it to them? Then do not be too eager to deal out death in judgement. For
> even the very wise cannot see all ends. -- Gandalf
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-24 Thread Michael Niedermayer
On Tue, Apr 24, 2018 at 10:36:50AM +0200, Łukasz Krzciuk wrote:
> Any updates on this?

did you base this on teh specification / have checked that it matches
the specification ?

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-24 Thread Łukasz Krzciuk
Any updates on this?

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Wed, Apr 18, 2018 at 11:03 PM, Michael Niedermayer <
mich...@niedermayer.cc> wrote:

> On Wed, Apr 18, 2018 at 08:28:05AM +0200, Łukasz Krzciuk wrote:
> > Any updates on this?
>
> has someone crosschecked this with the spec ?
>
> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Many that live deserve death. And some that die deserve life. Can you give
> it to them? Then do not be too eager to deal out death in judgement. For
> even the very wise cannot see all ends. -- Gandalf
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-18 Thread Michael Niedermayer
On Wed, Apr 18, 2018 at 08:28:05AM +0200, Łukasz Krzciuk wrote:
> Any updates on this?

has someone crosschecked this with the spec ?

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-17 Thread Łukasz Krzciuk
Any updates on this?

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Mon, Apr 16, 2018 at 9:16 AM, Łukasz Krzciuk  wrote:

> I agree, AV_LOG_INFO has been changed to AV_LOG_DEBUG.
>
> Regards,
>
> *Łukasz Krzciuk*
> Developer
>
> Vewd
> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>
>
> On Fri, Apr 13, 2018 at 5:50 PM, Michael Niedermayer <
> mich...@niedermayer.cc> wrote:
>
>> On Fri, Apr 13, 2018 at 03:44:40PM +0200, Łukasz Krzciuk wrote:
>> > Hi,
>> >
>> > this change is needed according to OIPF spec: 8.4.2 AVComponent,
>> > audioDescription case:
>> >
>> >1. an audio component with an ISO_639_language_descriptor in the PMT
>> >with the audio_type field set to 0x03
>> >2. a supplementary_audio_descriptor with the editorial_classification
>> >field set to 0x01
>> >3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a
>> >component_type field with the service_type flags set to Visually
>> Impaired
>> >
>> >
>> > Regards,
>> >
>> > *Łukasz Krzciuk*
>> > Developer
>> >
>> > Vewd
>> > ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>>
>> >  mpegts.c |   30 ++
>> >  1 file changed, 30 insertions(+)
>> > 863b7bca7f23f9ea337fde33f5bb9265ef3b4270
>> 0001-avformat-mpegts-set-AV_DISPOSITION_DESCRIPTIONS-for-.patch
>> > From 12ef5cdd9c443b1601dc98d910feac87233b1040 Mon Sep 17 00:00:00 2001
>> > From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
>> > Date: Fri, 13 Apr 2018 14:57:57 +0200
>> > Subject: [PATCH] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for
>> OIPF
>> >  cases
>> >
>> > 1. an audio component with an ISO_639_language_descriptor in the PMT
>> with the
>> > audio_type field set to 0x03
>> > 2. a supplementary_audio_descriptor with the editorial_classification
>> field set
>> > to 0x01
>> > 3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a
>> component_type field
>> > with the service_type flags set to Visually Impaired
>> > ---
>> >  libavformat/mpegts.c | 30 ++
>> >  1 file changed, 30 insertions(+)
>> >
>> > diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
>> > index 37a6aa8..df2b3aa 100644
>> > --- a/libavformat/mpegts.c
>> > +++ b/libavformat/mpegts.c
>> > @@ -1835,6 +1835,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext
>> *fc, AVStream *st, int stream_type
>> >  break;
>> >  case 0x03:
>> >  st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
>> > +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
>> >  break;
>> >  }
>> >  }
>> > @@ -1910,6 +1911,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext
>> *fc, AVStream *st, int stream_type
>> >  switch ((flags >> 2) & 0x1F) { /* editorial_classification
>> */
>> >  case 0x01:
>> >  st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
>> > +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
>> >  break;
>> >  case 0x02:
>> >  st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
>> > @@ -1934,6 +1936,34 @@ int ff_parse_mpeg2_descriptor(AVFormatContext
>> *fc, AVStream *st, int stream_type
>> >  }
>> >  }
>> >  break;
>> > +case 0x6a: /* ac-3_descriptor */
>> > +{
>> > +int component_type_flag = get8(pp, desc_end) & (1 << 7);
>> > +if (component_type_flag) {
>> > +int component_type = get8(pp, desc_end);
>> > +int service_type_mask = 0x38;  // 0b00111000
>> > +int service_type = ((component_type &
>> service_type_mask) >> 3);
>> > +if (service_type == 0x02 /* 0b010 */) {
>> > +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
>> > +av_log(ts->stream, AV_LOG_INFO, "New track
>> disposition for id %u: %u\n", st->id, st->disposition);
>>
>> AV_LOG_INFO is likely too noisy for normal usecases
>>
>> thx
>>
>> [...]
>>
>> --
>> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>>
>> Rewriting code that is poorly written but fully understood is good.
>> Rewriting code that one doesnt understand is a sign that one is less smart
>> then the original author, trying to rewrite it will not make it better.
>>
>> ___
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>>
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-16 Thread Łukasz Krzciuk
I agree, AV_LOG_INFO has been changed to AV_LOG_DEBUG.

Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska


On Fri, Apr 13, 2018 at 5:50 PM, Michael Niedermayer  wrote:

> On Fri, Apr 13, 2018 at 03:44:40PM +0200, Łukasz Krzciuk wrote:
> > Hi,
> >
> > this change is needed according to OIPF spec: 8.4.2 AVComponent,
> > audioDescription case:
> >
> >1. an audio component with an ISO_639_language_descriptor in the PMT
> >with the audio_type field set to 0x03
> >2. a supplementary_audio_descriptor with the editorial_classification
> >field set to 0x01
> >3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a
> >component_type field with the service_type flags set to Visually
> Impaired
> >
> >
> > Regards,
> >
> > *Łukasz Krzciuk*
> > Developer
> >
> > Vewd
> > ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
>
> >  mpegts.c |   30 ++
> >  1 file changed, 30 insertions(+)
> > 863b7bca7f23f9ea337fde33f5bb9265ef3b4270  0001-avformat-mpegts-set-AV_
> DISPOSITION_DESCRIPTIONS-for-.patch
> > From 12ef5cdd9c443b1601dc98d910feac87233b1040 Mon Sep 17 00:00:00 2001
> > From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
> > Date: Fri, 13 Apr 2018 14:57:57 +0200
> > Subject: [PATCH] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for
> OIPF
> >  cases
> >
> > 1. an audio component with an ISO_639_language_descriptor in the PMT
> with the
> > audio_type field set to 0x03
> > 2. a supplementary_audio_descriptor with the editorial_classification
> field set
> > to 0x01
> > 3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a
> component_type field
> > with the service_type flags set to Visually Impaired
> > ---
> >  libavformat/mpegts.c | 30 ++
> >  1 file changed, 30 insertions(+)
> >
> > diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> > index 37a6aa8..df2b3aa 100644
> > --- a/libavformat/mpegts.c
> > +++ b/libavformat/mpegts.c
> > @@ -1835,6 +1835,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext
> *fc, AVStream *st, int stream_type
> >  break;
> >  case 0x03:
> >  st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
> > +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
> >  break;
> >  }
> >  }
> > @@ -1910,6 +1911,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext
> *fc, AVStream *st, int stream_type
> >  switch ((flags >> 2) & 0x1F) { /* editorial_classification
> */
> >  case 0x01:
> >  st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
> > +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
> >  break;
> >  case 0x02:
> >  st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
> > @@ -1934,6 +1936,34 @@ int ff_parse_mpeg2_descriptor(AVFormatContext
> *fc, AVStream *st, int stream_type
> >  }
> >  }
> >  break;
> > +case 0x6a: /* ac-3_descriptor */
> > +{
> > +int component_type_flag = get8(pp, desc_end) & (1 << 7);
> > +if (component_type_flag) {
> > +int component_type = get8(pp, desc_end);
> > +int service_type_mask = 0x38;  // 0b00111000
> > +int service_type = ((component_type &
> service_type_mask) >> 3);
> > +if (service_type == 0x02 /* 0b010 */) {
> > +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
> > +av_log(ts->stream, AV_LOG_INFO, "New track
> disposition for id %u: %u\n", st->id, st->disposition);
>
> AV_LOG_INFO is likely too noisy for normal usecases
>
> thx
>
> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Rewriting code that is poorly written but fully understood is good.
> Rewriting code that one doesnt understand is a sign that one is less smart
> then the original author, trying to rewrite it will not make it better.
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
From fc2e281eb0e0e526fee52944205d6bb3729a17f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
Date: Fri, 13 Apr 2018 14:57:57 +0200
Subject: [PATCH] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF
 cases

1. an audio component with an ISO_639_language_descriptor in the PMT with the
audio_type field set to 0x03
2. a supplementary_audio_descriptor with the editorial_classification field set
to 0x01
3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a component_type field
with the service_type flags set to Visually Impaired
---
 libavformat/mpegts.c | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 37a6aa8..629631f 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1835,

Re: [FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-13 Thread Michael Niedermayer
On Fri, Apr 13, 2018 at 03:44:40PM +0200, Łukasz Krzciuk wrote:
> Hi,
> 
> this change is needed according to OIPF spec: 8.4.2 AVComponent,
> audioDescription case:
> 
>1. an audio component with an ISO_639_language_descriptor in the PMT
>with the audio_type field set to 0x03
>2. a supplementary_audio_descriptor with the editorial_classification
>field set to 0x01
>3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a
>component_type field with the service_type flags set to Visually Impaired
> 
> 
> Regards,
> 
> *Łukasz Krzciuk*
> Developer
> 
> Vewd
> ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska

>  mpegts.c |   30 ++
>  1 file changed, 30 insertions(+)
> 863b7bca7f23f9ea337fde33f5bb9265ef3b4270  
> 0001-avformat-mpegts-set-AV_DISPOSITION_DESCRIPTIONS-for-.patch
> From 12ef5cdd9c443b1601dc98d910feac87233b1040 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
> Date: Fri, 13 Apr 2018 14:57:57 +0200
> Subject: [PATCH] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF
>  cases
> 
> 1. an audio component with an ISO_639_language_descriptor in the PMT with the
> audio_type field set to 0x03
> 2. a supplementary_audio_descriptor with the editorial_classification field 
> set
> to 0x01
> 3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a component_type 
> field
> with the service_type flags set to Visually Impaired
> ---
>  libavformat/mpegts.c | 30 ++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> index 37a6aa8..df2b3aa 100644
> --- a/libavformat/mpegts.c
> +++ b/libavformat/mpegts.c
> @@ -1835,6 +1835,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, 
> AVStream *st, int stream_type
>  break;
>  case 0x03:
>  st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
> +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
>  break;
>  }
>  }
> @@ -1910,6 +1911,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, 
> AVStream *st, int stream_type
>  switch ((flags >> 2) & 0x1F) { /* editorial_classification */
>  case 0x01:
>  st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
> +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
>  break;
>  case 0x02:
>  st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
> @@ -1934,6 +1936,34 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, 
> AVStream *st, int stream_type
>  }
>  }
>  break;
> +case 0x6a: /* ac-3_descriptor */
> +{
> +int component_type_flag = get8(pp, desc_end) & (1 << 7);
> +if (component_type_flag) {
> +int component_type = get8(pp, desc_end);
> +int service_type_mask = 0x38;  // 0b00111000
> +int service_type = ((component_type & service_type_mask) >> 
> 3);
> +if (service_type == 0x02 /* 0b010 */) {
> +st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
> +av_log(ts->stream, AV_LOG_INFO, "New track disposition 
> for id %u: %u\n", st->id, st->disposition);

AV_LOG_INFO is likely too noisy for normal usecases

thx

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
then the original author, trying to rewrite it will not make it better.


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF cases

2018-04-13 Thread Łukasz Krzciuk
Hi,

this change is needed according to OIPF spec: 8.4.2 AVComponent,
audioDescription case:

   1. an audio component with an ISO_639_language_descriptor in the PMT
   with the audio_type field set to 0x03
   2. a supplementary_audio_descriptor with the editorial_classification
   field set to 0x01
   3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a
   component_type field with the service_type flags set to Visually Impaired


Regards,

*Łukasz Krzciuk*
Developer

Vewd
ul. Grabarska 2, Pegaz 2A, 50-079 Wrocław, Polska
From 12ef5cdd9c443b1601dc98d910feac87233b1040 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Krzciuk?= 
Date: Fri, 13 Apr 2018 14:57:57 +0200
Subject: [PATCH] avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF
 cases

1. an audio component with an ISO_639_language_descriptor in the PMT with the
audio_type field set to 0x03
2. a supplementary_audio_descriptor with the editorial_classification field set
to 0x01
3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a component_type field
with the service_type flags set to Visually Impaired
---
 libavformat/mpegts.c | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 37a6aa8..df2b3aa 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1835,6 +1835,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
 break;
 case 0x03:
 st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
+st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
 break;
 }
 }
@@ -1910,6 +1911,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
 switch ((flags >> 2) & 0x1F) { /* editorial_classification */
 case 0x01:
 st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;
+st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
 break;
 case 0x02:
 st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;
@@ -1934,6 +1936,34 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
 }
 }
 break;
+case 0x6a: /* ac-3_descriptor */
+{
+int component_type_flag = get8(pp, desc_end) & (1 << 7);
+if (component_type_flag) {
+int component_type = get8(pp, desc_end);
+int service_type_mask = 0x38;  // 0b00111000
+int service_type = ((component_type & service_type_mask) >> 3);
+if (service_type == 0x02 /* 0b010 */) {
+st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
+av_log(ts->stream, AV_LOG_INFO, "New track disposition for id %u: %u\n", st->id, st->disposition);
+}
+}
+}
+break;
+case 0x7a: /* enhanced_ac-3_descriptor */
+{
+int component_type_flag = get8(pp, desc_end) & (1 << 7);
+if (component_type_flag) {
+int component_type = get8(pp, desc_end);
+int service_type_mask = 0x38;  // 0b00111000
+int service_type = ((component_type & service_type_mask) >> 3);
+if (service_type == 0x02 /* 0b010 */) {
+st->disposition |= AV_DISPOSITION_DESCRIPTIONS;
+av_log(ts->stream, AV_LOG_INFO, "New track disposition for id %u: %u\n", st->id, st->disposition);
+}
+}
+}
+break;
 default:
 break;
 }
-- 
2.8.3

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel