Lines 40-45
Link Here
|
40 |
#include "get_bits.h" |
40 |
#include "get_bits.h" |
41 |
#include "golomb.h" |
41 |
#include "golomb.h" |
42 |
#include "h2645_sei.h" |
42 |
#include "h2645_sei.h" |
|
|
43 |
#include "itut35.h" |
43 |
|
44 |
|
44 |
#define IS_H264(codec_id) (CONFIG_H264_SEI && CONFIG_HEVC_SEI ? codec_id == AV_CODEC_ID_H264 : CONFIG_H264_SEI) |
45 |
#define IS_H264(codec_id) (CONFIG_H264_SEI && CONFIG_HEVC_SEI ? codec_id == AV_CODEC_ID_H264 : CONFIG_H264_SEI) |
45 |
#define IS_HEVC(codec_id) (CONFIG_H264_SEI && CONFIG_HEVC_SEI ? codec_id == AV_CODEC_ID_HEVC : CONFIG_HEVC_SEI) |
46 |
#define IS_HEVC(codec_id) (CONFIG_H264_SEI && CONFIG_HEVC_SEI ? codec_id == AV_CODEC_ID_HEVC : CONFIG_HEVC_SEI) |
Lines 140-146
static int decode_registered_user_data(H2645SEI *h, GetByteContext *gb,
Link Here
|
140 |
bytestream2_skipu(gb, 1); // itu_t_t35_country_code_extension_byte |
141 |
bytestream2_skipu(gb, 1); // itu_t_t35_country_code_extension_byte |
141 |
} |
142 |
} |
142 |
|
143 |
|
143 |
if (country_code != 0xB5 && country_code != 0x26) { // usa_country_code and cn_country_code |
144 |
if (country_code != ITU_T_T35_COUNTRY_CODE_US && |
|
|
145 |
country_code != ITU_T_T35_COUNTRY_CODE_CN) { |
144 |
av_log(logctx, AV_LOG_VERBOSE, |
146 |
av_log(logctx, AV_LOG_VERBOSE, |
145 |
"Unsupported User Data Registered ITU-T T35 SEI message (country_code = %d)\n", |
147 |
"Unsupported User Data Registered ITU-T T35 SEI message (country_code = %d)\n", |
146 |
country_code); |
148 |
country_code); |
Lines 151-157
static int decode_registered_user_data(H2645SEI *h, GetByteContext *gb,
Link Here
|
151 |
provider_code = bytestream2_get_be16u(gb); |
153 |
provider_code = bytestream2_get_be16u(gb); |
152 |
|
154 |
|
153 |
switch (provider_code) { |
155 |
switch (provider_code) { |
154 |
case 0x31: { // atsc_provider_code |
156 |
case ITU_T_T35_PROVIDER_CODE_ATSC: { |
155 |
uint32_t user_identifier; |
157 |
uint32_t user_identifier; |
156 |
|
158 |
|
157 |
if (bytestream2_get_bytes_left(gb) < 4) |
159 |
if (bytestream2_get_bytes_left(gb) < 4) |
Lines 172-178
static int decode_registered_user_data(H2645SEI *h, GetByteContext *gb,
Link Here
|
172 |
break; |
174 |
break; |
173 |
} |
175 |
} |
174 |
#if CONFIG_HEVC_SEI |
176 |
#if CONFIG_HEVC_SEI |
175 |
case 0x04: { // cuva_provider_code |
177 |
case ITU_T_T35_PROVIDER_CODE_CUVA: { |
176 |
const uint16_t cuva_provider_oriented_code = 0x0005; |
178 |
const uint16_t cuva_provider_oriented_code = 0x0005; |
177 |
uint16_t provider_oriented_code; |
179 |
uint16_t provider_oriented_code; |
178 |
|
180 |
|
Lines 188-194
static int decode_registered_user_data(H2645SEI *h, GetByteContext *gb,
Link Here
|
188 |
} |
190 |
} |
189 |
break; |
191 |
break; |
190 |
} |
192 |
} |
191 |
case 0x3C: { // smpte_provider_code |
193 |
case ITU_T_T35_PROVIDER_CODE_SMTPE: { |
192 |
// A/341 Amendment - 2094-40 |
194 |
// A/341 Amendment - 2094-40 |
193 |
const uint16_t smpte2094_40_provider_oriented_code = 0x0001; |
195 |
const uint16_t smpte2094_40_provider_oriented_code = 0x0001; |
194 |
const uint8_t smpte2094_40_application_identifier = 0x04; |
196 |
const uint8_t smpte2094_40_application_identifier = 0x04; |