Home | History | Annotate | Download | only in libvpx

Lines Matching refs:glob

554 void Ebml_Write(EbmlGlobal *glob, const void *buffer_in, unsigned long len)
556 (void) fwrite(buffer_in, 1, len, glob->stream);
563 Ebml_Write(glob, &x, 1); \
565 void Ebml_Serialize(EbmlGlobal *glob, const void *buffer_in, int buffer_size, unsigned long len)
599 static void Ebml_SerializeUnsigned32(EbmlGlobal *glob, unsigned long class_id, uint64_t ui)
602 Ebml_WriteID(glob, class_id);
603 Ebml_Serialize(glob, &sizeSerialized, sizeof(sizeSerialized), 1);
604 Ebml_Serialize(glob, &ui, sizeof(ui), 4);
609 Ebml_StartSubElement(EbmlGlobal *glob, EbmlLoc *ebmlLoc,
616 Ebml_WriteID(glob, class_id);
617 *ebmlLoc = ftello(glob->stream);
618 Ebml_Serialize(glob, &unknownLen, sizeof(unknownLen), 8);
622 Ebml_EndSubElement(EbmlGlobal *glob, EbmlLoc *ebmlLoc)
628 pos = ftello(glob->stream);
635 fseeko(glob->stream, *ebmlLoc, SEEK_SET);
636 Ebml_Serialize(glob, &size, sizeof(size), 8);
639 fseeko(glob->stream, pos, SEEK_SET);
710 write_webm_file_header(EbmlGlobal *glob,
717 Ebml_StartSubElement(glob, &start, EBML);
718 Ebml_SerializeUnsigned(glob, EBMLVersion, 1);
719 Ebml_SerializeUnsigned(glob, EBMLReadVersion, 1);
720 Ebml_SerializeUnsigned(glob, EBMLMaxIDLength, 4);
721 Ebml_SerializeUnsigned(glob, EBMLMaxSizeLength, 8);
722 Ebml_SerializeString(glob, DocType, "webm");
723 Ebml_SerializeUnsigned(glob, DocTypeVersion, 2);
724 Ebml_SerializeUnsigned(glob, DocTypeReadVersion, 2);
725 Ebml_EndSubElement(glob, &start);
728 Ebml_StartSubElement(glob, &glob->startSegment, Segment);
729 glob->position_reference = ftello(glob->stream);
730 glob->framerate = *fps;
731 write_webm_seek_info(glob);
735 glob->track_pos = ftello(glob->stream);
736 Ebml_StartSubElement(glob, &trackStart, Tracks);
742 Ebml_StartSubElement(glob, &start, TrackEntry);
743 Ebml_SerializeUnsigned(glob, TrackNumber, trackNumber);
744 glob->track_id_pos = ftello(glob->stream);
745 Ebml_SerializeUnsigned32(glob, TrackUID, trackID);
746 Ebml_SerializeUnsigned(glob, TrackType, 1);
747 Ebml_SerializeString(glob, CodecID, "V_VP8");
754 Ebml_StartSubElement(glob, &videoStart, Video);
755 Ebml_SerializeUnsigned(glob, PixelWidth, pixelWidth);
756 Ebml_SerializeUnsigned(glob, PixelHeight, pixelHeight);
757 Ebml_SerializeUnsigned(glob, StereoMode, stereo_fmt);
758 Ebml_SerializeFloat(glob, FrameRate, frameRate);
759 Ebml_EndSubElement(glob, &videoStart);
761 Ebml_EndSubElement(glob, &start); /* Track Entry */
763 Ebml_EndSubElement(glob, &trackStart);
771 write_webm_block(EbmlGlobal *glob,
785 if(pts_ms <= glob->last_pts_ms)
786 pts_ms = glob->last_pts_ms + 1;
787 glob->last_pts_ms = pts_ms;
790 if(pts_ms - glob->cluster_timecode > SHRT_MAX)
793 block_timecode = (unsigned short)pts_ms - glob->cluster_timecode;
798 if(glob->cluster_open)
799 Ebml_EndSubElement(glob, &glob->startCluster);
803 glob->cluster_open = 1;
804 glob->cluster_timecode = (uint32_t)pts_ms;
805 glob->cluster_pos = ftello(glob->stream);
806 Ebml_StartSubElement(glob, &glob->startCluster, Cluster); /* cluster */
807 Ebml_SerializeUnsigned(glob, Timecode, glob->cluster_timecode);
814 new_cue_list = realloc(glob->cue_list,
815 (glob->cues+1) * sizeof(struct cue_entry));
817 glob->cue_list = new_cue_list;
821 cue = &glob->cue_list[glob->cues];
822 cue->time = glob->cluster_timecode;
823 cue->loc = glob->cluster_pos;
824 glob->cues++;
829 Ebml_WriteID(glob, SimpleBlock);
833 Ebml_Serialize(glob, &block_length, sizeof(block_length), 4);
837 Ebml_Write(glob, &track_number, 1);
839 Ebml_Serialize(glob, &block_timecode, sizeof(block_timecode), 2);
846 Ebml_Write(glob, &flags, 1);
848 Ebml_Write(glob, pkt->data.frame.buf, (unsigned long)pkt->data.frame.sz);
853 write_webm_file_footer(EbmlGlobal *glob, long hash)
856 if(glob->cluster_open)
857 Ebml_EndSubElement(glob, &glob->startCluster);
863 glob->cue_pos = ftello(glob->stream);
864 Ebml_StartSubElement(glob, &start, Cues);
865 for(i=0; i<glob->cues; i++)
867 struct cue_entry *cue = &glob->cue_list[i];
870 Ebml_StartSubElement(glob, &start, CuePoint);
874 Ebml_SerializeUnsigned(glob, CueTime, cue->time);
876 Ebml_StartSubElement(glob, &start, CueTrackPositions);
877 Ebml_SerializeUnsigned(glob, CueTrack, 1);
878 Ebml_SerializeUnsigned64(glob, CueClusterPosition,
879 cue->loc - glob->position_reference);
880 Ebml_EndSubElement(glob, &start);
882 Ebml_EndSubElement(glob, &start);
884 Ebml_EndSubElement(glob, &start);
887 Ebml_EndSubElement(glob, &glob->startSegment);
890 write_webm_seek_info(glob);
893 fseeko(glob->stream, glob->track_id_pos, SEEK_SET);
894 Ebml_SerializeUnsigned32(glob, TrackUID, glob->debug ? 0xDEADBEEF : hash);
896 fseeko(glob->stream, 0, SEEK_END);