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

Go to the source code of this file.

Data Structures

struct  H264BSFContext
 

Macros

#define LOG_ONCE(...)
 

Functions

static void count_or_copy (uint8_t **out, uint64_t *out_size, const uint8_t *in, int in_size, int ps, int copy)
 
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 *opkt)
 
static void h264_mp4toannexb_flush (AVBSFContext *ctx)
 

Variables

static enum AVCodecID codec_ids []
 
const AVBitStreamFilter ff_h264_mp4toannexb_bsf
 

Macro Definition Documentation

#define LOG_ONCE (   ...)
Value:
if (j) \
av_log(__VA_ARGS__)
#define av_log(a,...)

Referenced by h264_mp4toannexb_filter().

Function Documentation

static void count_or_copy ( uint8_t **  out,
uint64_t *  out_size,
const uint8_t in,
int  in_size,
int  ps,
int  copy 
)
static

Definition at line 46 of file h264_mp4toannexb_bsf.c.

Referenced by h264_mp4toannexb_filter().

static int h264_extradata_to_annexb ( AVBSFContext ctx,
const int  padding 
)
static

Definition at line 65 of file h264_mp4toannexb_bsf.c.

Referenced by h264_mp4toannexb_init().

static int h264_mp4toannexb_init ( AVBSFContext ctx)
static

Definition at line 139 of file h264_mp4toannexb_bsf.c.

static int h264_mp4toannexb_filter ( AVBSFContext ctx,
AVPacket opkt 
)
static

Definition at line 169 of file h264_mp4toannexb_bsf.c.

static void h264_mp4toannexb_flush ( AVBSFContext ctx)
static

Definition at line 302 of file h264_mp4toannexb_bsf.c.

Variable Documentation

enum AVCodecID codec_ids[]
static
Initial value:

Definition at line 311 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 enum AVCodecID codec_ids[]
static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *opkt)

Definition at line 315 of file h264_mp4toannexb_bsf.c.