• Home
  • Raw
  • Download

Lines Matching refs:pb

135 static void gxf_write_padding(AVIOContext *pb, int64_t to_pad)  in gxf_write_padding()  argument
138 avio_w8(pb, 0); in gxf_write_padding()
142 static int64_t updatePacketSize(AVIOContext *pb, int64_t pos) in updatePacketSize() argument
147 size = avio_tell(pb) - pos; in updatePacketSize()
149 gxf_write_padding(pb, 4 - size % 4); in updatePacketSize()
150 size = avio_tell(pb) - pos; in updatePacketSize()
152 curpos = avio_tell(pb); in updatePacketSize()
153 avio_seek(pb, pos + 6, SEEK_SET); in updatePacketSize()
154 avio_wb32(pb, size); in updatePacketSize()
155 avio_seek(pb, curpos, SEEK_SET); in updatePacketSize()
159 static int64_t updateSize(AVIOContext *pb, int64_t pos) in updateSize() argument
163 curpos = avio_tell(pb); in updateSize()
164 avio_seek(pb, pos, SEEK_SET); in updateSize()
165 avio_wb16(pb, curpos - pos - 2); in updateSize()
166 avio_seek(pb, curpos, SEEK_SET); in updateSize()
170 static void gxf_write_packet_header(AVIOContext *pb, GXFPktType type) in gxf_write_packet_header() argument
172 avio_wb32(pb, 0); /* packet leader for synchro */ in gxf_write_packet_header()
173 avio_w8(pb, 1); in gxf_write_packet_header()
174 avio_w8(pb, type); /* map packet */ in gxf_write_packet_header()
175 avio_wb32(pb, 0); /* size */ in gxf_write_packet_header()
176 avio_wb32(pb, 0); /* reserved */ in gxf_write_packet_header()
177 avio_w8(pb, 0xE1); /* trailer 1 */ in gxf_write_packet_header()
178 avio_w8(pb, 0xE2); /* trailer 2 */ in gxf_write_packet_header()
181 static int gxf_write_mpeg_auxiliary(AVIOContext *pb, AVStream *st) in gxf_write_mpeg_auxiliary() argument
214 avio_w8(pb, TRACK_MPG_AUX); in gxf_write_mpeg_auxiliary()
215 avio_w8(pb, size + 1); in gxf_write_mpeg_auxiliary()
216 avio_write(pb, (uint8_t *)buffer, size + 1); in gxf_write_mpeg_auxiliary()
220 static int gxf_write_dv_auxiliary(AVIOContext *pb, AVStream *st) in gxf_write_dv_auxiliary() argument
224 avio_w8(pb, TRACK_AUX); in gxf_write_dv_auxiliary()
225 avio_w8(pb, 8); in gxf_write_dv_auxiliary()
229 avio_wl64(pb, track_aux_data); in gxf_write_dv_auxiliary()
233 static int gxf_write_timecode_auxiliary(AVIOContext *pb, GXFContext *gxf) in gxf_write_timecode_auxiliary() argument
239 avio_w8(pb, TRACK_AUX); in gxf_write_timecode_auxiliary()
240 avio_w8(pb, 8); in gxf_write_timecode_auxiliary()
241 avio_wl32(pb, timecode); in gxf_write_timecode_auxiliary()
243 avio_wl32(pb, 0); in gxf_write_timecode_auxiliary()
250 AVIOContext *pb = s->pb; in gxf_write_track_description() local
254 avio_w8(pb, sc->media_type + 0x80); in gxf_write_track_description()
255 avio_w8(pb, index + 0xC0); in gxf_write_track_description()
257 pos = avio_tell(pb); in gxf_write_track_description()
258 avio_wb16(pb, 0); /* size */ in gxf_write_track_description()
261 avio_w8(pb, TRACK_NAME); in gxf_write_track_description()
262 avio_w8(pb, strlen(ES_NAME_PATTERN) + 3); in gxf_write_track_description()
263 avio_write(pb, ES_NAME_PATTERN, sizeof(ES_NAME_PATTERN) - 1); in gxf_write_track_description()
264 avio_wb16(pb, sc->media_info); in gxf_write_track_description()
265 avio_w8(pb, 0); in gxf_write_track_description()
269 gxf_write_timecode_auxiliary(pb, gxf); in gxf_write_track_description()
273 gxf_write_mpeg_auxiliary(pb, s->streams[index]); in gxf_write_track_description()
277 gxf_write_dv_auxiliary(pb, s->streams[index]); in gxf_write_track_description()
280 avio_w8(pb, TRACK_AUX); in gxf_write_track_description()
281 avio_w8(pb, 8); in gxf_write_track_description()
282 avio_wl64(pb, 0); in gxf_write_track_description()
286 avio_w8(pb, TRACK_VER); in gxf_write_track_description()
287 avio_w8(pb, 4); in gxf_write_track_description()
288 avio_wb32(pb, 0); in gxf_write_track_description()
291 avio_w8(pb, TRACK_FPS); in gxf_write_track_description()
292 avio_w8(pb, 4); in gxf_write_track_description()
293 avio_wb32(pb, sc->frame_rate_index); in gxf_write_track_description()
296 avio_w8(pb, TRACK_LINES); in gxf_write_track_description()
297 avio_w8(pb, 4); in gxf_write_track_description()
298 avio_wb32(pb, sc->lines_index); in gxf_write_track_description()
301 avio_w8(pb, TRACK_FPF); in gxf_write_track_description()
302 avio_w8(pb, 4); in gxf_write_track_description()
303 avio_wb32(pb, sc->fields); in gxf_write_track_description()
305 return updateSize(pb, pos); in gxf_write_track_description()
311 AVIOContext *pb = s->pb; in gxf_write_material_data_section() local
316 pos = avio_tell(pb); in gxf_write_material_data_section()
317 avio_wb16(pb, 0); /* size */ in gxf_write_material_data_section()
326 avio_w8(pb, MAT_NAME); in gxf_write_material_data_section()
327 avio_w8(pb, strlen(SERVER_PATH) + len + 1); in gxf_write_material_data_section()
328 avio_write(pb, SERVER_PATH, sizeof(SERVER_PATH) - 1); in gxf_write_material_data_section()
329 avio_write(pb, filename, len); in gxf_write_material_data_section()
330 avio_w8(pb, 0); in gxf_write_material_data_section()
333 avio_w8(pb, MAT_FIRST_FIELD); in gxf_write_material_data_section()
334 avio_w8(pb, 4); in gxf_write_material_data_section()
335 avio_wb32(pb, 0); in gxf_write_material_data_section()
338 avio_w8(pb, MAT_LAST_FIELD); in gxf_write_material_data_section()
339 avio_w8(pb, 4); in gxf_write_material_data_section()
340 avio_wb32(pb, gxf->nb_fields); in gxf_write_material_data_section()
343 avio_w8(pb, MAT_MARK_IN); in gxf_write_material_data_section()
344 avio_w8(pb, 4); in gxf_write_material_data_section()
345 avio_wb32(pb, 0); in gxf_write_material_data_section()
347 avio_w8(pb, MAT_MARK_OUT); in gxf_write_material_data_section()
348 avio_w8(pb, 4); in gxf_write_material_data_section()
349 avio_wb32(pb, gxf->nb_fields); in gxf_write_material_data_section()
352 avio_w8(pb, MAT_SIZE); in gxf_write_material_data_section()
353 avio_w8(pb, 4); in gxf_write_material_data_section()
354 avio_wb32(pb, avio_size(pb) / 1024); in gxf_write_material_data_section()
356 return updateSize(pb, pos); in gxf_write_material_data_section()
362 AVIOContext *pb = s->pb; in gxf_write_track_description_section() local
366 pos = avio_tell(pb); in gxf_write_track_description_section()
367 avio_wb16(pb, 0); /* size */ in gxf_write_track_description_section()
373 return updateSize(pb, pos); in gxf_write_track_description_section()
379 AVIOContext *pb = s->pb; in gxf_write_map_packet() local
380 int64_t pos = avio_tell(pb); in gxf_write_map_packet()
396 gxf_write_packet_header(pb, PKT_MAP); in gxf_write_map_packet()
399 avio_w8(pb, 0xE0); /* version */ in gxf_write_map_packet()
400 avio_w8(pb, 0xFF); /* reserved */ in gxf_write_map_packet()
405 return updatePacketSize(pb, pos); in gxf_write_map_packet()
411 AVIOContext *pb = s->pb; in gxf_write_flt_packet() local
412 int64_t pos = avio_tell(pb); in gxf_write_flt_packet()
417 gxf_write_packet_header(pb, PKT_FLT); in gxf_write_flt_packet()
419 avio_wl32(pb, fields_per_flt); /* number of fields */ in gxf_write_flt_packet()
420 avio_wl32(pb, flt_entries); /* number of active flt entries */ in gxf_write_flt_packet()
424 avio_wl32(pb, gxf->flt_entries[(i*fields_per_flt)>>1]); in gxf_write_flt_packet()
428 avio_wl32(pb, 0); in gxf_write_flt_packet()
430 return updatePacketSize(pb, pos); in gxf_write_flt_packet()
436 AVIOContext *pb = s->pb; in gxf_write_umf_material_description() local
461 avio_wl32(pb, gxf->flags); in gxf_write_umf_material_description()
462 avio_wl32(pb, gxf->nb_fields); /* length of the longest track */ in gxf_write_umf_material_description()
463 avio_wl32(pb, gxf->nb_fields); /* length of the shortest track */ in gxf_write_umf_material_description()
464 avio_wl32(pb, 0); /* mark in */ in gxf_write_umf_material_description()
465 avio_wl32(pb, gxf->nb_fields); /* mark out */ in gxf_write_umf_material_description()
466 avio_wl32(pb, timecode_in); /* timecode mark in */ in gxf_write_umf_material_description()
467 avio_wl32(pb, timecode_out); /* timecode mark out */ in gxf_write_umf_material_description()
468 avio_wl64(pb, timestamp); /* modification time */ in gxf_write_umf_material_description()
469 avio_wl64(pb, timestamp); /* creation time */ in gxf_write_umf_material_description()
470 avio_wl16(pb, 0); /* reserved */ in gxf_write_umf_material_description()
471 avio_wl16(pb, 0); /* reserved */ in gxf_write_umf_material_description()
472 avio_wl16(pb, gxf->audio_tracks); in gxf_write_umf_material_description()
473 avio_wl16(pb, 1); /* timecode track count */ in gxf_write_umf_material_description()
474 avio_wl16(pb, 0); /* reserved */ in gxf_write_umf_material_description()
475 avio_wl16(pb, gxf->mpeg_tracks); in gxf_write_umf_material_description()
482 AVIOContext *pb = s->pb; in gxf_write_umf_payload() local
484 avio_wl32(pb, gxf->umf_length); /* total length of the umf data */ in gxf_write_umf_payload()
485 avio_wl32(pb, 3); /* version */ in gxf_write_umf_payload()
486 avio_wl32(pb, s->nb_streams+1); in gxf_write_umf_payload()
487 avio_wl32(pb, gxf->umf_track_offset); /* umf track section offset */ in gxf_write_umf_payload()
488 avio_wl32(pb, gxf->umf_track_size); in gxf_write_umf_payload()
489 avio_wl32(pb, s->nb_streams+1); in gxf_write_umf_payload()
490 avio_wl32(pb, gxf->umf_media_offset); in gxf_write_umf_payload()
491 avio_wl32(pb, gxf->umf_media_size); in gxf_write_umf_payload()
492 avio_wl32(pb, gxf->umf_length); /* user data offset */ in gxf_write_umf_payload()
493 avio_wl32(pb, 0); /* user data size */ in gxf_write_umf_payload()
494 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_payload()
495 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_payload()
501 AVIOContext *pb = s->pb; in gxf_write_umf_track_description() local
503 int64_t pos = avio_tell(pb); in gxf_write_umf_track_description()
509 avio_wl16(pb, sc->media_info); in gxf_write_umf_track_description()
510 avio_wl16(pb, 1); in gxf_write_umf_track_description()
513 avio_wl16(pb, gxf->timecode_track.media_info); in gxf_write_umf_track_description()
514 avio_wl16(pb, 1); in gxf_write_umf_track_description()
516 return avio_tell(pb) - pos; in gxf_write_umf_track_description()
519 static int gxf_write_umf_media_mpeg(AVIOContext *pb, AVStream *st) in gxf_write_umf_media_mpeg() argument
524 avio_wl32(pb, 2); in gxf_write_umf_media_mpeg()
526 avio_wl32(pb, 1); /* default to 420 */ in gxf_write_umf_media_mpeg()
527 avio_wl32(pb, sc->first_gop_closed == 1); /* closed = 1, open = 0, unknown = 255 */ in gxf_write_umf_media_mpeg()
528 avio_wl32(pb, 3); /* top = 1, bottom = 2, frame = 3, unknown = 0 */ in gxf_write_umf_media_mpeg()
529 avio_wl32(pb, 1); /* I picture per GOP */ in gxf_write_umf_media_mpeg()
530 avio_wl32(pb, sc->p_per_gop); in gxf_write_umf_media_mpeg()
531 avio_wl32(pb, sc->b_per_i_or_p); in gxf_write_umf_media_mpeg()
533 avio_wl32(pb, 2); in gxf_write_umf_media_mpeg()
535 avio_wl32(pb, 1); in gxf_write_umf_media_mpeg()
537 avio_wl32(pb, 0); in gxf_write_umf_media_mpeg()
538 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_mpeg()
542 static int gxf_write_umf_media_timecode(AVIOContext *pb, int drop) in gxf_write_umf_media_timecode() argument
544 avio_wl32(pb, drop); /* drop frame */ in gxf_write_umf_media_timecode()
545 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
546 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
547 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
548 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
549 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
550 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
551 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_timecode()
555 static int gxf_write_umf_media_dv(AVIOContext *pb, GXFStreamContext *sc, AVStream *st) in gxf_write_umf_media_dv() argument
561 avio_wl32(pb, dv_umf_data); in gxf_write_umf_media_dv()
562 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
563 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
564 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
565 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
566 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
567 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
568 avio_wl32(pb, 0); in gxf_write_umf_media_dv()
572 static int gxf_write_umf_media_audio(AVIOContext *pb, GXFStreamContext *sc) in gxf_write_umf_media_audio() argument
574 avio_wl64(pb, av_double2int(1)); /* sound level to begin to */ in gxf_write_umf_media_audio()
575 avio_wl64(pb, av_double2int(1)); /* sound level to begin to */ in gxf_write_umf_media_audio()
576 avio_wl32(pb, 0); /* number of fields over which to ramp up sound level */ in gxf_write_umf_media_audio()
577 avio_wl32(pb, 0); /* number of fields over which to ramp down sound level */ in gxf_write_umf_media_audio()
578 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_audio()
579 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_audio()
586 AVIOContext *pb = s->pb; in gxf_write_umf_media_description() local
590 pos = avio_tell(pb); in gxf_write_umf_media_description()
601 startpos = avio_tell(pb); in gxf_write_umf_media_description()
602 avio_wl16(pb, 0); /* length */ in gxf_write_umf_media_description()
603 avio_wl16(pb, sc->media_info); in gxf_write_umf_media_description()
604 avio_wl16(pb, 0); /* reserved */ in gxf_write_umf_media_description()
605 avio_wl16(pb, 0); /* reserved */ in gxf_write_umf_media_description()
606 avio_wl32(pb, gxf->nb_fields); in gxf_write_umf_media_description()
607 avio_wl32(pb, 0); /* attributes rw, ro */ in gxf_write_umf_media_description()
608 avio_wl32(pb, 0); /* mark in */ in gxf_write_umf_media_description()
609 avio_wl32(pb, gxf->nb_fields); /* mark out */ in gxf_write_umf_media_description()
610 avio_write(pb, ES_NAME_PATTERN, strlen(ES_NAME_PATTERN)); in gxf_write_umf_media_description()
611 avio_wb16(pb, sc->media_info); in gxf_write_umf_media_description()
613 avio_w8(pb, 0); in gxf_write_umf_media_description()
614 avio_wl32(pb, sc->track_type); in gxf_write_umf_media_description()
615 avio_wl32(pb, sc->sample_rate); in gxf_write_umf_media_description()
616 avio_wl32(pb, sc->sample_size); in gxf_write_umf_media_description()
617 avio_wl32(pb, 0); /* reserved */ in gxf_write_umf_media_description()
620 gxf_write_umf_media_timecode(pb, gxf->tc.drop); in gxf_write_umf_media_description()
626 gxf_write_umf_media_mpeg(pb, st); in gxf_write_umf_media_description()
629 gxf_write_umf_media_audio(pb, sc); in gxf_write_umf_media_description()
632 gxf_write_umf_media_dv(pb, sc, st); in gxf_write_umf_media_description()
637 curpos = avio_tell(pb); in gxf_write_umf_media_description()
638 avio_seek(pb, startpos, SEEK_SET); in gxf_write_umf_media_description()
639 avio_wl16(pb, curpos - startpos); in gxf_write_umf_media_description()
640 avio_seek(pb, curpos, SEEK_SET); in gxf_write_umf_media_description()
642 return avio_tell(pb) - pos; in gxf_write_umf_media_description()
648 AVIOContext *pb = s->pb; in gxf_write_umf_packet() local
649 int64_t pos = avio_tell(pb); in gxf_write_umf_packet()
651 gxf_write_packet_header(pb, PKT_UMF); in gxf_write_umf_packet()
654 avio_w8(pb, 3); /* first and last (only) packet */ in gxf_write_umf_packet()
655 avio_wb32(pb, gxf->umf_length); /* data length */ in gxf_write_umf_packet()
657 gxf->umf_start_offset = avio_tell(pb); in gxf_write_umf_packet()
662 gxf->umf_length = avio_tell(pb) - gxf->umf_start_offset; in gxf_write_umf_packet()
663 return updatePacketSize(pb, pos); in gxf_write_umf_packet()
702 AVIOContext *pb = s->pb; in gxf_write_header() local
710 if (!(pb->seekable & AVIO_SEEKABLE_NORMAL)) { in gxf_write_header()
838 static int gxf_write_eos_packet(AVIOContext *pb) in gxf_write_eos_packet() argument
840 int64_t pos = avio_tell(pb); in gxf_write_eos_packet()
842 gxf_write_packet_header(pb, PKT_EOS); in gxf_write_eos_packet()
843 return updatePacketSize(pb, pos); in gxf_write_eos_packet()
849 AVIOContext *pb = s->pb; in gxf_write_trailer() local
854 gxf_write_eos_packet(pb); in gxf_write_trailer()
855 end = avio_tell(pb); in gxf_write_trailer()
856 avio_seek(pb, 0, SEEK_SET); in gxf_write_trailer()
864 avio_seek(pb, gxf->map_offsets[i], SEEK_SET); in gxf_write_trailer()
869 avio_seek(pb, end, SEEK_SET); in gxf_write_trailer()
897 AVIOContext *pb = s->pb; in gxf_write_media_preamble() local
911 avio_w8(pb, sc->media_type); in gxf_write_media_preamble()
912 avio_w8(pb, st->index); in gxf_write_media_preamble()
913 avio_wb32(pb, field_nb); in gxf_write_media_preamble()
915 avio_wb16(pb, 0); in gxf_write_media_preamble()
916 avio_wb16(pb, size / 2); in gxf_write_media_preamble()
920 avio_w8(pb, 0x0d); in gxf_write_media_preamble()
923 avio_w8(pb, 0x0f); in gxf_write_media_preamble()
926 avio_w8(pb, 0x0e); in gxf_write_media_preamble()
929 avio_wb24(pb, size); in gxf_write_media_preamble()
931 avio_w8(pb, size / 4096); in gxf_write_media_preamble()
932 avio_wb24(pb, 0); in gxf_write_media_preamble()
934 avio_wb32(pb, size); in gxf_write_media_preamble()
935 avio_wb32(pb, field_nb); in gxf_write_media_preamble()
936 avio_w8(pb, 1); /* flags */ in gxf_write_media_preamble()
937 avio_w8(pb, 0); /* reserved */ in gxf_write_media_preamble()
944 AVIOContext *pb = s->pb; in gxf_write_packet() local
946 int64_t pos = avio_tell(pb); in gxf_write_packet()
948 unsigned packet_start_offset = avio_tell(pb) / 1024; in gxf_write_packet()
951 gxf_write_packet_header(pb, PKT_MEDIA); in gxf_write_packet()
957 avio_write(pb, pkt->data, pkt->size); in gxf_write_packet()
958 gxf_write_padding(pb, padding); in gxf_write_packet()
976 updatePacketSize(pb, pos); in gxf_write_packet()