* [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids
@ 2022-06-13 23:21 Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: Don't duplicate av_uuid_unparse Andreas Rheinhardt
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Andreas Rheinhardt @ 2022-06-13 23:21 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
This is in preparation for using av_uuid functions directly.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavformat/mxf.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/mxf.h b/libavformat/mxf.h
index d53a16df51..4d9f5119a3 100644
--- a/libavformat/mxf.h
+++ b/libavformat/mxf.h
@@ -25,8 +25,9 @@
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
+#include "libavutil/uuid.h"
-typedef uint8_t UID[16];
+typedef AVUUID UID;
enum MXFMetadataSetType {
AnyType,
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 6+ messages in thread
* [FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: Don't duplicate av_uuid_unparse
2022-06-13 23:21 [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
@ 2022-06-13 23:24 ` Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 3/4] avformat/mxfdec: Use ff_data_to_hex() for data->hex conversion Andreas Rheinhardt
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Andreas Rheinhardt @ 2022-06-13 23:24 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Also don't allocate the string ourselves, let av_dict_set()
do it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavformat/mxfdec.c | 24 +++---------------------
1 file changed, 3 insertions(+), 21 deletions(-)
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 6a22c33995..392066b65a 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -2118,24 +2118,6 @@ static int mxf_is_intra_only(MXFDescriptor *descriptor)
&descriptor->essence_codec_ul)->id != AV_CODEC_ID_NONE;
}
-static int mxf_uid_to_str(UID uid, char **str)
-{
- int i;
- char *p;
- p = *str = av_mallocz(sizeof(UID) * 2 + 4 + 1);
- if (!p)
- return AVERROR(ENOMEM);
- for (i = 0; i < sizeof(UID); i++) {
- snprintf(p, 2 + 1, "%.2x", uid[i]);
- p += 2;
- if (i == 3 || i == 5 || i == 7 || i == 9) {
- snprintf(p, 1 + 1, "-");
- p++;
- }
- }
- return 0;
-}
-
static int mxf_umid_to_str(UID ul, UID uid, char **str)
{
int i;
@@ -3088,10 +3070,10 @@ static int64_t mxf_timestamp_to_int64(uint64_t timestamp)
} while (0)
#define SET_UID_METADATA(pb, name, var, str) do { \
+ char uuid_str[2 * AV_UUID_LEN + 4 + 1]; \
avio_read(pb, var, 16); \
- if ((ret = mxf_uid_to_str(var, &str)) < 0) \
- return ret; \
- av_dict_set(&s->metadata, name, str, AV_DICT_DONT_STRDUP_VAL); \
+ av_uuid_unparse(uid, uuid_str); \
+ av_dict_set(&s->metadata, name, uuid_str, 0); \
} while (0)
#define SET_TS_METADATA(pb, name, var, str) do { \
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 6+ messages in thread
* [FFmpeg-devel] [PATCH 3/4] avformat/mxfdec: Use ff_data_to_hex() for data->hex conversion
2022-06-13 23:21 [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: Don't duplicate av_uuid_unparse Andreas Rheinhardt
@ 2022-06-13 23:24 ` Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 4/4] avformat/mxfdec: Offload allocating string to av_dict_set() Andreas Rheinhardt
2022-06-16 9:49 ` [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
3 siblings, 0 replies; 6+ messages in thread
From: Andreas Rheinhardt @ 2022-06-13 23:24 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
In this case it also stops pretending that the length of
the output string is somehow checked (which is currently
being done by using snprintf that is called with the amount
of space needed instead of the amount of space actually available).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavformat/mxfdec.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 392066b65a..77bde7c3fe 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -2120,22 +2120,13 @@ static int mxf_is_intra_only(MXFDescriptor *descriptor)
static int mxf_umid_to_str(UID ul, UID uid, char **str)
{
- int i;
char *p;
p = *str = av_mallocz(sizeof(UID) * 4 + 2 + 1);
if (!p)
return AVERROR(ENOMEM);
snprintf(p, 2 + 1, "0x");
- p += 2;
- for (i = 0; i < sizeof(UID); i++) {
- snprintf(p, 2 + 1, "%.2X", ul[i]);
- p += 2;
-
- }
- for (i = 0; i < sizeof(UID); i++) {
- snprintf(p, 2 + 1, "%.2X", uid[i]);
- p += 2;
- }
+ ff_data_to_hex(p + 2, ul, sizeof(UID), 0);
+ ff_data_to_hex(p + 2 + 2 * sizeof(UID), uid, sizeof(UID), 0);
return 0;
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 6+ messages in thread
* [FFmpeg-devel] [PATCH 4/4] avformat/mxfdec: Offload allocating string to av_dict_set()
2022-06-13 23:21 [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: Don't duplicate av_uuid_unparse Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 3/4] avformat/mxfdec: Use ff_data_to_hex() for data->hex conversion Andreas Rheinhardt
@ 2022-06-13 23:24 ` Andreas Rheinhardt
2022-06-16 9:49 ` [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
3 siblings, 0 replies; 6+ messages in thread
From: Andreas Rheinhardt @ 2022-06-13 23:24 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavformat/mxfdec.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 77bde7c3fe..ad8fb77f9b 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -2118,16 +2118,11 @@ static int mxf_is_intra_only(MXFDescriptor *descriptor)
&descriptor->essence_codec_ul)->id != AV_CODEC_ID_NONE;
}
-static int mxf_umid_to_str(UID ul, UID uid, char **str)
+static void mxf_umid_to_str(UID ul, UID uid, char str[2 + sizeof(UID) * 4 + 1])
{
- char *p;
- p = *str = av_mallocz(sizeof(UID) * 4 + 2 + 1);
- if (!p)
- return AVERROR(ENOMEM);
- snprintf(p, 2 + 1, "0x");
- ff_data_to_hex(p + 2, ul, sizeof(UID), 0);
- ff_data_to_hex(p + 2 + 2 * sizeof(UID), uid, sizeof(UID), 0);
- return 0;
+ snprintf(str, 2 + sizeof(UID) * 4 + 1, "0x");
+ ff_data_to_hex(str + 2, ul, sizeof(UID), 0);
+ ff_data_to_hex(str + 2 + 2 * sizeof(UID), uid, sizeof(UID), 0);
}
static int mxf_version_to_str(uint16_t major, uint16_t minor, uint16_t tertiary,
@@ -2141,13 +2136,11 @@ static int mxf_version_to_str(uint16_t major, uint16_t minor, uint16_t tertiary,
static int mxf_add_umid_metadata(AVDictionary **pm, const char *key, MXFPackage* package)
{
- char *str;
- int ret;
+ char str[2 + 4 * sizeof(UID) + 1];
if (!package)
return 0;
- if ((ret = mxf_umid_to_str(package->package_ul, package->package_uid, &str)) < 0)
- return ret;
- av_dict_set(pm, key, str, AV_DICT_DONT_STRDUP_VAL);
+ mxf_umid_to_str(package->package_ul, package->package_uid, str);
+ av_dict_set(pm, key, str, 0);
return 0;
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids
2022-06-13 23:21 [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
` (2 preceding siblings ...)
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 4/4] avformat/mxfdec: Offload allocating string to av_dict_set() Andreas Rheinhardt
@ 2022-06-16 9:49 ` Andreas Rheinhardt
2022-06-16 12:03 ` Tomas Härdin
3 siblings, 1 reply; 6+ messages in thread
From: Andreas Rheinhardt @ 2022-06-16 9:49 UTC (permalink / raw)
To: ffmpeg-devel
Andreas Rheinhardt:
> This is in preparation for using av_uuid functions directly.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
> libavformat/mxf.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/mxf.h b/libavformat/mxf.h
> index d53a16df51..4d9f5119a3 100644
> --- a/libavformat/mxf.h
> +++ b/libavformat/mxf.h
> @@ -25,8 +25,9 @@
> #include "libavutil/log.h"
> #include "libavutil/pixfmt.h"
> #include "libavutil/rational.h"
> +#include "libavutil/uuid.h"
>
> -typedef uint8_t UID[16];
> +typedef AVUUID UID;
>
> enum MXFMetadataSetType {
> AnyType,
Will apply this patchset later tonight unless there are objections.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids
2022-06-16 9:49 ` [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
@ 2022-06-16 12:03 ` Tomas Härdin
0 siblings, 0 replies; 6+ messages in thread
From: Tomas Härdin @ 2022-06-16 12:03 UTC (permalink / raw)
To: FFmpeg development discussions and patches
tor 2022-06-16 klockan 11:49 +0200 skrev Andreas Rheinhardt:
> Andreas Rheinhardt:
> > This is in preparation for using av_uuid functions directly.
> >
> > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> > ---
> > libavformat/mxf.h | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavformat/mxf.h b/libavformat/mxf.h
> > index d53a16df51..4d9f5119a3 100644
> > --- a/libavformat/mxf.h
> > +++ b/libavformat/mxf.h
> > @@ -25,8 +25,9 @@
> > #include "libavutil/log.h"
> > #include "libavutil/pixfmt.h"
> > #include "libavutil/rational.h"
> > +#include "libavutil/uuid.h"
> >
> > -typedef uint8_t UID[16];
> > +typedef AVUUID UID;
> >
> > enum MXFMetadataSetType {
> > AnyType,
>
> Will apply this patchset later tonight unless there are objections.
I looked at it yesterday and it looks fine to me. Didn't remember to
email however, sorry
/Tomas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-06-16 12:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-13 23:21 [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 2/4] avformat/mxfdec: Don't duplicate av_uuid_unparse Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 3/4] avformat/mxfdec: Use ff_data_to_hex() for data->hex conversion Andreas Rheinhardt
2022-06-13 23:24 ` [FFmpeg-devel] [PATCH 4/4] avformat/mxfdec: Offload allocating string to av_dict_set() Andreas Rheinhardt
2022-06-16 9:49 ` [FFmpeg-devel] [PATCH 1/4] avformat/mxf: Use AVUUID for uids Andreas Rheinhardt
2022-06-16 12:03 ` Tomas Härdin
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git