Lines 1028-1033
static int export_itut_t35(AVCodecContext *avctx, AVFrame *frame,
Link Here
|
1028 |
break; |
1029 |
break; |
1029 |
} |
1030 |
} |
1030 |
case ITU_T_T35_PROVIDER_CODE_DOLBY: { |
1031 |
case ITU_T_T35_PROVIDER_CODE_DOLBY: { |
|
|
1032 |
AVBufferRef *rpu_buf; |
1033 |
AVFrameSideData *rpu; |
1031 |
int provider_oriented_code = bytestream2_get_be32(&gb); |
1034 |
int provider_oriented_code = bytestream2_get_be32(&gb); |
1032 |
if (itut_t35->itu_t_t35_country_code != ITU_T_T35_COUNTRY_CODE_US || |
1035 |
if (itut_t35->itu_t_t35_country_code != ITU_T_T35_COUNTRY_CODE_US || |
1033 |
provider_oriented_code != 0x800) |
1036 |
provider_oriented_code != 0x800) |
Lines 1039-1044
static int export_itut_t35(AVCodecContext *avctx, AVFrame *frame,
Link Here
|
1039 |
break; // ignore |
1041 |
break; // ignore |
1040 |
} |
1042 |
} |
1041 |
|
1043 |
|
|
|
1044 |
rpu_buf = av_buffer_alloc(itut_t35->payload_size); |
1045 |
if (rpu_buf) { |
1046 |
memcpy(rpu_buf->data, itut_t35->payload, itut_t35->payload_size); |
1047 |
rpu = av_frame_new_side_data_from_buf(frame, AV_FRAME_DATA_DOVI_RPU_BUFFER_T35, rpu_buf); |
1048 |
if (!rpu) { |
1049 |
av_buffer_unref(&rpu_buf); |
1050 |
return AVERROR(ENOMEM); |
1051 |
} |
1052 |
} else { |
1053 |
return AVERROR(ENOMEM); |
1054 |
} |
1055 |
|
1042 |
ret = ff_dovi_attach_side_data(&s->dovi, frame); |
1056 |
ret = ff_dovi_attach_side_data(&s->dovi, frame); |
1043 |
if (ret < 0) |
1057 |
if (ret < 0) |
1044 |
return ret; |
1058 |
return ret; |