diff mbox

[FFmpeg-devel,1/4] V7 - Adding SCTE-35 CUI codec

Message ID 1471628730-20632-2-git-send-email-carlos@ccextractor.org
State Superseded
Headers show

Commit Message

Carlos Fernandez Sanz Aug. 19, 2016, 5:45 p.m. UTC
From: Carlos Fernandez <carlos@ccextractor.org>

Signed-off-by: Carlos Fernandez <carlos@ccextractor.org>
---
 libavcodec/avcodec.h    | 1 +
 libavcodec/codec_desc.c | 6 ++++++
 2 files changed, 7 insertions(+)

Comments

Michael Niedermayer Aug. 19, 2016, 6:48 p.m. UTC | #1
On Fri, Aug 19, 2016 at 10:45:27AM -0700, Carlos Fernandez Sanz wrote:
> From: Carlos Fernandez <carlos@ccextractor.org>
> 
> Signed-off-by: Carlos Fernandez <carlos@ccextractor.org>
> ---
>  libavcodec/avcodec.h    | 1 +
>  libavcodec/codec_desc.c | 6 ++++++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 6ac6646..6cdb579 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -630,6 +630,7 @@ enum AVCodecID {
>      /* other specific kind of codecs (generally used for attachments) */
>      AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,           ///< A dummy ID pointing at the start of various fake codecs.
>      AV_CODEC_ID_TTF = 0x18000,

> +    AV_CODEC_ID_SCTE_35,

can you document in a comment briefly what is in the AVPackets
for most codecs that is clear, SCTE-35 is maybe a bit special
also what the dts/pts values of teh AVPackets mean

thx

[...]
Carlos Fernandez Sanz Aug. 20, 2016, 5:04 p.m. UTC | #2
On Fri, Aug 19, 2016 at 11:48 AM, Michael Niedermayer
<michael@niedermayer.cc> wrote:

> can you document in a comment briefly what is in the AVPackets
> for most codecs that is clear, SCTE-35 is maybe a bit special
> also what the dts/pts values of teh AVPackets mean

Really don't know what kind of comments or where to add them...
dts/pts are dts/pts :-)
Can you point me to a variable or function etc that is not clear?
I'll be happy to add comments but I need a bit of assistance here.
Michael Niedermayer Aug. 20, 2016, 6:47 p.m. UTC | #3
On Sat, Aug 20, 2016 at 10:04:15AM -0700, Carlos Fernandez Sanz wrote:
> On Fri, Aug 19, 2016 at 11:48 AM, Michael Niedermayer
> <michael@niedermayer.cc> wrote:
> 
> > can you document in a comment briefly what is in the AVPackets
> > for most codecs that is clear, SCTE-35 is maybe a bit special
> > also what the dts/pts values of teh AVPackets mean
> 
> Really don't know what kind of comments or where to add them...
> dts/pts are dts/pts :-)
> Can you point me to a variable or function etc that is not clear?

dts are decode timestamps, that is for video thats when a packet
enters an idealized decoder, pts is the timestamp when the video frame
is presented
for audio pts == dts generally as theres no reordering or delay in
the ideallized decoder that is assumed

what do they mean for SCTE-35 ?

IIUC SCTE-35 can describe various timespans, how do these relate to
dts/pts ? are the dts/pts entirely meaningless and just used for
transport stream interleaving or do they somehow match the start of
some timestamp? Are the timespans inside relative to the dts/pts or
not?

I think writing a few words about this would make it easier for
applications to use this instead of just passing opaque SCTE-35 packets
between libavformat and libavcodec


> I'll be happy to add comments but I need a bit of assistance here.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Carlos Fernandez Sanz Aug. 21, 2016, 4:55 p.m. UTC | #4
On Sat, Aug 20, 2016 at 11:47 AM, Michael Niedermayer
<michael@niedermayer.cc> wrote:

> dts are decode timestamps, that is for video thats when a packet

OK, something like this?

+    AV_CODEC_ID_SCTE_35,/**< Contain no valid time stamp in DTS PTS
of avpacket, avpacket data contain time stamp
+                              in scte-35 format which is relative to
DTS/PTS of video stream */
Michael Niedermayer Aug. 21, 2016, 10:04 p.m. UTC | #5
On Sun, Aug 21, 2016 at 09:55:27AM -0700, Carlos Fernandez Sanz wrote:
> On Sat, Aug 20, 2016 at 11:47 AM, Michael Niedermayer
> <michael@niedermayer.cc> wrote:
> 
> > dts are decode timestamps, that is for video thats when a packet
> 
> OK, something like this?
> 
> +    AV_CODEC_ID_SCTE_35,/**< Contain no valid time stamp in DTS PTS
> of avpacket, avpacket data contain time stamp
> +                              in scte-35 format which is relative to
> DTS/PTS of video stream */

this is ambigous
is it meant that the 0 point on the time axis of the
"time stamp in scte-35 format" matches the 0 point of the video stream
or some video packets pts or dts (like the last one)?

[...]
diff mbox

Patch

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 6ac6646..6cdb579 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -630,6 +630,7 @@  enum AVCodecID {
     /* other specific kind of codecs (generally used for attachments) */
     AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,           ///< A dummy ID pointing at the start of various fake codecs.
     AV_CODEC_ID_TTF = 0x18000,
+    AV_CODEC_ID_SCTE_35,
 
     AV_CODEC_ID_BINTEXT    = 0x18800,
     AV_CODEC_ID_XBIN,
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index 24948ca..2612215 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -2964,6 +2964,12 @@  static const AVCodecDescriptor codec_descriptors[] = {
         .long_name = NULL_IF_CONFIG_SMALL("binary data"),
         .mime_types= MT("application/octet-stream"),
     },
+    {
+        .id        = AV_CODEC_ID_SCTE_35,
+        .type      = AVMEDIA_TYPE_DATA,
+        .name      = "scte_35",
+        .long_name = NULL_IF_CONFIG_SMALL("SCTE 35 Message Queue"),
+    },
 
     /* deprecated codec ids */
 };