hvirtual/libmpeg3/video/mpeg3video.c File Reference

#include "../libmpeg3.h"
#include "../mpeg3private.h"
#include "../mpeg3protos.h"
#include "mpeg3video.h"
#include "mpeg3videoprotos.h"
#include <pthread.h>
#include <stdlib.h>

Include dependency graph for mpeg3video.c:

Go to the source code of this file.

Functions

int mpeg3video_initdecoder (mpeg3video_t *video)
int mpeg3video_deletedecoder (mpeg3video_t *video)
void mpeg3video_init_scantables (mpeg3video_t *video)
mpeg3video_tmpeg3video_allocate_struct (mpeg3_t *file, mpeg3_vtrack_t *track)
int mpeg3video_delete_struct (mpeg3video_t *video)
int mpeg3video_read_frame_backend (mpeg3video_t *video, int skip_bframes)
int * mpeg3video_get_scaletable (int input_w, int output_w)
int mpeg3video_get_firstframe (mpeg3video_t *video)
static long gop_to_frame (mpeg3video_t *video, mpeg3_timecode_t *gop_timecode)
mpeg3video_tmpeg3video_new (mpeg3_t *file, mpeg3_vtrack_t *track)
int mpeg3video_delete (mpeg3video_t *video)
int mpeg3video_set_cpus (mpeg3video_t *video, int cpus)
int mpeg3video_set_mmx (mpeg3video_t *video, int use_mmx)
int mpeg3video_read_raw (mpeg3video_t *video, unsigned char *output, long *size, long max_size)
int mpeg3video_read_frame (mpeg3video_t *video, unsigned char **output_rows, int in_x, int in_y, int in_w, int in_h, int out_w, int out_h, int color_model)
int mpeg3video_read_yuvframe (mpeg3video_t *video, char *y_output, char *u_output, char *v_output, int in_x, int in_y, int in_w, int in_h)
int mpeg3video_read_yuvframe_ptr (mpeg3video_t *video, char **y_output, char **u_output, char **v_output)
int mpeg3video_colormodel (mpeg3video_t *video)
void mpeg3video_dump (mpeg3video_t *video)

Variables

unsigned char mpeg3_zig_zag_scan_nommx [64]
unsigned char mpeg3_alternate_scan_nommx [64]
unsigned char mpeg3_default_intra_quantizer_matrix [64]
unsigned char mpeg3_non_linear_mquant_table [32]
double mpeg3_frame_rate_table [16]


Function Documentation

static long gop_to_frame ( mpeg3video_t video,
mpeg3_timecode_t gop_timecode 
) [static]

mpeg3video_t* mpeg3video_allocate_struct ( mpeg3_t file,
mpeg3_vtrack_t track 
)

int mpeg3video_colormodel ( mpeg3video_t video  ) 

Definition at line 823 of file mpeg3video.c.

References CHROMA420, CHROMA422, mpeg3video_t::chroma_format, MPEG3_YUV420P, and MPEG3_YUV422P.

Referenced by mpeg3_colormodel().

int mpeg3video_delete ( mpeg3video_t video  ) 

Definition at line 521 of file mpeg3video.c.

References mpeg3video_t::decoder_initted, mpeg3video_delete_struct(), and mpeg3video_deletedecoder().

Referenced by mpeg3_delete_vtrack(), and mpeg3video_new().

Here is the call graph for this function:

int mpeg3video_delete_struct ( mpeg3video_t video  ) 

int mpeg3video_deletedecoder ( mpeg3video_t video  ) 

void mpeg3video_dump ( mpeg3video_t video  ) 

int mpeg3video_get_firstframe ( mpeg3video_t video  ) 

Definition at line 345 of file mpeg3video.c.

References mpeg3video_t::current_repeat, mpeg3video_read_frame_backend(), and mpeg3video_t::repeat_count.

Referenced by mpeg3video_new(), and mpeg3video_seek().

Here is the call graph for this function:

int* mpeg3video_get_scaletable ( int  input_w,
int  output_w 
)

Definition at line 332 of file mpeg3video.c.

Referenced by mpeg3video_read_frame().

void mpeg3video_init_scantables ( mpeg3video_t video  ) 

int mpeg3video_initdecoder ( mpeg3video_t video  ) 

