- uint32_t frames;
-
- /* For SMPTE 12-M timecodes, frame count is a special case if > 30 FPS.
- See SMPTE ST 12-1:2014 Sec 12.1 for more info. */
- if (av_cmp_q(h->avctx->framerate, (AVRational) {30, 1}) == 1) {
- frames = h->sei.picture_timing.timecode[i].frame / 2;
- if (h->sei.picture_timing.timecode[i].frame % 2 == 1) {
- if (av_cmp_q(h->avctx->framerate, (AVRational) {50, 1}) == 0)
- tc |= (1 << 7);
- else
- tc |= (1 << 23);
- }
- } else {
- frames = h->sei.picture_timing.timecode[i].frame;
- }
-
- tc |= h->sei.picture_timing.timecode[i].dropframe << 30;
- tc |= (frames / 10) << 28;
- tc |= (frames % 10) << 24;
- tc |= (h->sei.picture_timing.timecode[i].seconds / 10) << 20;
- tc |= (h->sei.picture_timing.timecode[i].seconds % 10) << 16;
- tc |= (h->sei.picture_timing.timecode[i].minutes / 10) << 12;
- tc |= (h->sei.picture_timing.timecode[i].minutes % 10) << 8;
- tc |= (h->sei.picture_timing.timecode[i].hours / 10) << 4;
- tc |= (h->sei.picture_timing.timecode[i].hours % 10);
+ int drop = h->sei.picture_timing.timecode[i].dropframe;
+ int hh = h->sei.picture_timing.timecode[i].hours;
+ int mm = h->sei.picture_timing.timecode[i].minutes;
+ int ss = h->sei.picture_timing.timecode[i].seconds;
+ int ff = h->sei.picture_timing.timecode[i].frame;