Message ID | 20230326074130.1317-1-ffmpeg@gyani.pro |
---|---|
State | Accepted |
Commit | 6941788d24ea350498ecb327e03d625974e55d9f |
Headers | show |
Series | [FFmpeg-devel] avformat/movenc: correct loci parameter handling | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | fail | Make fate failed |
Plan to push in 48h. On 2023-03-26 01:11 pm, Gyan Doshi wrote: > 3GPP TS 26.244 Table 8.10 specifies that longitude is written before > latitude. The MOV demuxer already expects the correct order. So, write > them in that order. > > However, the user supplied string may also be used in MOV mode which > requires ISO 6709 format which specifies latitude first. The demuxer > also exports the loci value in that format. So parser adjusted as well. > --- > libavformat/movenc.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index 68e7f8222b..c370922c7d 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -4021,13 +4021,13 @@ static int mov_write_loci_tag(AVFormatContext *s, AVIOContext *pb) > return 0; > > ptr = t->value; > - longitude = strtod(ptr, &end); > + latitude = strtod(ptr, &end); > if (end == ptr) { > av_log(s, AV_LOG_WARNING, "malformed location metadata\n"); > return 0; > } > ptr = end; > - latitude = strtod(ptr, &end); > + longitude = strtod(ptr, &end); > if (end == ptr) { > av_log(s, AV_LOG_WARNING, "malformed location metadata\n"); > return 0; > @@ -4048,8 +4048,8 @@ static int mov_write_loci_tag(AVFormatContext *s, AVIOContext *pb) > avio_wb16(pb, lang); > avio_write(pb, place, strlen(place) + 1); > avio_w8(pb, 0); /* role of place (0 == shooting location, 1 == real location, 2 == fictional location) */ > - avio_wb32(pb, latitude_fix); > avio_wb32(pb, longitude_fix); > + avio_wb32(pb, latitude_fix); > avio_wb32(pb, altitude_fix); > avio_write(pb, astronomical_body, strlen(astronomical_body) + 1); > avio_w8(pb, 0); /* additional notes, null terminated string */
On 2023-04-01 09:42 am, Gyan Doshi wrote: > Plan to push in 48h. Pushed as 6941788d24ea350498ecb327e03d625974e55d9f > > On 2023-03-26 01:11 pm, Gyan Doshi wrote: >> 3GPP TS 26.244 Table 8.10 specifies that longitude is written before >> latitude. The MOV demuxer already expects the correct order. So, write >> them in that order. >> >> However, the user supplied string may also be used in MOV mode which >> requires ISO 6709 format which specifies latitude first. The demuxer >> also exports the loci value in that format. So parser adjusted as well. >> --- >> libavformat/movenc.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/libavformat/movenc.c b/libavformat/movenc.c >> index 68e7f8222b..c370922c7d 100644 >> --- a/libavformat/movenc.c >> +++ b/libavformat/movenc.c >> @@ -4021,13 +4021,13 @@ static int mov_write_loci_tag(AVFormatContext >> *s, AVIOContext *pb) >> return 0; >> ptr = t->value; >> - longitude = strtod(ptr, &end); >> + latitude = strtod(ptr, &end); >> if (end == ptr) { >> av_log(s, AV_LOG_WARNING, "malformed location metadata\n"); >> return 0; >> } >> ptr = end; >> - latitude = strtod(ptr, &end); >> + longitude = strtod(ptr, &end); >> if (end == ptr) { >> av_log(s, AV_LOG_WARNING, "malformed location metadata\n"); >> return 0; >> @@ -4048,8 +4048,8 @@ static int mov_write_loci_tag(AVFormatContext >> *s, AVIOContext *pb) >> avio_wb16(pb, lang); >> avio_write(pb, place, strlen(place) + 1); >> avio_w8(pb, 0); /* role of place (0 == shooting >> location, 1 == real location, 2 == fictional location) */ >> - avio_wb32(pb, latitude_fix); >> avio_wb32(pb, longitude_fix); >> + avio_wb32(pb, latitude_fix); >> avio_wb32(pb, altitude_fix); >> avio_write(pb, astronomical_body, strlen(astronomical_body) + 1); >> avio_w8(pb, 0); /* additional notes, null terminated >> string */ > > _______________________________________________ > 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".
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 68e7f8222b..c370922c7d 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -4021,13 +4021,13 @@ static int mov_write_loci_tag(AVFormatContext *s, AVIOContext *pb) return 0; ptr = t->value; - longitude = strtod(ptr, &end); + latitude = strtod(ptr, &end); if (end == ptr) { av_log(s, AV_LOG_WARNING, "malformed location metadata\n"); return 0; } ptr = end; - latitude = strtod(ptr, &end); + longitude = strtod(ptr, &end); if (end == ptr) { av_log(s, AV_LOG_WARNING, "malformed location metadata\n"); return 0; @@ -4048,8 +4048,8 @@ static int mov_write_loci_tag(AVFormatContext *s, AVIOContext *pb) avio_wb16(pb, lang); avio_write(pb, place, strlen(place) + 1); avio_w8(pb, 0); /* role of place (0 == shooting location, 1 == real location, 2 == fictional location) */ - avio_wb32(pb, latitude_fix); avio_wb32(pb, longitude_fix); + avio_wb32(pb, latitude_fix); avio_wb32(pb, altitude_fix); avio_write(pb, astronomical_body, strlen(astronomical_body) + 1); avio_w8(pb, 0); /* additional notes, null terminated string */