mpeg3video_t* mpeg3video_new ( mpeg3_t file,
mpeg3_vtrack_t track 
)

int mpeg3video_read_frame ( mpeg3video_t video,
unsigned char **  output_rows,
int  in_x,
int  in_y,
int  in_w,
int  in_h,
int  out_w,
int  out_h,
int  color_model 
)

int mpeg3video_read_frame_backend ( mpeg3video_t video,
int  skip_bframes 
)

int mpeg3video_read_raw ( mpeg3video_t video,
unsigned char *  output,
long *  size,
long  max_size 
)

Definition at line 543 of file mpeg3video.c.

References MPEG3_PICTURE_START_CODE, MPEG3_SEQUENCE_END_CODE, mpeg3bits_eof, mpeg3bits_getbyte_noptr(), and mpeg3video_t::vstream.

Referenced by mpeg3_read_video_chunk().

Here is the call graph for this function:

int mpeg3video_read_yuvframe ( mpeg3video_t video,
char *  y_output,
char *  u_output,
char *  v_output,
int  in_x,
int  in_y,
int  in_w,
int  in_h 
)

int mpeg3video_read_yuvframe_ptr ( mpeg3video_t video,
char **  y_output,
char **  u_output,
char **  v_output 
)

int mpeg3video_set_cpus ( mpeg3video_t video,
int  cpus 
)

Definition at line 531 of file mpeg3video.c.

Referenced by mpeg3_set_cpus().

int mpeg3video_set_mmx ( mpeg3video_t video,
int  use_mmx 
)

Definition at line 536 of file mpeg3video.c.

References mpeg3video_init_scantables().

Here is the call graph for this function:


Variable Documentation

unsigned char mpeg3_alternate_scan_nommx[64]

Initial value:

{
  0, 8, 16, 24, 1, 9, 2, 10, 17, 25, 32, 40, 48, 56, 57, 49, 
  41, 33, 26, 18, 3, 11, 4, 12, 19, 27, 34, 42, 50, 58, 35, 43, 
  51, 59, 20, 28, 5, 13, 6, 14, 21, 29, 36, 44, 52, 60, 37, 45, 
  53, 61, 22, 30, 7, 15, 23, 31, 38, 46, 54, 62, 39, 47, 55, 63
}

Definition at line 22 of file mpeg3video.c.

Referenced by mpeg3video_init_scantables().

Initial value:

{
  8, 16, 19, 22, 26, 27, 29, 34,
  16, 16, 22, 24, 27, 29, 34, 37,
  19, 22, 26, 27, 29, 34, 34, 38,
  22, 22, 26, 27, 29, 34, 37, 40,
  22, 26, 27, 29, 32, 35, 40, 48,
  26, 27, 29, 32, 35, 40, 48, 58,
  26, 27, 29, 34, 38, 46, 56, 69,
  27, 29, 35, 38, 46, 56, 69, 83
}

Definition at line 31 of file mpeg3video.c.

Referenced by mpeg3video_getseqhdr().

Initial value:

{
  0.0,   
  (double)24000.0/1001.0,       
  (double)24.0,
  (double)25.0,
  (double)30000.0/1001.0,
  (double)30.0,
  (double)50.0,
  (double)60000.0/1001.0,
  (double)60.0,

  1,                    
  5, 
  10,
  12,
  15,
  0,
  0,
}

Definition at line 51 of file mpeg3video.c.

Referenced by mpeg3video_getseqhdr().

unsigned char mpeg3_non_linear_mquant_table[32]

Initial value:

 
{
   0, 1, 2, 3, 4, 5, 6, 7,
   8, 10, 12, 14, 16, 18, 20, 22, 
  24, 28, 32, 36, 40, 44, 48, 52, 
  56, 64, 72, 80, 88, 96, 104, 112
}

Definition at line 43 of file mpeg3video.c.

Referenced by mpeg3_decode_slice(), and mpeg3video_getslicehdr().

unsigned char mpeg3_zig_zag_scan_nommx[64]

Initial value:

{
  0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 
  12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 
  35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 
  58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63
}

Definition at line 13 of file mpeg3video.c.

Referenced by mpeg3video_init_scantables().


Generated on Mon Apr 28 14:00:04 2008 for Cinelerra by  doxygen 1.5.5