Lines Matching defs:ctx

48 static av_always_inline FFBSFContext *ffbsfcontext(AVBSFContext *ctx)
50 return (FFBSFContext *)ctx;
55 AVBSFContext *ctx;
60 ctx = *pctx;
61 bsfi = ffbsfcontext(ctx);
63 if (ctx->priv_data) {
64 if (ff_bsf(ctx->filter)->close)
65 ff_bsf(ctx->filter)->close(ctx);
66 if (ctx->filter->priv_class)
67 av_opt_free(ctx->priv_data);
68 av_freep(&ctx->priv_data);
72 avcodec_parameters_free(&ctx->par_in);
73 avcodec_parameters_free(&ctx->par_out);
80 AVBSFContext *ctx = obj;
81 if (!prev && ctx->filter->priv_class)
82 return ctx->priv_data;
107 AVBSFContext *ctx;
114 ctx = &bsfi->pub;
116 ctx->av_class = &bsf_class;
117 ctx->filter = filter;
119 ctx->par_in = avcodec_parameters_alloc();
120 ctx->par_out = avcodec_parameters_alloc();
121 if (!ctx->par_in || !ctx->par_out) {
127 ctx->priv_data = av_mallocz(ff_bsf(filter)->priv_data_size);
128 if (!ctx->priv_data) {
133 *(const AVClass **)ctx->priv_data = filter->priv_class;
134 av_opt_set_defaults(ctx->priv_data);
143 *pctx = ctx;
146 av_bsf_free(&ctx);
150 int av_bsf_init(AVBSFContext *ctx)
155 if (ctx->filter->codec_ids) {
156 for (i = 0; ctx->filter->codec_ids[i] != AV_CODEC_ID_NONE; i++)
157 if (ctx->par_in->codec_id == ctx->filter->codec_ids[i])
159 if (ctx->filter->codec_ids[i] == AV_CODEC_ID_NONE) {
160 const AVCodecDescriptor *desc = avcodec_descriptor_get(ctx->par_in->codec_id);
161 av_log(ctx, AV_LOG_ERROR, "Codec '%s' (%d) is not supported by the "
163 desc ? desc->name : "unknown", ctx->par_in->codec_id, ctx->filter->name);
164 for (i = 0; ctx->filter->codec_ids[i] != AV_CODEC_ID_NONE; i++) {
165 enum AVCodecID codec_id = ctx->filter->codec_ids[i];
166 av_log(ctx, AV_LOG_ERROR, "%s (%d) ",
169 av_log(ctx, AV_LOG_ERROR, "\n");
176 ret = avcodec_parameters_copy(ctx->par_out, ctx->par_in);
180 ctx->time_base_out = ctx->time_base_in;
182 if (ff_bsf(ctx->filter)->init) {
183 ret = ff_bsf(ctx->filter)->init(ctx);
191 void av_bsf_flush(AVBSFContext *ctx)
193 FFBSFContext *const bsfi = ffbsfcontext(ctx);
199 if (ff_bsf(ctx->filter)->flush)
200 ff_bsf(ctx->filter)->flush(ctx);
203 int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
205 FFBSFContext *const bsfi = ffbsfcontext(ctx);
216 av_log(ctx, AV_LOG_ERROR, "A non-NULL packet sent after an EOF.\n");
231 int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
233 return ff_bsf(ctx->filter)->filter(ctx, pkt);
236 int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt)
238 FFBSFContext *const bsfi = ffbsfcontext(ctx);
257 int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt)
259 FFBSFContext *const bsfi = ffbsfcontext(ctx);
375 static const char *bsf_list_item_name(void *ctx)
378 AVBSFContext *bsf_ctx = ctx;
493 BSFListContext *ctx;
506 ctx = (*bsf)->priv_data;
508 ctx->bsfs = (*lst)->bsfs;
509 ctx->nb_bsfs = (*lst)->nb_bsfs;