Data Structures | Functions | Variables
h264_mp4toannexb_bsf.c File Reference
#include <string.h>
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "bsf.h"
#include "h264.h"

Go to the source code of this file.

Data Structures

struct  H264BSFContext


static int alloc_and_copy (AVPacket *out, const uint8_t *sps_pps, uint32_t sps_pps_size, const uint8_t *in, uint32_t in_size, int ps)
static int h264_extradata_to_annexb (AVBSFContext *ctx, const int padding)
static int h264_mp4toannexb_init (AVBSFContext *ctx)
static int h264_mp4toannexb_filter (AVBSFContext *ctx, AVPacket *out)
static void h264_mp4toannexb_flush (AVBSFContext *ctx)


static enum AVCodecID codec_ids []
const AVBitStreamFilter ff_h264_mp4toannexb_bsf

Function Documentation

static int alloc_and_copy ( AVPacket out,
const uint8_t sps_pps,
uint32_t  sps_pps_size,
const uint8_t in,
uint32_t  in_size,
int  ps 

Definition at line 41 of file h264_mp4toannexb_bsf.c.

Referenced by h264_mp4toannexb_filter().

static int h264_extradata_to_annexb ( AVBSFContext ctx,
const int  padding 

Definition at line 67 of file h264_mp4toannexb_bsf.c.

Referenced by h264_mp4toannexb_init().

static int h264_mp4toannexb_init ( AVBSFContext ctx)

Definition at line 141 of file h264_mp4toannexb_bsf.c.

static int h264_mp4toannexb_filter ( AVBSFContext ctx,
AVPacket out 

Definition at line 171 of file h264_mp4toannexb_bsf.c.

static void h264_mp4toannexb_flush ( AVBSFContext ctx)

Definition at line 283 of file h264_mp4toannexb_bsf.c.

Variable Documentation

enum AVCodecID codec_ids[]
Initial value:

Definition at line 292 of file h264_mp4toannexb_bsf.c.

const AVBitStreamFilter ff_h264_mp4toannexb_bsf
Initial value:
= {
.name = "h264_mp4toannexb",
.priv_data_size = sizeof(H264BSFContext),
static void flush(AVCodecContext *avctx)
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static int h264_mp4toannexb_init(AVBSFContext *ctx)
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce then the filter should push the output frames on the output link immediately As an exception to the previous rule if the input frame is enough to produce several output frames then the filter needs output only at least one per link The additional frames can be left buffered in the filter
static void h264_mp4toannexb_flush(AVBSFContext *ctx)
static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *out)
static enum AVCodecID codec_ids[]

Definition at line 296 of file h264_mp4toannexb_bsf.c.