Lines Matching defs:pkt
805 AVPacket *pkt)
809 if (pkt->flags & AV_PKT_FLAG_KEY)
811 if (pkt->stream_index != fc->stream_id)
813 if (pkt->size / fc->size_mul)
815 if (pkt->pts - nus->last_pts != fc->pts_delta)
817 if (pkt->side_data_elems && nut->version > 3)
819 if (pkt->size > 2 * nut->max_distance)
821 if (FFABS(pkt->pts - nus->last_pts) > nus->max_pts_distance)
824 if (pkt->size < nut->header_len[fc->header_idx] ||
825 pkt->size > 4096 ||
826 memcmp(pkt->data, nut->header [fc->header_idx],
833 static int find_best_header_idx(NUTContext *nut, AVPacket *pkt)
839 if (pkt->size > 4096)
843 if (pkt->size >= nut->header_len[i]
845 && !memcmp(pkt->data, nut->header[i], nut->header_len[i])) {
852 static int write_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int is_meta)
865 for (i = 0; i<pkt->side_data_elems; i++) {
866 const uint8_t *data = pkt->side_data[i].data;
867 int size = pkt->side_data[i].size;
871 if ( pkt->side_data[i].type == AV_PKT_DATA_METADATA_UPDATE
872 || pkt->side_data[i].type == AV_PKT_DATA_STRINGS_METADATA) {
893 switch (pkt->side_data[i].type) {
898 if (pkt->side_data[i].type == AV_PKT_DATA_PALETTE) {
900 } else if(pkt->side_data[i].type == AV_PKT_DATA_NEW_EXTRADATA) {
902 } else if(pkt->side_data[i].type == AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL) {
908 pkt->side_data[i].type);
913 put_v(dyn_bc, pkt->side_data[i].size);
914 avio_write(dyn_bc, data, pkt->side_data[i].size);
977 static int nut_write_packet(AVFormatContext *s, AVPacket *pkt)
980 StreamContext *nus = &nut->stream[pkt->stream_index];
986 int key_frame = !!(pkt->flags & AV_PKT_FLAG_KEY);
990 int data_size = pkt->size;
993 if (pkt->pts < 0) {
996 pkt->stream_index, pkt->pts);
997 if (pkt->pts == AV_NOPTS_VALUE)
1002 if (pkt->side_data_elems && nut->version > 3) {
1006 ret = write_sm_data(s, sm_bc, pkt, 0);
1008 ret = write_sm_data(s, sm_bc, pkt, 1);
1030 ff_nut_reset_ts(nut, *nus->time_base, pkt->dts);
1034 int64_t dts_tb = av_rescale_rnd(pkt->dts,
1055 put_tt(nut, nus->time_base, dyn_bc, pkt->dts);
1066 if ((ret = ff_nut_add_sp(nut, nut->last_syncpoint_pos, 0 /*unused*/, pkt->dts)) < 0)
1085 coded_pts = pkt->pts & ((1 << nus->msb_pts_shift) - 1);
1086 if (ff_lsb2full(nus, coded_pts) != pkt->pts)
1087 coded_pts = pkt->pts + (1 << nus->msb_pts_shift);
1089 best_header_idx = find_best_header_idx(nut, pkt);
1100 needed_flags = get_needed_flags(nut, nus, fc, pkt);
1114 length += get_v_length(pkt->stream_index);
1151 needed_flags = get_needed_flags(nut, nus, fc, pkt);
1160 if (flags & FLAG_STREAM_ID) put_v(bc, pkt->stream_index);
1171 avio_write(bc, pkt->data + nut->header_len[header_idx], pkt->size - nut->header_len[header_idx]);
1174 nus->last_pts = pkt->pts;
1179 s->streams[pkt->stream_index],
1181 pkt->pts,
1186 nus->keyframe_pts[nut->sp_count] = pkt->pts;
1189 if (!nut->max_pts_tb || av_compare_ts(nut->max_pts, *nut->max_pts_tb, pkt->pts, *nus->time_base) < 0) {
1190 nut->max_pts = pkt->pts;