FFmpeg
|
#include "movenc.h"
#include "libavutil/intreadwrite.h"
#include "internal.h"
#include "rtpenc_chain.h"
#include "avio_internal.h"
#include "rtp.h"
Go to the source code of this file.
Functions | |
int | ff_mov_init_hinting (AVFormatContext *s, int index, int src_index) |
static void | sample_queue_pop (HintSampleQueue *queue) |
Remove the first sample from the sample queue. More... | |
static void | sample_queue_free (HintSampleQueue *queue) |
Empty the sample queue, releasing all memory. More... | |
static void | sample_queue_push (HintSampleQueue *queue, uint8_t *data, int size, int sample) |
Add a reference to the sample data to the sample queue. More... | |
static void | sample_queue_retain (HintSampleQueue *queue) |
Make local copies of all referenced sample data in the queue. More... | |
static int | match_segments (const uint8_t *haystack, int h_len, const uint8_t *needle, int n_pos, int n_len, int *match_h_offset_ptr, int *match_n_offset_ptr, int *match_len_ptr) |
Find matches of needle[n_pos ->] within haystack. More... | |
static int | find_sample_match (const uint8_t *data, int len, HintSampleQueue *queue, int *pos, int *match_sample, int *match_offset, int *match_len) |
Look for segments in samples in the sample queue matching the data in ptr. More... | |
static void | output_immediate (const uint8_t *data, int size, AVIOContext *out, int *entries) |
static void | output_match (AVIOContext *out, int match_sample, int match_offset, int match_len, int *entries) |
static void | describe_payload (const uint8_t *data, int size, AVIOContext *out, int *entries, HintSampleQueue *queue) |
static int | write_hint_packets (AVIOContext *out, const uint8_t *data, int size, MOVTrack *trk, int64_t *pts) |
Write an RTP hint (that may contain one or more RTP packets) for the packets in data. More... | |
int | ff_mov_add_hinted_packet (AVFormatContext *s, AVPacket *pkt, int track_index, int sample, uint8_t *sample_data, int sample_size) |
void | ff_mov_close_hinting (MOVTrack *track) |
Function Documentation
|
static |
Definition at line 283 of file movenchint.c.
Referenced by write_hint_packets().
int ff_mov_add_hinted_packet | ( | AVFormatContext * | s, |
AVPacket * | pkt, | ||
int | track_index, | ||
int | sample, | ||
uint8_t * | sample_data, | ||
int | sample_size | ||
) |
Definition at line 390 of file movenchint.c.
Referenced by ff_mov_write_packet().
Definition at line 448 of file movenchint.c.
Referenced by mov_write_trailer().
int ff_mov_init_hinting | ( | AVFormatContext * | s, |
int | index, | ||
int | src_index | ||
) |
Definition at line 29 of file movenchint.c.
Referenced by mov_write_header().
|
static |
Look for segments in samples in the sample queue matching the data in ptr.
Samples not matching are removed from the queue. If a match is found, the next time it will look for matches starting from the end of the previous matched segment.
- Parameters
-
data data to find matches for in the sample queue len length of the data buffer queue samples used for looking for matching segments pos the offset in data of the matched segment match_sample the number of the sample that contained the match match_offset the offset of the matched segment within the sample match_len the length of the matched segment
- Returns
- 0 if a match was found, < 0 if no match was found
Definition at line 215 of file movenchint.c.
Referenced by describe_payload().
|
static |
Find matches of needle[n_pos ->] within haystack.
If a sufficiently large match is found, matching bytes before n_pos are included in the match, too (within the limits of the arrays).
- Parameters
-
haystack buffer that may contain parts of needle h_len length of the haystack buffer needle buffer containing source data that have been used to construct haystack n_pos start position in needle used for looking for matches n_len length of the needle buffer match_h_offset_ptr offset of the first matching byte within haystack match_n_offset_ptr offset of the first matching byte within needle match_len_ptr length of the matched segment
- Returns
- 0 if a match was found, < 0 if no match was found
Definition at line 163 of file movenchint.c.
Referenced by find_sample_match().
|
static |
Definition at line 250 of file movenchint.c.
Referenced by describe_payload().
|
static |
Definition at line 270 of file movenchint.c.
Referenced by describe_payload().
|
static |
Empty the sample queue, releasing all memory.
Definition at line 83 of file movenchint.c.
Referenced by ff_mov_close_hinting().
|
static |
Remove the first sample from the sample queue.
Definition at line 70 of file movenchint.c.
Referenced by find_sample_match().
|
static |
Add a reference to the sample data to the sample queue.
The data is not copied. sample_queue_retain should be called before pkt->data is reused/freed.
Definition at line 99 of file movenchint.c.
Referenced by ff_mov_add_hinted_packet().
|
static |
Make local copies of all referenced sample data in the queue.
Definition at line 125 of file movenchint.c.
Referenced by ff_mov_add_hinted_packet().
|
static |
Write an RTP hint (that may contain one or more RTP packets) for the packets in data.
data contains one or more packets with a BE32 size header.
- Parameters
-
out buffer where the hints are written data buffer containing RTP packets size the size of the data buffer trk the MOVTrack for the hint track pts pointer where the timestamp for the written RTP hint is stored
- Returns
- the number of RTP packets in the written hint
Definition at line 315 of file movenchint.c.
Referenced by ff_mov_add_hinted_packet().
Generated on Mon Nov 18 2024 06:52:07 for FFmpeg by 1.8.11