43 int64_t start, int64_t end,
const char *title)
54 if (!
s->nb_chapters) {
57 for (
unsigned i = 0;
i <
s->nb_chapters;
i++)
58 if (
s->chapters[
i]->id ==
id)
59 chapter =
s->chapters[
i];
77 chapter->
start = start;
86 si->inject_global_side_data = 1;
87 for (
unsigned i = 0;
i <
s->nb_streams;
i++) {
89 ffstream(st)->inject_global_side_data = 1;
97 for (
unsigned i = 0;
i <
s->nb_streams;
i++)
100 if (
s->streams[
i]->attached_pic.size <= 0) {
102 "Attached picture on stream %d has invalid size, "
108 &
s->streams[
i]->attached_pic,
161 #if FF_API_OLD_CHANNEL_LAYOUT
165 flags |= AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT;
167 if (channel_layout) {
169 flags |= AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT;
185 #if FF_API_OLD_CHANNEL_LAYOUT
190 bytestream_put_le64(&
data, channel_layout);
204 if (
s->iformat->read_play)
205 return s->iformat->read_play(
s);
213 if (
s->iformat->read_pause)
214 return s->iformat->read_pause(
s);
222 static const uint8_t avci100_1080p_extradata[] = {
224 0x00, 0x00, 0x00, 0x01, 0x67, 0x7a, 0x10, 0x29,
225 0xb6, 0xd4, 0x20, 0x22, 0x33, 0x19, 0xc6, 0x63,
226 0x23, 0x21, 0x01, 0x11, 0x98, 0xce, 0x33, 0x19,
227 0x18, 0x21, 0x02, 0x56, 0xb9, 0x3d, 0x7d, 0x7e,
228 0x4f, 0xe3, 0x3f, 0x11, 0xf1, 0x9e, 0x08, 0xb8,
229 0x8c, 0x54, 0x43, 0xc0, 0x78, 0x02, 0x27, 0xe2,
230 0x70, 0x1e, 0x30, 0x10, 0x10, 0x14, 0x00, 0x00,
231 0x03, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0xca,
232 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 0x00, 0x00, 0x00, 0x01, 0x68, 0xce, 0x33, 0x48,
237 static const uint8_t avci100_1080i_extradata[] = {
239 0x00, 0x00, 0x00, 0x01, 0x67, 0x7a, 0x10, 0x29,
240 0xb6, 0xd4, 0x20, 0x22, 0x33, 0x19, 0xc6, 0x63,
241 0x23, 0x21, 0x01, 0x11, 0x98, 0xce, 0x33, 0x19,
242 0x18, 0x21, 0x03, 0x3a, 0x46, 0x65, 0x6a, 0x65,
243 0x24, 0xad, 0xe9, 0x12, 0x32, 0x14, 0x1a, 0x26,
244 0x34, 0xad, 0xa4, 0x41, 0x82, 0x23, 0x01, 0x50,
245 0x2b, 0x1a, 0x24, 0x69, 0x48, 0x30, 0x40, 0x2e,
246 0x11, 0x12, 0x08, 0xc6, 0x8c, 0x04, 0x41, 0x28,
247 0x4c, 0x34, 0xf0, 0x1e, 0x01, 0x13, 0xf2, 0xe0,
248 0x3c, 0x60, 0x20, 0x20, 0x28, 0x00, 0x00, 0x03,
249 0x00, 0x08, 0x00, 0x00, 0x03, 0x01, 0x94, 0x20,
251 0x00, 0x00, 0x00, 0x01, 0x68, 0xce, 0x33, 0x48,
254 static const uint8_t avci50_1080p_extradata[] = {
256 0x00, 0x00, 0x00, 0x01, 0x67, 0x6e, 0x10, 0x28,
257 0xa6, 0xd4, 0x20, 0x32, 0x33, 0x0c, 0x71, 0x18,
258 0x88, 0x62, 0x10, 0x19, 0x19, 0x86, 0x38, 0x8c,
259 0x44, 0x30, 0x21, 0x02, 0x56, 0x4e, 0x6f, 0x37,
260 0xcd, 0xf9, 0xbf, 0x81, 0x6b, 0xf3, 0x7c, 0xde,
261 0x6e, 0x6c, 0xd3, 0x3c, 0x05, 0xa0, 0x22, 0x7e,
262 0x5f, 0xfc, 0x00, 0x0c, 0x00, 0x13, 0x8c, 0x04,
263 0x04, 0x05, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00,
264 0x00, 0x03, 0x00, 0x32, 0x84, 0x00, 0x00, 0x00,
266 0x00, 0x00, 0x00, 0x01, 0x68, 0xee, 0x31, 0x12,
269 static const uint8_t avci50_1080i_extradata[] = {
271 0x00, 0x00, 0x00, 0x01, 0x67, 0x6e, 0x10, 0x28,
272 0xa6, 0xd4, 0x20, 0x32, 0x33, 0x0c, 0x71, 0x18,
273 0x88, 0x62, 0x10, 0x19, 0x19, 0x86, 0x38, 0x8c,
274 0x44, 0x30, 0x21, 0x02, 0x56, 0x4e, 0x6e, 0x61,
275 0x87, 0x3e, 0x73, 0x4d, 0x98, 0x0c, 0x03, 0x06,
276 0x9c, 0x0b, 0x73, 0xe6, 0xc0, 0xb5, 0x18, 0x63,
277 0x0d, 0x39, 0xe0, 0x5b, 0x02, 0xd4, 0xc6, 0x19,
278 0x1a, 0x79, 0x8c, 0x32, 0x34, 0x24, 0xf0, 0x16,
279 0x81, 0x13, 0xf7, 0xff, 0x80, 0x02, 0x00, 0x01,
280 0xf1, 0x80, 0x80, 0x80, 0xa0, 0x00, 0x00, 0x03,
281 0x00, 0x20, 0x00, 0x00, 0x06, 0x50, 0x80, 0x00,
283 0x00, 0x00, 0x00, 0x01, 0x68, 0xee, 0x31, 0x12,
286 static const uint8_t avci100_720p_extradata[] = {
288 0x00, 0x00, 0x00, 0x01, 0x67, 0x7a, 0x10, 0x29,
289 0xb6, 0xd4, 0x20, 0x2a, 0x33, 0x1d, 0xc7, 0x62,
290 0xa1, 0x08, 0x40, 0x54, 0x66, 0x3b, 0x8e, 0xc5,
291 0x42, 0x02, 0x10, 0x25, 0x64, 0x2c, 0x89, 0xe8,
292 0x85, 0xe4, 0x21, 0x4b, 0x90, 0x83, 0x06, 0x95,
293 0xd1, 0x06, 0x46, 0x97, 0x20, 0xc8, 0xd7, 0x43,
294 0x08, 0x11, 0xc2, 0x1e, 0x4c, 0x91, 0x0f, 0x01,
295 0x40, 0x16, 0xec, 0x07, 0x8c, 0x04, 0x04, 0x05,
296 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03,
297 0x00, 0x64, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00,
299 0x00, 0x00, 0x00, 0x01, 0x68, 0xce, 0x31, 0x12,
302 static const uint8_t avci50_720p_extradata[] = {
304 0x00, 0x00, 0x00, 0x01, 0x67, 0x6e, 0x10, 0x20,
305 0xa6, 0xd4, 0x20, 0x32, 0x33, 0x0c, 0x71, 0x18,
306 0x88, 0x62, 0x10, 0x19, 0x19, 0x86, 0x38, 0x8c,
307 0x44, 0x30, 0x21, 0x02, 0x56, 0x4e, 0x6f, 0x37,
308 0xcd, 0xf9, 0xbf, 0x81, 0x6b, 0xf3, 0x7c, 0xde,
309 0x6e, 0x6c, 0xd3, 0x3c, 0x0f, 0x01, 0x6e, 0xff,
310 0xc0, 0x00, 0xc0, 0x01, 0x38, 0xc0, 0x40, 0x40,
311 0x50, 0x00, 0x00, 0x03, 0x00, 0x10, 0x00, 0x00,
312 0x06, 0x48, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
314 0x00, 0x00, 0x00, 0x01, 0x68, 0xee, 0x31, 0x12,
323 data = avci100_1080p_extradata;
324 size =
sizeof(avci100_1080p_extradata);
326 data = avci100_1080i_extradata;
327 size =
sizeof(avci100_1080i_extradata);
331 data = avci50_1080p_extradata;
332 size =
sizeof(avci50_1080p_extradata);
334 data = avci50_1080i_extradata;
335 size =
sizeof(avci50_1080i_extradata);
338 data = avci100_720p_extradata;
339 size =
sizeof(avci100_720p_extradata);
341 data = avci50_720p_extradata;
342 size =
sizeof(avci50_720p_extradata);
373 for (
unsigned i = 0;
i <
s->nb_streams;
i++)
374 if (
s->streams[
i]->id ==
id)