On Sat, 18 May 2019, Antonin Gouzer wrote:
Thank you for your response,
I don't have any example of such a file.
I was thinking that GOP timecode was reserved to MPEG2 files and S12M
to H265/H264 files ?
In every writer the type of timecode is already an attribute: side_data_type.
With the actual xsd the result should be, with the XML writer:
<side_data_list>
<side_data side_data_type="SMPTE 12-1 timecode"
timecode="00:03:25:03"/>
<side_data side_data_type="GOP timecode"
timecode="00:03:25:03"/>
</side_data_list>
That should be ok don't you think ?
Ah, OK then.
I see another issue though: what if S12M side data has more than one
timecode in it? Having the same attirbute multiple times in an XML tag is
not valid.
On Fri, 17 May 2019, Antonin Gouzer wrote:
> Thanks in advance.
> ---
> fftools/ffprobe.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
> index dea489d02e..4763ce6d98 100644
> --- a/fftools/ffprobe.c
> +++ b/fftools/ffprobe.c
> @@ -2199,6 +2199,14 @@ static void show_frame(WriterContext *w, AVFrame
*frame, AVStream *stream,
> char tcbuf[AV_TIMECODE_STR_SIZE];
> av_timecode_make_mpeg_tc_string(tcbuf, *(int64_t
*)(sd->data));
> print_str("timecode", tcbuf);
> + } else if (sd->type == AV_FRAME_DATA_S12M_TIMECODE && sd->size
>= 8) {
> + uint32_t *tc = (uint32_t*)sd->data;
An assert makes sense here to check if tc[0] <= 3.
> + for (int j = 1; j <= tc[0]; j++) {
> + char tcbuf[AV_TIMECODE_STR_SIZE];
> + av_timecode_make_smpte_tc_string(tcbuf, tc[j], 0);
> + print_str("timecode", tcbuf);
> + }
> + break;
Why the break?
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".