FFmpeg
libavcodec
bsf_internal.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVCODEC_BSF_INTERNAL_H
20
#define AVCODEC_BSF_INTERNAL_H
21
22
#include "
libavutil/log.h
"
23
24
#include "
bsf.h
"
25
#include "
packet.h
"
26
27
typedef
struct
FFBitStreamFilter
{
28
/**
29
* The public AVBitStreamFilter. See bsf.h for it.
30
*/
31
AVBitStreamFilter
p
;
32
33
int
priv_data_size
;
34
int (*
init
)(
AVBSFContext
*
ctx
);
35
int (*
filter
)(
AVBSFContext
*
ctx
,
AVPacket
*
pkt
);
36
void (*
close
)(
AVBSFContext
*
ctx
);
37
void (*
flush
)(
AVBSFContext
*
ctx
);
38
}
FFBitStreamFilter
;
39
40
/**
41
* Called by the bitstream filters to get the next packet for filtering.
42
* The filter is responsible for either freeing the packet or passing it to the
43
* caller.
44
*/
45
int
ff_bsf_get_packet
(
AVBSFContext
*
ctx
,
AVPacket
**
pkt
);
46
47
/**
48
* Called by bitstream filters to get packet for filtering.
49
* The reference to packet is moved to provided packet structure.
50
*
51
* @param ctx pointer to AVBSFContext of filter
52
* @param pkt pointer to packet to move reference to
53
*
54
* @return 0 on success, negative AVERROR in case of failure
55
*/
56
int
ff_bsf_get_packet_ref
(
AVBSFContext
*
ctx
,
AVPacket
*
pkt
);
57
58
const
AVClass
*
ff_bsf_child_class_iterate
(
void
**opaque);
59
60
#endif
/* AVCODEC_BSF_INTERNAL_H */
AVBSFContext
The bitstream filter state.
Definition:
bsf.h:68
bsf.h
ff_bsf_get_packet_ref
int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt)
Called by bitstream filters to get packet for filtering.
Definition:
bsf.c:256
pkt
AVPacket * pkt
Definition:
movenc.c:60
FFBitStreamFilter::priv_data_size
int priv_data_size
Definition:
bsf_internal.h:33
ctx
AVFormatContext * ctx
Definition:
movenc.c:49
AVClass
Describe the class of an AVClass context structure.
Definition:
log.h:75
FFBitStreamFilter
Definition:
bsf_internal.h:27
FFBitStreamFilter::init
int(* init)(AVBSFContext *ctx)
Definition:
bsf_internal.h:34
FFBitStreamFilter::p
AVBitStreamFilter p
The public AVBitStreamFilter.
Definition:
bsf_internal.h:31
FFBitStreamFilter::flush
void(* flush)(AVBSFContext *ctx)
Definition:
bsf_internal.h:37
FFBitStreamFilter::filter
int(* filter)(AVBSFContext *ctx, AVPacket *pkt)
Definition:
bsf_internal.h:35
log.h
packet.h
AVBitStreamFilter
Definition:
bsf.h:111
FFBitStreamFilter::close
void(* close)(AVBSFContext *ctx)
Definition:
bsf_internal.h:36
ff_bsf_child_class_iterate
const AVClass * ff_bsf_child_class_iterate(void **opaque)
Definition:
bitstream_filters.c:103
ff_bsf_get_packet
int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt)
Called by the bitstream filters to get the next packet for filtering.
Definition:
bsf.c:235
AVPacket
This structure stores compressed data.
Definition:
packet.h:516
Generated on Thu Dec 26 2024 19:21:30 for FFmpeg by
1.8.17