bitstream_filter.c File Reference

#include "avcodec.h"

Go to the source code of this file.

Functions

AVBitStreamFilterav_bitstream_filter_next (AVBitStreamFilter *f)
void av_register_bitstream_filter (AVBitStreamFilter *bsf)
AVBitStreamFilterContextav_bitstream_filter_init (const char *name)
void av_bitstream_filter_close (AVBitStreamFilterContext *bsfc)
int av_bitstream_filter_filter (AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)

Variables

AVBitStreamFilterfirst_bitstream_filter = NULL


Function Documentation

void av_bitstream_filter_close ( AVBitStreamFilterContext bsfc  ) 

Definition at line 50 of file bitstream_filter.c.

References av_free(), av_freep(), av_parser_close(), AVBitStreamFilter::close, AVBitStreamFilterContext::filter, AVBitStreamFilterContext::parser, and AVBitStreamFilterContext::priv_data.

00050                                                               {
00051     if(bsfc->filter->close)
00052         bsfc->filter->close(bsfc);
00053     av_freep(&bsfc->priv_data);
00054     av_parser_close(bsfc->parser);
00055     av_free(bsfc);
00056 }

int av_bitstream_filter_filter ( AVBitStreamFilterContext bsfc,
AVCodecContext avctx,
const char *  args,
uint8_t **  poutbuf,
int *  poutbuf_size,
const uint8_t *  buf,
int  buf_size,
int  keyframe 
)

Definition at line 58 of file bitstream_filter.c.

References AVBitStreamFilter::filter, and AVBitStreamFilterContext::filter.

Referenced by write_frame().

00061                                                                     {
00062     *poutbuf= (uint8_t *) buf;
00063     *poutbuf_size= buf_size;
00064     return bsfc->filter->filter(bsfc, avctx, args, poutbuf, poutbuf_size, buf, buf_size, keyframe);
00065 }

AVBitStreamFilterContext* av_bitstream_filter_init ( const char *  name  ) 

Definition at line 35 of file bitstream_filter.c.

References av_mallocz(), AVBitStreamFilterContext::filter, first_bitstream_filter, AVBitStreamFilter::name, AVBitStreamFilter::next, NULL, AVBitStreamFilterContext::priv_data, and AVBitStreamFilter::priv_data_size.

Referenced by opt_bsf().

00035                                                                     {
00036     AVBitStreamFilter *bsf= first_bitstream_filter;
00037 
00038     while(bsf){
00039         if(!strcmp(name, bsf->name)){
00040             AVBitStreamFilterContext *bsfc= av_mallocz(sizeof(AVBitStreamFilterContext));
00041             bsfc->filter= bsf;
00042             bsfc->priv_data= av_mallocz(bsf->priv_data_size);
00043             return bsfc;
00044         }
00045         bsf= bsf->next;
00046     }
00047     return NULL;
00048 }

AVBitStreamFilter* av_bitstream_filter_next ( AVBitStreamFilter f  ) 

Definition at line 25 of file bitstream_filter.c.

References first_bitstream_filter, and AVBitStreamFilter::next.

00025                                                                  {
00026     if(f) return f->next;
00027     else  return first_bitstream_filter;
00028 }

void av_register_bitstream_filter ( AVBitStreamFilter bsf  ) 

Definition at line 30 of file bitstream_filter.c.

References first_bitstream_filter, and AVBitStreamFilter::next.

00030                                                          {
00031     bsf->next = first_bitstream_filter;
00032     first_bitstream_filter= bsf;
00033 }


Variable Documentation

AVBitStreamFilter* first_bitstream_filter = NULL

Definition at line 23 of file bitstream_filter.c.

Referenced by av_bitstream_filter_init(), av_bitstream_filter_next(), and av_register_bitstream_filter().


Generated on Wed Nov 19 16:45:08 2008 for libextractor by  doxygen 1.5.1