Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
configure | 2 +
doc/examples/Makefile | 2 +
doc/examples/muxing_with_metadata.c | 885
3 files changed, 889 insertions(+)
create mode 100644 doc/examples
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
configure | 2 +
doc/examples/Makefile | 1 +
doc/examples/extract_timed_metadata.c | 230 ++
3 files changed, 233 insertions(+)
create mode 100644 doc
---
Changelog | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Changelog b/Changelog
index c642d08..3d63482 100644
--- a/Changelog
+++ b/Changelog
@@ -31,6 +31,9 @@ version :
- Added support for muxing and demuxing timed metadata tracks
(AV_CODEC_ID_META of type AMEDIA_TYPE_DATA). With e
---
libavutil/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 1e06176..731b852 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -18,6 +18,7 @@ HEADERS = adler32.h
\
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.c | 96 +++
1 file changed, 96 insertions(+)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 059c7c4..b48a5d2 100644
--- a/libavformat/mov.c
+++ b/libavformat
The data is read into side packet AV_PKT_DATA_TIMED_METADATA_INFO of
format AVTimedMetadata.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.c | 141 ++
1 file changed, 141 insertions(+)
diff --git a/libavformat
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 4dfe1eb..f9126c4 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2257,6 +2257,7 @@ int
_write_chnl_tag(pb, track);
mov_write_esds_tag(pb, track);
+}
else if (track->par->codec_id == AV_CODEC_ID_AMR_NB)
mov_write_amr_tag(pb, track);
else if (track->par->codec_id == AV_CODEC_ID_AC3)
diff --git a/libavutil/channel_layout_isoiec23001_8.h
b/libavuti
comes from that value.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/movenc.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 2543404..4245396 100644
--- a/libavformat/movenc.c
+++ b/libavformat
mov_codec_id is now able to set AVMEDIA_TYPE_DATA to the
st->codec->codec_type field when the input is of type
AVMEDIA_TYPE_DATA; previously it used AVMEDIA_TYPE_SUBTITLE as the
value to set in that case.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.
the
original alternate group from the track would likely by unwanted,
because the reassignment of alternate group would be skipped.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.h | 1 +
libavformat/mov.c | 16 +++-
2 files changed, 16 insertions(+), 1
This involves adding a new tag to the ff_mp4_obj_type table as well as
modifying mp4_get_codec_tag to return 'meta' for AV_CODEC_ID_META.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.c | 1 +
libavformat/movenc.c | 1 +
2 files changed, 2 insertion
---
Changelog | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Changelog b/Changelog
index 3712172..c642d08 100644
--- a/Changelog
+++ b/Changelog
@@ -28,7 +28,9 @@ version :
- Added side data AV_PKT_DATA_TRACK_ALTERNATE_GROUP for explicitly
setting the alternate track groups (supported
This allows using avcodec_send_packet with data frames (ie. timed
metadata)
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/utils.c | 4
1 file changed, 4 insertions(+)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 138125a..8b55464 100644
--- a
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/utils.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 8b55464..f0e22b9 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2880,6 +2880,8 @@ static int do_encode
This also adds libavformat/movmeta that contains the meta data
information. Actually the sample configuration data is performed with
side packet data AV_PKT_DATA_TIMED_METADATA_INFO where the value is
stored inside AVTimedMetadataInfo.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
Changelog | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Changelog b/Changelog
index f95a1f5..3712172 100644
--- a/Changelog
+++ b/Changelog
@@ -25,6 +25,9 @@ version :
multiple tracks references by such track references (supported
by isom for both reading and writing)
+- Added
---
Changelog | 4
1 file changed, 4 insertions(+)
diff --git a/Changelog b/Changelog
index e1c8010..f95a1f5 100644
--- a/Changelog
+++ b/Changelog
@@ -21,6 +21,10 @@ version :
- Custom major brand (the "brand" option) of MPEG4 is written
as a compatible brand as well.
+- Added support
Alternate groups previously always generated for ISO media files. With
this addition client code can define track groups arbitrarily.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/avcodec.h | 11 +++
libavformat/movenc.c | 9 +
2 files changed, 20
This includes creating an AVCodecTag table ff_codec_metadata_tags as
there are for video, audio and subtitles. The tag table is used for
mov-compatiblity.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.c | 5 +
libavformat/isom.h | 1 +
libavformat/movenc.c
---
Changelog | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Changelog b/Changelog
index 71abe8c..e1c8010 100644
--- a/Changelog
+++ b/Changelog
@@ -18,6 +18,8 @@ version :
- bitplanenoise video filter
- floating point support in als decoder
+- Custom major brand (the "brand" option) of
It has the codec id AV_CODEC_ID_META and type of AVMEDIA_TYPE_DATA.
This codec basically passes the data forward and is used for referring
timed meta data tracks by a codec. It is useful for dealing with the
metadata in a similar way as other kinds of codecs.
Signed-off-by: Erkki Seppälä
Signed
ied along the
rest of the track with ffmpeg
- Fixed crash introduced by channel side data handling when there was
no side data for chnl..
Erkki Seppälä (25):
avformat/movenc: mov_write_ftyp_tag: write the major brand as a
compatible brand
Updated Changelog
avformat/movenc: support for mult
This can be useful in particular with timed meta data tracks related
to multiple tracks.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.h | 3 ++
libavformat/mov.c | 119 -
2 files changed, 121 insertions(+), 1
his information ends up in ISO media file box 'tref' as specified by
ISO/IEC 14496-12.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/avcodec.h | 19 ++-
libavformat/Makefile | 4 +-
libavformat/movenc.c | 153 ++-
when the option "brand" is used. This allows custom brands to end up in
the compatible brands as well.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/movenc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
ind
On 09/06/2016 09:26 PM, Carl Eugen Hoyos wrote:
2016-09-06 15:07 GMT+02:00 Erkki Seppälä :
Would it be even better to not copy the data tracks at
all by default, so not set the .data_codec field for any
format?
This was my original question for which I do not know
the answer: If you feel it
On 09/06/2016 02:37 PM, Carl Eugen Hoyos wrote:
I meant that for the same ffmpeg command line and the same
input file, I believe that with your patch, the output file (suddenly)
has one track more than before (because the data codec is now
listed in AVOutputFormat, the ffmpeg cli will try to add
(Oops, sorry about the subject, our MTA helpfully prepended it.)
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Hi,
(Cc'ing as it's been some time.)
On 08/31/2016 04:42 PM, Carl Eugen Hoyos wrote:
I meant "defaulting to an additional track in the output mov file if the
input file contains such a data track (instead of ignoring this track
of the input file by default)".
So I looked into it and indeed th
On 09/01/2016 11:30 PM, Michael Niedermayer wrote:
missing alloc failure check
Fixed.
missing checks
anything comming out of av_stream_get_side_data() could originate from
an attacker and have manually choosen evil values.
Oh, well it seems I have trusted it quite a bit more. I will harden
On 09/01/2016 08:01 PM, Michael Niedermayer wrote:
this causes a compiler warning:
libavcodec/metacodec.c: In function ‘meta_encode’:
libavcodec/metacodec.c:41:21: warning: assignment from incompatible pointer
type [enabled by default]
avpkt->buf = av_buffer_alloc(frame->nb_samples);
Hello!
On 08/31/2016 05:00 PM, Carl Eugen Hoyos wrote:
Are you using this feature already (internally) or did you just feel like it is
missing? (Sorry, it is not meant offending.) I wonder if all this complexity
really has a real-world use-case...
We may or may not be using this functionality in
---
libavutil/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 1e06176..731b852 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -18,6 +18,7 @@ HEADERS = adler32.h
\
On 08/31/2016 04:42 PM, Carl Eugen Hoyos wrote:
Sorry!
No problem :).
I meant "defaulting to an additional track in the output mov file if the
input file contains such a data track (instead of ignoring this track
of the input file by default)".
I'll look into how that part of code works and
Hello!
On 08/31/2016 04:04 PM, Carl Eugen Hoyos wrote:
Iirc, this has the (intended or unintended) side-effect of making
mov output of ffmpeg (the app) suddenly defaulting to an
additional track.
Is this correct? Is it intended?
Hmm, it seems mov files still have one track according to these c
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
Changelog | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index 71abe8c..bada511 100644
--- a/Changelog
+++ b/Changelog
@@ -17,7 +17,17 @@ version :
- acrusher audio filter
Alternate groups previously always generated for ISO media files. With
this addition client code can define track groups arbitrarily.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/avcodec.h | 11 +++
libavformat/movenc.c | 9 +
2 files changed, 20
The data is read into side packet AV_PKT_DATA_TIMED_METADATA_INFO of
format AVTimedMetadata.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.c | 141 ++
1 file changed, 141 insertions(+)
diff --git a/libavformat
This can be useful in particular with timed meta data tracks related
to multiple tracks.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.h | 3 ++
libavformat/mov.c | 119 -
2 files changed, 121 insertions(+), 1
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
doc/examples/Makefile | 2 +
doc/examples/muxing_with_metadata.c | 885
2 files changed, 887 insertions(+)
create mode 100644 doc/examples/muxing_with_metadata.c
diff --git a/doc
his information ends up in ISO media file box 'tref' as specified by
ISO/IEC 14496-12.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/avcodec.h | 19 +++-
libavformat/Makefile | 4 +-
libavformat/movenc.c | 127 ++
This includes creating an AVCodecTag table ff_codec_metadata_tags as
there are for video, audio and subtitles. The tag table is used for
mov-compatiblity.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.c | 5 +
libavformat/isom.h | 1 +
libavformat
This allows using avcodec_send_packet with data frames (ie. timed
metadata)
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/utils.c | 4
1 file changed, 4 insertions(+)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 138125a..8b55464 100644
--- a
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 1012b3c..0544d13 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2257,6 +2257,7 @@ int
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
doc/examples/Makefile | 1 +
doc/examples/extract_timed_metadata.c | 233 ++
2 files changed, 234 insertions(+)
create mode 100644 doc/examples/extract_timed_metadata.c
diff --git a/doc
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavcodec/utils.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 8b55464..f0e22b9 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2880,6 +2880,8 @@ static int do_encode
This also adds libavformat/movmeta that contains the meta data
information. Actually the sample configuration data is performed with
side packet data AV_PKT_DATA_TIMED_METADATA_INFO where the value is
stored inside AVTimedMetadataInfo.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
mov_codec_id is now able to set AVMEDIA_TYPE_DATA to the
st->codec->codec_type field when the input is of type
AVMEDIA_TYPE_DATA; previously it used AVMEDIA_TYPE_SUBTITLE as the
value to set in that case.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/mov.
le in
channel_layout_isoiec23001_8.h with slightly obtuse names such as
AV_SPEAKER_POSITION_ISOIEC23001_8_L and
AV_CH_LAYOUT_ISOIEC23001_8_1_0_0 to encourage path forward to a more
native solution for FFmpeg.
This channel layout information ends up to a chnl box in the written
file in an isom track.
Signed-off-by: Erkki Se
This involves adding a new tag to the ff_mp4_obj_type table as well as
modifying mp4_get_codec_tag to return 'meta' for AV_CODEC_ID_META.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/isom.c | 1 +
libavformat/movenc.c | 1 +
2 files changed, 2 insertion
comes from that value.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/movenc.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 6e179ef..bbd176f 100644
--- a/libavformat/movenc.c
+++ b/libavformat
when the option "brand" is used. This allows custom brands to end up in
the compatible brands as well.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/movenc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
ind
It has the codec id AV_CODEC_ID_META and type of AVMEDIA_TYPE_DATA.
This codec basically passes the data forward and is used for referring
timed meta data tracks by a codec. It is useful for dealing with the
metadata in a similar way as other kinds of codecs.
Signed-off-by: Erkki Seppälä
Signed
From: Erkki Seppälä
Hello, developers!
Here is a patch set version 2 with the goal of adding the following
features to the ISO base media file format support of FFmpeg (also
available at
https://github.com/nokiatech/FFmpeg/tree/timed-metadata-v2):
The branch is still based on the old master
ed as continuing from the highest numbered stream id.
Signed-off-by: Erkki Seppälä
Signed-off-by: OZOPlayer
---
libavformat/movenc.c | 61 ++--
libavformat/movenc.h | 2 ++
2 files changed, 57 insertions(+), 6 deletions(-)
diff --git a/libavf
On 08/23/2016 06:35 PM, Yusuke Nakamura wrote:
+if (mov->mode == MODE_MP4 && mov->major_brand)
+ffio_wfourcc(pb, mov->major_brand); /* write major brand as a
compatible brand */
WTF. libavformat has not listed all compatible brands? This is a wrong
approach if what David Singer (Ap
On 08/23/2016 05:46 PM, Michael Niedermayer wrote:
this breaks fate
make distclean ; ./configure && make -j12 fate
deadlocks and never finishes
Well that was embarrassing, thanks for pointing it out.
The issue was that I had introduced metacodec_class that was shared
between ff_meta_encoder a
..though on more precise look it FFmpeg doesn't in fact implement
multiple track references at all (MOVTrack has src_track while the patch
introduces src_tracks). But the patch can be greatly simplified regardless.
___
ffmpeg-devel mailing list
ffmpeg
the
track reference type and add track references. The side packet API does
not need to change as far as I can see.
On 08/23/2016 12:03 PM, erkki.seppala@nokia.com wrote:
From: Erkki Seppälä
Instead of one track reference, allow multiple. In addition, allow
client to explicitly add track
patch to introduce the functionality (example edited for
brevity). If this seems like the way to, I'll add this to v2 of the
patches. (I may squash the first patch with one of the other patches if
it fits in.)
commit ddfb745109768a169e93c221092161d39c8f8208
Author: Erkki Seppälä
Date: Th
Hello,
On 08/23/2016 10:00 PM, Carl Eugen Hoyos wrote:
+if (mov->mode == MODE_MP4 && mov->major_brand)
+ffio_wfourcc(pb, mov->major_brand); /* write major brand as a
compatible brand */
How can I reproduce the issue this is trying to fix?
The issue we were fixing was that in the
ppala@nokia.com a écrit :
From: Erkki Seppälä
Added support for passing complex channel layout configuration as side
packet data (AV_PKT_DATA_AUDIO_CHANNEL_LAYOUT,
AV_PKT_DATA_AUDIO_CHANNEL_PREDEFINED_LAYOUT,
AV_PKT_DATA_AUDIO_CHANNEL_LAYOUT_OBJECT_STRUCTURED) to ISO media files
as specified b
AVFrame certainly sounds a good solution. For AVData I followed the lead
from AVSubtitle as they are quite similar concepts. And AVFrame did
really look quite a big struct ;).
I'll rework the code to replace AVData with AVFrame.
Thanks for review!
_
On 08/23/2016 10:18 PM, Carl Eugen Hoyos wrote:
2016-08-23 11:03 GMT+02:00 :
+if (id <= 0 &&
+st->codecpar->codec_type == AVMEDIA_TYPE_DATA) {
+id = ff_codec_get_id(ff_codec_metadata_tags, format);
+if (id > 0)
+
On 08/23/2016 10:21 PM, Carl Eugen Hoyos wrote:
2016-08-23 11:03 GMT+02:00 :
+/** Assign track ids. If use_stream_ids_as_track_ids is set, the
+stream ids are used as track ids special case is taken to generate
+track ids for generated tracks, which don't have a 1:1 stream to
+copy
On 08/23/2016 06:20 PM, Yusuke Nakamura wrote:
-avio_wb16(pb, 2);
+avio_wb16(pb, track->par->channels);
No. the ChannelCount field is templated. It may be fixed to 2 by derived
specs or the specs of codec encapsulations. I mean the current
implemetation is wrong, and your
On 08/23/2016 02:18 PM, Michael Niedermayer wrote:
see:
0421 15:12 Michael Niederm (3.9K) [FFmpeg-devel] [PATCH] avutil/mem: remove
av_realloc / av_malloc incompatibility warning
i think thats a better choice than maintaining all memory allocation
in 2 incompatible systems
Well, it's still not
On 08/23/2016 02:05 PM, Michael Niedermayer wrote:
> on which platform does av_memdup() not work with av_realloc_array() ?
I cannot indicate such a platform. However, the documentation for
av_malloc says:
"Pointers originating from the av_malloc() family of functions
must not be passed to av_r
On 08/23/2016 12:08 PM, Paul B Mahol wrote:
> Commit logs does not belong to Changelog
That is a good point, though it was (ever-so-slightly) revised from the
raw change log. I can write a version following the points mentioned in
the cover letter for a more high-level view.
_
70 matches
Mail list logo