Lines Matching defs:avctx

205 static av_cold int encode_init(AVCodecContext *avctx)
207 HYuvContext *s = avctx->priv_data;
210 const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt);
212 ff_huffyuv_common_init(avctx);
213 ff_huffyuvencdsp_init(&s->hencdsp, avctx);
216 avctx->extradata = av_mallocz(3*MAX_N + 4);
219 avctx->stats_out = av_mallocz(STATS_OUT_SIZE); // 21*256*3(%llu ) + 3(\n) + 1(0) = 16132
220 if (!avctx->stats_out)
225 if (!avctx->extradata)
232 av_pix_fmt_get_chroma_sub_sample(avctx->pix_fmt,
236 switch (avctx->pix_fmt) {
240 av_log(avctx, AV_LOG_ERROR, "Width must be even for this colorspace.\n");
243 s->bitstream_bpp = avctx->pix_fmt == AV_PIX_FMT_YUV420P ? 12 : 16;
294 av_log(avctx, AV_LOG_ERROR, "format not supported\n");
300 avctx->bits_per_coded_sample = s->bitstream_bpp;
302 s->interlaced = avctx->flags & AV_CODEC_FLAG_INTERLACED_ME ? 1 : 0;
305 av_log(avctx, AV_LOG_ERROR,
312 if (avctx->codec->id == AV_CODEC_ID_HUFFYUV) {
313 if (avctx->pix_fmt == AV_PIX_FMT_YUV420P) {
314 av_log(avctx, AV_LOG_ERROR,
320 av_log(avctx, AV_LOG_INFO,
324 if (s->version > 3 && avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
325 av_log(avctx, AV_LOG_ERROR, "Ver > 3 is under development, files encoded with it may not be decodable with future versions!!!\n"
331 av_log(avctx, AV_LOG_ERROR,
336 ((uint8_t*)avctx->extradata)[0] = s->predictor | (s->decorrelate << 6);
337 ((uint8_t*)avctx->extradata)[2] = s->interlaced ? 0x10 : 0x20;
339 ((uint8_t*)avctx->extradata)[2] |= 0x40;
341 ((uint8_t*)avctx->extradata)[1] = s->bitstream_bpp;
342 ((uint8_t*)avctx->extradata)[3] = 0;
344 ((uint8_t*)avctx->extradata)[1] = ((s->bps-1)<<4) | s->chroma_h_shift | (s->chroma_v_shift<<2);
346 ((uint8_t*)avctx->extradata)[2] |= s->yuv ? 1 : 2;
348 ((uint8_t*)avctx->extradata)[2] |= 4;
349 ((uint8_t*)avctx->extradata)[3] = 1;
351 s->avctx->extradata_size = 4;
353 if (avctx->stats_in) {
354 char *p = avctx->stats_in;
381 ret = store_huffman_tables(s, s->avctx->extradata + s->avctx->extradata_size);
384 s->avctx->extradata_size += ret;
417 av_log(s->avctx, AV_LOG_ERROR, "encoded frame too large\n");
438 if (s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)
469 av_log(s->avctx, AV_LOG_ERROR, "encoded frame too large\n");
524 if (s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)
560 if (s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)
595 if (s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)
631 av_log(s->avctx, AV_LOG_ERROR, "encoded frame too large\n");
653 if (s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)
676 av_log(s->avctx, AV_LOG_ERROR, "encoded frame too large\n");
701 (s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)) {
721 static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
724 HYuvContext *s = avctx->priv_data;
734 if ((ret = ff_alloc_packet(avctx, pkt, width * height * 3 * 4 + AV_INPUT_BUFFER_MIN_SIZE)) < 0)
749 if (avctx->pix_fmt == AV_PIX_FMT_YUV422P ||
750 avctx->pix_fmt == AV_PIX_FMT_YUV420P) {
854 } else if(avctx->pix_fmt == AV_PIX_FMT_RGB32) {
882 } else if (avctx->pix_fmt == AV_PIX_FMT_RGB24) {
965 av_log(avctx, AV_LOG_ERROR, "Format not supported!\n");
976 char *p = avctx->stats_out;
989 } else if (avctx->stats_out)
990 avctx->stats_out[0] = '\0';
991 if (!(s->avctx->flags2 & AV_CODEC_FLAG2_NO_OUTPUT)) {
1004 static av_cold int encode_end(AVCodecContext *avctx)
1006 HYuvContext *s = avctx->priv_data;
1010 av_freep(&avctx->stats_out);