MythTV  master
Macros | Functions | Variables
element.c File Reference
#include <stdio.h>
#include <string.h>
#include "element.h"
#include "mpg_common.h"
#include "pes.h"
#include "mythlogging.h"
Include dependency graph for element.c:

Go to the source code of this file.

Macros

#define DEBUG   1
 

Functions

uint64_t add_pts_audio (uint64_t pts, audio_frame_t *aframe, uint64_t frames)
 
void fix_audio_count (uint64_t *acount, audio_frame_t *aframe, uint64_t origpts, uint64_t pts)
 
uint64_t next_ptsdts_video (uint64_t *pts, sequence_t *s, uint64_t fcount, uint64_t gcount)
 
void fix_video_count (sequence_t *s, uint64_t *frame, uint64_t origpts, uint64_t pts, uint64_t origdts, uint64_t dts)
 
void pts2time (uint64_t pts, uint8_t *buf, int len)
 
int get_video_info (ringbuffer *rbuf, sequence_t *s, int off, int le)
 
int find_audio_sync (ringbuffer *rbuf, uint8_t *buf, int off, int type, int le)
 
int find_audio_s (const uint8_t *rbuf, int off, int type, int le)
 
int check_audio_header (ringbuffer *rbuf, audio_frame_t *af, int off, int le, int type)
 
int get_audio_info (ringbuffer *rbuf, audio_frame_t *af, int off, int le)
 
int get_ac3_info (ringbuffer *rbuf, audio_frame_t *af, int off, int le)
 
int get_video_ext_info (ringbuffer *rbuf, sequence_t *s, int off, int le)
 

Variables

unsigned int slots [4] = {12, 144, 0, 0}
 
unsigned int bitrates [3][16]
 
uint32_t freq [4] = {441, 480, 320, 0}
 
static uint64_t samples [4] = { 384, 1152, 1152, 1536}
 
const char * frames [3] = {"I-Frame","P-Frame","B-Frame"}
 
unsigned int ac3_bitrates [32]
 
static uint8_t ac3half [12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3}
 
uint32_t ac3_freq [4] = {480, 441, 320, 0}
 

Macro Definition Documentation

◆ DEBUG

#define DEBUG   1

Definition at line 54 of file element.c.

Function Documentation

◆ add_pts_audio()

uint64_t add_pts_audio ( uint64_t  pts,
audio_frame_t aframe,
uint64_t  frames 
)

Definition at line 56 of file element.c.

Referenced by analyze_audio().

◆ fix_audio_count()

void fix_audio_count ( uint64_t *  acount,
audio_frame_t aframe,
uint64_t  origpts,
uint64_t  pts 
)

Definition at line 65 of file element.c.

Referenced by analyze_audio().

◆ next_ptsdts_video()

uint64_t next_ptsdts_video ( uint64_t *  pts,
sequence_t s,
uint64_t  fcount,
uint64_t  gcount 
)

Definition at line 79 of file element.c.

Referenced by analyze_video().

◆ fix_video_count()

void fix_video_count ( sequence_t s,
uint64_t *  frame,
uint64_t  origpts,
uint64_t  pts,
uint64_t  origdts,
uint64_t  dts 
)

Definition at line 119 of file element.c.

Referenced by analyze_video().

◆ pts2time()

void pts2time ( uint64_t  pts,
uint8_t *  buf,
int  len 
)

Definition at line 154 of file element.c.

Referenced by writeout_video().

◆ get_video_info()

int get_video_info ( ringbuffer rbuf,
sequence_t s,
int  off,
int  le 
)

Definition at line 196 of file element.c.

Referenced by analyze_video().

◆ find_audio_sync()

int find_audio_sync ( ringbuffer rbuf,
uint8_t *  buf,
int  off,
int  type,
int  le 
)

Definition at line 330 of file element.c.

Referenced by analyze_audio(), check_audio_header(), get_ac3_info(), and get_audio_info().

◆ find_audio_s()

int find_audio_s ( const uint8_t *  rbuf,
int  off,
int  type,
int  le 
)

Definition at line 383 of file element.c.

Referenced by pes_id_out().

◆ check_audio_header()

int check_audio_header ( ringbuffer rbuf,
audio_frame_t af,
int  off,
int  le,
int  type 
)

Definition at line 430 of file element.c.

Referenced by analyze_audio().

◆ get_audio_info()

int get_audio_info ( ringbuffer rbuf,
audio_frame_t af,
int  off,
int  le 
)

Definition at line 494 of file element.c.

Referenced by analyze_audio().

◆ get_ac3_info()

int get_ac3_info ( ringbuffer rbuf,
audio_frame_t af,
int  off,
int  le 
)

Definition at line 545 of file element.c.

Referenced by analyze_audio().

◆ get_video_ext_info()

int get_video_ext_info ( ringbuffer rbuf,
sequence_t s,
int  off,
int  le 
)

Definition at line 604 of file element.c.

Referenced by analyze_video().

Variable Documentation

◆ slots

unsigned int slots[4] = {12, 144, 0, 0}

Definition at line 38 of file element.c.

Referenced by get_audio_info().

◆ bitrates

unsigned int bitrates[3][16]
Initial value:
=
{{0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,0},
{0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,0},
{0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,0}}

Definition at line 39 of file element.c.

Referenced by check_audio_header(), and get_audio_info().

◆ freq

uint32_t freq[4] = {441, 480, 320, 0}

◆ samples

uint64_t samples[4] = { 384, 1152, 1152, 1536}
static

◆ frames

const char* frames[3] = {"I-Frame","P-Frame","B-Frame"}

◆ ac3_bitrates

unsigned int ac3_bitrates[32]
Initial value:
=
{32,40,48,56,64,80,96,112,128,160,192,224,256,320,384,448,512,576,640,
0,0,0,0,0,0,0,0,0,0,0,0,0}

Definition at line 48 of file element.c.

Referenced by check_audio_header(), and get_ac3_info().

◆ ac3half

uint8_t ac3half[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3}
static

Definition at line 51 of file element.c.

Referenced by check_audio_header(), and get_ac3_info().

◆ ac3_freq

uint32_t ac3_freq[4] = {480, 441, 320, 0}

Definition at line 52 of file element.c.

Referenced by check_audio_header(), and get_ac3_info().