Lines Matching refs:avpkt
33 int ff_alloc_packet2(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, int64_t min_size) in ff_alloc_packet2() argument
41 av_assert0(!avpkt->data); in ff_alloc_packet2()
45 avpkt->data = avctx->internal->byte_buffer; in ff_alloc_packet2()
46 avpkt->size = size; in ff_alloc_packet2()
49 if (!avpkt->data) { in ff_alloc_packet2()
50 int ret = av_new_packet(avpkt, size); in ff_alloc_packet2()
59 int avcodec_default_get_encode_buffer(AVCodecContext *avctx, AVPacket *avpkt, int flags) in avcodec_default_get_encode_buffer() argument
63 if (avpkt->size < 0 || avpkt->size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) in avcodec_default_get_encode_buffer()
66 if (avpkt->data || avpkt->buf) { in avcodec_default_get_encode_buffer()
71 ret = av_buffer_realloc(&avpkt->buf, avpkt->size + AV_INPUT_BUFFER_PADDING_SIZE); in avcodec_default_get_encode_buffer()
73 av_log(avctx, AV_LOG_ERROR, "Failed to allocate packet of size %d\n", avpkt->size); in avcodec_default_get_encode_buffer()
76 avpkt->data = avpkt->buf->data; in avcodec_default_get_encode_buffer()
77 memset(avpkt->data + avpkt->size, 0, AV_INPUT_BUFFER_PADDING_SIZE); in avcodec_default_get_encode_buffer()
82 int ff_get_encode_buffer(AVCodecContext *avctx, AVPacket *avpkt, int64_t size, int flags) in ff_get_encode_buffer() argument
89 av_assert0(!avpkt->data && !avpkt->buf); in ff_get_encode_buffer()
91 avpkt->size = size; in ff_get_encode_buffer()
92 ret = avctx->get_encode_buffer(avctx, avpkt, flags); in ff_get_encode_buffer()
96 if (!avpkt->data || !avpkt->buf) { in ff_get_encode_buffer()
106 av_packet_unref(avpkt); in ff_get_encode_buffer()
175 static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt) in encode_simple_internal() argument
212 ret = ff_thread_video_encode_frame(avctx, avpkt, frame, &got_packet); in encode_simple_internal()
214 ret = avctx->codec->encode2(avctx, avpkt, frame, &got_packet); in encode_simple_internal()
217 avpkt->pts = avpkt->dts = frame->pts; in encode_simple_internal()
225 if (avpkt->data) { in encode_simple_internal()
226 ret = av_packet_make_refcounted(avpkt); in encode_simple_internal()
233 if (avpkt->pts == AV_NOPTS_VALUE) in encode_simple_internal()
234 avpkt->pts = frame->pts; in encode_simple_internal()
235 if (!avpkt->duration) in encode_simple_internal()
236 avpkt->duration = ff_samples_to_time_base(avctx, in encode_simple_internal()
244 avpkt->flags |= AV_PKT_FLAG_KEY; in encode_simple_internal()
245 avpkt->dts = avpkt->pts; in encode_simple_internal()
254 av_packet_unref(avpkt); in encode_simple_internal()
265 av_assert0(!avpkt->data || avpkt->buf); in encode_simple_internal()
270 static int encode_simple_receive_packet(AVCodecContext *avctx, AVPacket *avpkt) in encode_simple_receive_packet() argument
274 while (!avpkt->data && !avpkt->side_data) { in encode_simple_receive_packet()
275 ret = encode_simple_internal(avctx, avpkt); in encode_simple_receive_packet()
283 static int encode_receive_packet_internal(AVCodecContext *avctx, AVPacket *avpkt) in encode_receive_packet_internal() argument
291 av_assert0(!avpkt->data && !avpkt->side_data); in encode_receive_packet_internal()
301 ret = avctx->codec->receive_packet(avctx, avpkt); in encode_receive_packet_internal()
303 av_packet_unref(avpkt); in encode_receive_packet_internal()
307 av_assert0(!avpkt->data || avpkt->buf); in encode_receive_packet_internal()
309 ret = encode_simple_receive_packet(avctx, avpkt); in encode_receive_packet_internal()
395 int attribute_align_arg avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt) in avcodec_receive_packet() argument
400 av_packet_unref(avpkt); in avcodec_receive_packet()
406 av_packet_move_ref(avpkt, avci->buffer_pkt); in avcodec_receive_packet()
408 ret = encode_receive_packet_internal(avctx, avpkt); in avcodec_receive_packet()
417 static int compat_encode(AVCodecContext *avctx, AVPacket *avpkt, in compat_encode() argument
449 av_packet_move_ref(&user_pkt, avpkt); in compat_encode()
451 ret = avcodec_receive_packet(avctx, avpkt); in compat_encode()
458 if (avpkt != avci->compat_encode_packet) { in compat_encode()
459 if (avpkt->data && user_pkt.data) { in compat_encode()
460 if (user_pkt.size >= avpkt->size) { in compat_encode()
461 memcpy(user_pkt.data, avpkt->data, avpkt->size); in compat_encode()
462 av_buffer_unref(&avpkt->buf); in compat_encode()
463 avpkt->buf = user_pkt.buf; in compat_encode()
464 avpkt->data = user_pkt.data; in compat_encode()
469 … av_log(avctx, AV_LOG_ERROR, "Provided packet is too small, needs to be %d\n", avpkt->size); in compat_encode()
470 av_packet_unref(avpkt); in compat_encode()
477 avpkt = avci->compat_encode_packet; in compat_encode()
485 av_packet_unref(avpkt); in compat_encode()
501 AVPacket *avpkt, in avcodec_encode_audio2() argument
505 int ret = compat_encode(avctx, avpkt, got_packet_ptr, frame); in avcodec_encode_audio2()
508 av_packet_unref(avpkt); in avcodec_encode_audio2()
514 AVPacket *avpkt, in avcodec_encode_video2() argument
518 int ret = compat_encode(avctx, avpkt, got_packet_ptr, frame); in avcodec_encode_video2()
521 av_packet_unref(avpkt); in avcodec_encode_video2()