ub(8, colour_primaries);
ub(8, transfer_characteristics);
ub(8, matrix_coefficients);
+ } else {
+ infer(colour_primaries, 2);
+ infer(transfer_characteristics, 2);
+ infer(matrix_coefficients, 2);
}
} else {
infer(video_format, 5);
}
if (sps->vui.pic_struct_present_flag) {
- static const int num_clock_ts[9] = {
+ static const uint8_t num_clock_ts[9] = {
1, 1, 1, 2, 2, 3, 3, 2, 3
};
int i;
return 0;
}
+static int FUNC(sei_alternative_transfer_characteristics)(CodedBitstreamContext *ctx,
+ RWContext *rw,
+ H264RawSEIAlternativeTransferCharacteristics *current)
+{
+ int err;
+
+ HEADER("Alternative Transfer Characteristics");
+
+ ub(8, preferred_transfer_characteristics);
+
+ return 0;
+}
+
static int FUNC(sei_payload)(CodedBitstreamContext *ctx, RWContext *rw,
H264RawSEIPayload *current)
{
CHECK(FUNC(sei_mastering_display_colour_volume)
(ctx, rw, ¤t->payload.mastering_display_colour_volume));
break;
+ case H264_SEI_TYPE_ALTERNATIVE_TRANSFER:
+ CHECK(FUNC(sei_alternative_transfer_characteristics)
+ (ctx, rw, ¤t->payload.alternative_transfer_characteristics));
+ break;
default:
{
#ifdef READ