Lines Matching defs:pkt
579 av_packet_free(&ost->pkt);
597 AVPacket *pkt;
598 while (av_fifo_read(ost->muxing_queue, &pkt, 1) >= 0)
599 av_packet_free(&pkt);
610 av_packet_free(&input_files[i]->pkt);
617 av_packet_free(&ist->pkt);
725 static void output_packet(OutputFile *of, AVPacket *pkt,
732 ret = av_bsf_send_packet(ost->bsf_ctx, eof ? NULL : pkt);
735 while ((ret = av_bsf_receive_packet(ost->bsf_ctx, pkt)) >= 0)
736 of_write_packet(of, pkt, ost, 0);
740 of_write_packet(of, pkt, ost, 0);
837 static void update_video_stats(OutputStream *ost, const AVPacket *pkt, int write_vstats)
839 const uint8_t *sd = av_packet_get_side_data(pkt, AV_PKT_DATA_QUALITY_STATS,
879 fprintf(vstats_file,"f_size= %6d ", pkt->size);
881 ti1 = pkt->dts * av_q2d(ost->mux_timebase);
885 bitrate = (pkt->size * 8) / av_q2d(enc->time_base) / 1000.0;
895 AVPacket *pkt = ost->pkt;
922 ret = avcodec_receive_packet(enc, pkt);
934 output_packet(of, pkt, ost, 1);
946 av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &enc->time_base),
947 av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &enc->time_base),
948 av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &enc->time_base));
951 av_packet_rescale_ts(pkt, enc->time_base, ost->mux_timebase);
958 av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &enc->time_base),
959 av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &enc->time_base),
960 av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &enc->time_base));
964 update_video_stats(ost, pkt, !!vstats_filename);
968 output_packet(of, pkt, ost, 0);
1001 AVPacket *pkt = ost->pkt;
1059 av_packet_unref(pkt);
1060 pkt->data = subtitle_out;
1061 pkt->size = subtitle_out_size;
1062 pkt->pts = av_rescale_q(sub->pts, AV_TIME_BASE_Q, ost->mux_timebase);
1063 pkt->duration = av_rescale_q(sub->end_display_time, (AVRational){ 1, 1000 }, ost->mux_timebase);
1068 pkt->pts += av_rescale_q(sub->start_display_time, (AVRational){ 1, 1000 }, ost->mux_timebase);
1070 pkt->pts += av_rescale_q(sub->end_display_time, (AVRational){ 1, 1000 }, ost->mux_timebase);
1072 pkt->dts = pkt->pts;
1073 output_packet(of, pkt, ost, 0);
1811 static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *pkt)
1817 AVPacket *opkt = ost->pkt;
1821 if (!pkt) {
1826 if (!ost->streamcopy_started && !(pkt->flags & AV_PKT_FLAG_KEY) &&
1834 if (pkt->pts == AV_NOPTS_VALUE ?
1836 pkt->pts < av_rescale_q(comp_start, AV_TIME_BASE_Q, ist->st->time_base))
1858 if (av_packet_ref(opkt, pkt) < 0)
1861 if (pkt->pts != AV_NOPTS_VALUE)
1862 opkt->pts = av_rescale_q(pkt->pts, ist->st->time_base, ost->mux_timebase) - ost_tb_start_time;
1864 if (pkt->dts == AV_NOPTS_VALUE) {
1867 int duration = av_get_audio_frame_duration(ist->dec_ctx, pkt->size);
1870 opkt->dts = av_rescale_delta(ist->st->time_base, pkt->dts,
1876 opkt->dts = av_rescale_q(pkt->dts, ist->st->time_base, ost->mux_timebase);
1879 opkt->duration = av_rescale_q(pkt->duration, ist->st->time_base, ost->mux_timebase);
2045 // it again with pkt=NULL. pkt==NULL is treated differently from pkt->size==0
2046 // (pkt==NULL means get more output, pkt->size==0 is a flush/drain packet)
2047 static int decode(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *pkt)
2053 if (pkt) {
2054 ret = avcodec_send_packet(avctx, pkt);
2088 static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output,
2097 ret = decode(avctx, decoded_frame, got_output, pkt);
2125 } else if (pkt && pkt->pts != AV_NOPTS_VALUE) {
2126 decoded_frame->pts = pkt->pts;
2132 if (pkt && pkt->duration && ist->prev_pkt_pts != AV_NOPTS_VALUE &&
2133 pkt->pts != AV_NOPTS_VALUE && pkt->pts - ist->prev_pkt_pts > pkt->duration)
2135 if (pkt)
2136 ist->prev_pkt_pts = pkt->pts;
2148 static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output, int64_t *duration_pts, int eof,
2159 if (!eof && pkt && pkt->size == 0)
2164 if (pkt) {
2165 pkt->dts = dts; // ffmpeg.c probably shouldn't do this
2179 ret = decode(ist->dec_ctx, decoded_frame, got_output, pkt);
2273 static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output,
2279 &subtitle, got_output, pkt);
2285 if (!pkt->size)
2363 /* pkt = NULL means EOF (needed to flush decoder buffers) */
2364 static int process_input_packet(InputStream *ist, const AVPacket *pkt, int no_eof)
2370 AVPacket *avpkt = ist->pkt;
2376 if (pkt && pkt->pts != AV_NOPTS_VALUE && !ist->decoding_needed) {
2378 ist->dts += av_rescale_q(pkt->pts, ist->st->time_base, AV_TIME_BASE_Q);
2389 if (pkt) {
2391 ret = av_packet_ref(avpkt, pkt);
2396 if (pkt && pkt->dts != AV_NOPTS_VALUE) {
2397 ist->next_dts = ist->dts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
2419 ret = decode_video (ist, repeating ? NULL : avpkt, &got_output, &duration_pts, !pkt,
2421 if (!repeating || !pkt || got_output) {
2422 if (pkt && pkt->duration) {
2423 duration_dts = av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
2450 if (!pkt && ret >= 0)
2490 if (!pkt)
2498 if (!pkt && ist->decoding_needed && eof_reached && !no_eof) {
2507 if (!ist->decoding_needed && pkt) {
2511 av_assert1(pkt->duration >= 0);
2516 ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
2525 } else if (pkt->duration) {
2526 ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
2546 do_streamcopy(ist, ost, pkt);
3261 static void report_new_stream(int input_index, AVPacket *pkt)
3264 AVStream *st = file->ctx->streams[pkt->stream_index];
3266 if (pkt->stream_index < file->nb_streams_warn)
3271 input_index, pkt->stream_index,
3272 pkt->pos, av_ts2timestr(pkt->dts, &st->time_base));
3273 file->nb_streams_warn = pkt->stream_index + 1;
3646 AVPacket *pkt = f->pkt, *queue_pkt;
3651 ret = av_read_frame(f->ctx, pkt);
3663 av_packet_unref(pkt);
3667 av_packet_move_ref(queue_pkt, pkt);
3694 AVPacket *pkt;
3699 while (av_thread_message_queue_recv(f->in_thread_queue, &pkt, 0) >= 0)
3700 av_packet_free(&pkt);
3729 f->thread_queue_size, sizeof(f->pkt));
3754 static int get_input_packet_mt(InputFile *f, AVPacket **pkt)
3756 return av_thread_message_queue_recv(f->in_thread_queue, pkt,
3762 static int get_input_packet(InputFile *f, AVPacket **pkt)
3785 return get_input_packet_mt(f, pkt);
3787 *pkt = f->pkt;
3788 return av_read_frame(f->ctx, *pkt);
3900 AVPacket *pkt;
3907 ret = get_input_packet(ifile, &pkt);
3938 ret = get_input_packet(ifile, &pkt);
3976 av_pkt_dump_log2(NULL, AV_LOG_INFO, pkt, do_hex_dump,
3977 is->streams[pkt->stream_index]);
3981 if (pkt->stream_index >= ifile->nb_streams) {
3982 report_new_stream(file_index, pkt);
3986 ist = input_streams[ifile->ist_index + pkt->stream_index];
3988 ist->data_size += pkt->size;
3994 if (pkt->flags & AV_PKT_FLAG_CORRUPT) {
3996 "%s: corrupt input packet in stream %d\n", is->url, pkt->stream_index);
4004 ifile->ist_index + pkt->stream_index, av_get_media_type_string(ist->dec_ctx->codec_type),
4007 av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ist->st->time_base),
4008 av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ist->st->time_base),
4009 av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &ist->st->time_base),
4039 if(stime2 > stime && pkt->dts != AV_NOPTS_VALUE && pkt->dts > stime + (1LL<<(ist->st->pts_wrap_bits-1))) {
4040 pkt->dts -= 1ULL<<ist->st->pts_wrap_bits;
4043 if(stime2 > stime && pkt->pts != AV_NOPTS_VALUE && pkt->pts > stime + (1LL<<(ist->st->pts_wrap_bits-1))) {
4044 pkt->pts -= 1ULL<<ist->st->pts_wrap_bits;
4058 if (av_packet_get_side_data(pkt, src_sd->type, NULL))
4061 dst_data = av_packet_new_side_data(pkt, src_sd->type, src_sd->size);
4069 if (pkt->dts != AV_NOPTS_VALUE)
4070 pkt->dts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, ist->st->time_base);
4071 if (pkt->pts != AV_NOPTS_VALUE)
4072 pkt->pts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, ist->st->time_base);
4074 if (pkt->pts != AV_NOPTS_VALUE)
4075 pkt->pts *= ist->ts_scale;
4076 if (pkt->dts != AV_NOPTS_VALUE)
4077 pkt->dts *= ist->ts_scale;
4079 pkt_dts = av_rescale_q_rnd(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
4091 pkt->dts -= av_rescale_q(delta, AV_TIME_BASE_Q, ist->st->time_base);
4092 if (pkt->pts != AV_NOPTS_VALUE)
4093 pkt->pts -= av_rescale_q(delta, AV_TIME_BASE_Q, ist->st->time_base);
4098 if (pkt->pts != AV_NOPTS_VALUE) {
4099 pkt->pts += duration;
4100 ist->max_pts = FFMAX(pkt->pts, ist->max_pts);
4101 ist->min_pts = FFMIN(pkt->pts, ist->min_pts);
4104 if (pkt->dts != AV_NOPTS_VALUE)
4105 pkt->dts += duration;
4107 pkt_dts = av_rescale_q_rnd(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
4111 int64_t wrap_dts = av_rescale_q_rnd(pkt->dts + (1LL<<ist->st->pts_wrap_bits),
4134 pkt->dts -= av_rescale_q(delta, AV_TIME_BASE_Q, ist->st->time_base);
4135 if (pkt->pts != AV_NOPTS_VALUE)
4136 pkt->pts -= av_rescale_q(delta, AV_TIME_BASE_Q, ist->st->time_base);
4141 av_log(NULL, AV_LOG_WARNING, "DTS %"PRId64", next:%"PRId64" st:%d invalid dropping\n", pkt->dts, ist->next_dts, pkt->stream_index);
4142 pkt->dts = AV_NOPTS_VALUE;
4144 if (pkt->pts != AV_NOPTS_VALUE){
4145 int64_t pkt_pts = av_rescale_q(pkt->pts, ist->st->time_base, AV_TIME_BASE_Q);
4149 av_log(NULL, AV_LOG_WARNING, "PTS %"PRId64", next:%"PRId64" invalid dropping st:%d\n", pkt->pts, ist->next_dts, pkt->stream_index);
4150 pkt->pts = AV_NOPTS_VALUE;
4156 if (pkt->dts != AV_NOPTS_VALUE)
4157 ifile->last_ts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
4161 ifile->ist_index + pkt->stream_index, av_get_media_type_string(ist->dec_ctx->codec_type),
4162 av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ist->st->time_base),
4163 av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ist->st->time_base),
4164 av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &ist->st->time_base),
4169 sub2video_heartbeat(ist, pkt->pts);
4171 process_input_packet(ist, pkt, 0);
4176 av_packet_free(&pkt);
4179 av_packet_unref(pkt);