[FFmpeg-devel] SCTE-35 development
Michael Niedermayer
michaelni at gmx.at
Tue Dec 30 17:36:55 CET 2014
On Tue, Dec 30, 2014 at 07:39:38PM +0530, Anshul wrote:
> On 12/30/2014 03:56 PM, Clément Bœsch wrote:
> > They are also probably useless since you can use av_asprintf() directly.
> >
> Thanks I didn't knew about that function.
>
>
> Attached new patch with removing those function.
[...]
> --- a/libavcodec/allcodecs.c
> +++ b/libavcodec/allcodecs.c
> @@ -536,6 +536,8 @@ void avcodec_register_all(void)
> REGISTER_ENCODER(LIBAACPLUS, libaacplus);
>
> /* text */
> + REGISTER_DECODER(SCTE_35, scte_35)
> + REGISTER_ENCODER(CUE_XML, cue_xml);
you are missing a ; here
> REGISTER_DECODER(BINTEXT, bintext);
> REGISTER_DECODER(XBIN, xbin);
> REGISTER_DECODER(IDF, idf);
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 99467bb..bd966d5 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -523,6 +523,8 @@ 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 = MKBETAG('C','U','E','I'),
> + AV_CODEC_ID_CUE_XML = MKBETAG('C','U','E','X'),
> AV_CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'),
> AV_CODEC_ID_XBIN = MKBETAG('X','B','I','N'),
> AV_CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'),
> @@ -3157,6 +3159,13 @@ typedef struct AVCodecDefault AVCodecDefault;
>
> struct AVSubtitle;
>
> +typedef struct AVData {
> + void *data;
> + int len;
> + int ref_count;
> + int valid;
> +} AVData;
missing documentation
> +
> /**
> * AVCodec.
> */
> @@ -3233,6 +3242,8 @@ typedef struct AVCodec {
> int (*init)(AVCodecContext *);
> int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size,
> const struct AVSubtitle *sub);
> + int (*encode_data)(AVCodecContext *avctx, const AVData *input, AVData *output,
> + enum AVCodecID in_codec_id);
> /**
> * Encode data to an AVPacket.
> *
> @@ -3246,6 +3257,7 @@ typedef struct AVCodec {
> int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame,
> int *got_packet_ptr);
> int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);
> + int (*decode_data)(AVCodecContext *,AVData *output, const AVPacket *avpkt);
> int (*close)(AVCodecContext *);
> /**
> * Flush buffers.
this breaks ABI
> @@ -4195,6 +4207,9 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
> int *got_sub_ptr,
> AVPacket *avpkt);
>
> +int avcodec_decode_data(AVCodecContext *avctx,
> + AVData *output,
> + const AVPacket *avpkt);
> /**
> * @defgroup lavc_parsing Frame parsing
> * @{
> @@ -4585,6 +4600,8 @@ int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
>
> int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
> const AVSubtitle *sub);
> +int avcodec_encode_data(AVCodecContext *avctx,const AVData *input, AVData *output,
> + enum AVCodecID in_codec_id);
>
>
this is missing documentation
[...]
> diff --git a/libavcodec/scte_35.c b/libavcodec/scte_35.c
> new file mode 100644
> index 0000000..2723225
> --- /dev/null
> +++ b/libavcodec/scte_35.c
> @@ -0,0 +1,294 @@
> +/*
> + * SCTE 35 decoder
> + * Copyright (c) 2014 Anshul Maheshwaari
> + *
> + * 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
> + */
please add a reference to the spezification & exact revission used
to implement this
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The educated differ from the uneducated as much as the living from the
dead. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141230/2b17976f/attachment.asc>
More information about the ffmpeg-devel
mailing list