+static int
+mpeg2enc_time_code(VAEncSequenceParameterBufferMPEG2 *seq_param,
+ int num_frames)
+{
+ int fps = (int)(seq_param->frame_rate + 0.5);
+ int time_code = 0;
+ int time_code_pictures, time_code_seconds, time_code_minutes, time_code_hours;
+ int drop_frame_flag = 0;
+
+ assert(fps <= 60);
+
+ time_code_seconds = num_frames / fps;
+ time_code_pictures = num_frames % fps;
+ time_code |= time_code_pictures;
+
+ time_code_minutes = time_code_minutes / 60;
+ time_code_seconds = time_code_minutes % 60;
+ time_code |= (time_code_seconds << 6);
+
+ time_code_hours = time_code_minutes / 60;
+ time_code_minutes = time_code_minutes % 60;
+
+ time_code |= (1 << 12); /* marker_bit */
+ time_code |= (time_code_minutes << 13);
+
+ time_code_hours = time_code_hours % 24;
+ time_code |= (time_code_hours << 19);
+
+ time_code |= (drop_frame_flag << 24);
+
+ return time_code;
+}
+