Lines Matching defs:avctx

246 static void png_write_image_data(AVCodecContext *avctx,
249 PNGEncContext *s = avctx->priv_data;
253 if (avctx->codec_id == AV_CODEC_ID_PNG || avctx->frame_number == 0) {
274 static int png_write_row(AVCodecContext *avctx, const uint8_t *data, int size)
276 PNGEncContext *s = avctx->priv_data;
288 png_write_image_data(avctx, s->buf, IOBUF_SIZE);
391 static int encode_headers(AVCodecContext *avctx, const AVFrame *pict)
394 PNGEncContext *s = avctx->priv_data;
398 AV_WB32(s->buf, avctx->width);
399 AV_WB32(s->buf + 4, avctx->height);
413 AV_WB32(s->buf, avctx->sample_aspect_ratio.num);
414 AV_WB32(s->buf + 4, avctx->sample_aspect_ratio.den);
431 av_log(avctx, AV_LOG_WARNING, "Only side-by-side stereo3d flag can be defined within sTER chunk\n");
482 static int encode_frame(AVCodecContext *avctx, const AVFrame *pict)
484 PNGEncContext *s = avctx->priv_data;
533 png_write_row(avctx, crow, pass_row_size + 1);
544 png_write_row(avctx, crow, row_size + 1);
554 png_write_image_data(avctx, s->buf, len);
576 static int add_icc_profile_size(AVCodecContext *avctx, const AVFrame *pict,
579 PNGEncContext *s = avctx->priv_data;
604 static int encode_png(AVCodecContext *avctx, AVPacket *pkt,
607 PNGEncContext *s = avctx->priv_data;
613 (avctx->width * s->bits_per_pixel + 7) >> 3);
616 avctx->height * (
620 if ((ret = add_icc_profile_size(avctx, pict, &max_packet_size)))
622 ret = ff_alloc_packet(avctx, pkt, max_packet_size);
633 ret = encode_headers(avctx, pict);
637 ret = encode_frame(avctx, pict);
793 static int apng_encode_frame(AVCodecContext *avctx, const AVFrame *pict,
796 PNGEncContext *s = avctx->priv_data;
809 if (avctx->frame_number == 0) {
815 return encode_frame(avctx, pict);
881 ret = encode_frame(avctx, diffFrame);
922 static int encode_apng(AVCodecContext *avctx, AVPacket *pkt,
925 PNGEncContext *s = avctx->priv_data;
934 if (avctx->frame_number == 0) {
937 av_log(avctx, AV_LOG_ERROR,
944 (avctx->width * s->bits_per_pixel + 7) >> 3);
947 avctx->height * (
951 if ((ret = add_icc_profile_size(avctx, pict, &max_packet_size)))
956 if (avctx->frame_number == 0) {
964 ret = encode_headers(avctx, pict);
974 ret = ff_get_encode_buffer(avctx, pkt, s->last_frame_packet_size, 0);
993 ret = apng_encode_frame(avctx, pict, &fctl_chunk, &s->last_frame_fctl);
1072 static av_cold int png_enc_init(AVCodecContext *avctx)
1074 PNGEncContext *s = avctx->priv_data;
1077 switch (avctx->pix_fmt) {
1079 avctx->bits_per_coded_sample = 32;
1082 avctx->bits_per_coded_sample = 24;
1085 avctx->bits_per_coded_sample = 0x28;
1088 avctx->bits_per_coded_sample = 1;
1091 avctx->bits_per_coded_sample = 8;
1096 if (avctx->pix_fmt == AV_PIX_FMT_MONOBLACK)
1100 av_log(avctx, AV_LOG_ERROR, "Only one of 'dpi' or 'dpm' options should be set\n");
1106 s->is_progressive = !!(avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT);
1107 switch (avctx->pix_fmt) {
1153 compression_level = avctx->compression_level == FF_COMPRESSION_DEFAULT
1155 : av_clip(avctx->compression_level, 0, 9);
1156 return ff_deflate_init(&s->zstream, compression_level, avctx);
1159 static av_cold int png_enc_close(AVCodecContext *avctx)
1161 PNGEncContext *s = avctx->priv_data;