#include "avcodec.h"
#include "dsputil.h"
#include "mathops.h"
#include "mpegvideo.h"
#include "mpeg12.h"
#include "mpeg12data.h"
#include "bytestream.h"
Go to the source code of this file.
Functions | |
static void | mpeg1_encode_block (MpegEncContext *s, DCTELEM *block, int component) |
static void | mpeg1_encode_motion (MpegEncContext *s, int val, int f_or_b_code) |
static void | init_uni_ac_vlc (RLTable *rl, uint8_t *uni_ac_vlc_len) |
static int | find_frame_rate_index (MpegEncContext *s) |
static av_cold int | encode_init (AVCodecContext *avctx) |
static void | put_header (MpegEncContext *s, int header) |
static void | mpeg1_encode_sequence_header (MpegEncContext *s) |
static void | encode_mb_skip_run (MpegEncContext *s, int run) |
static av_always_inline void | put_qscale (MpegEncContext *s) |
void | ff_mpeg1_encode_slice_header (MpegEncContext *s) |
void | mpeg1_encode_picture_header (MpegEncContext *s, int picture_number) |
static void | put_mb_modes (MpegEncContext *s, int n, int bits, int has_mv, int field_motion) |
static av_always_inline void | mpeg1_encode_mb_internal (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y, int mb_block_count) |
void | mpeg1_encode_mb (MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y) |
void | ff_mpeg1_encode_init (MpegEncContext *s) |
static void | encode_dc (MpegEncContext *s, int diff, int component) |
Variables | |
static const uint8_t | inv_non_linear_qscale [13] |
static const uint8_t | svcd_scan_offset_placeholder [14] |
static uint8_t | mv_penalty [MAX_FCODE+1][MAX_MV *2+1] |
static uint8_t | fcode_tab [MAX_MV *2+1] |
static uint8_t | uni_mpeg1_ac_vlc_len [64 *64 *2] |
static uint8_t | uni_mpeg2_ac_vlc_len [64 *64 *2] |
static uint32_t | mpeg1_lum_dc_uni [512] |
static uint32_t | mpeg1_chr_dc_uni [512] |
static uint8_t | mpeg1_index_run [2][64] |
static int8_t | mpeg1_max_level [2][64] |
AVCodec | ff_mpeg1video_encoder |
AVCodec | ff_mpeg2video_encoder |
Definition in file mpeg12enc.c.
static void encode_dc | ( | MpegEncContext * | s, | |
int | diff, | |||
int | component | |||
) | [inline, static] |
static av_cold int encode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 137 of file mpeg12enc.c.
static void encode_mb_skip_run | ( | MpegEncContext * | s, | |
int | run | |||
) | [inline, static] |
void ff_mpeg1_encode_init | ( | MpegEncContext * | s | ) |
void ff_mpeg1_encode_slice_header | ( | MpegEncContext * | s | ) |
Definition at line 330 of file mpeg12enc.c.
Referenced by encode_thread(), and mpeg1_encode_picture_header().
static int find_frame_rate_index | ( | MpegEncContext * | s | ) | [static] |
static void init_uni_ac_vlc | ( | RLTable * | rl, | |
uint8_t * | uni_ac_vlc_len | |||
) | [static] |
static void mpeg1_encode_block | ( | MpegEncContext * | s, | |
DCTELEM * | block, | |||
int | component | |||
) | [static] |
void mpeg1_encode_mb | ( | MpegEncContext * | s, | |
DCTELEM | block[6][64], | |||
int | motion_x, | |||
int | motion_y | |||
) |
static av_always_inline void mpeg1_encode_mb_internal | ( | MpegEncContext * | s, | |
DCTELEM | block[6][64], | |||
int | motion_x, | |||
int | motion_y, | |||
int | mb_block_count | |||
) | [static] |
static void mpeg1_encode_motion | ( | MpegEncContext * | s, | |
int | val, | |||
int | f_or_b_code | |||
) | [static] |
void mpeg1_encode_picture_header | ( | MpegEncContext * | s, | |
int | picture_number | |||
) |
static void mpeg1_encode_sequence_header | ( | MpegEncContext * | s | ) | [static] |
static void put_header | ( | MpegEncContext * | s, | |
int | header | |||
) | [static] |
Definition at line 184 of file mpeg12enc.c.
Referenced by asf_write_header1(), ff_mpeg1_encode_slice_header(), mpeg1_encode_picture_header(), and mpeg1_encode_sequence_header().
static void put_mb_modes | ( | MpegEncContext * | s, | |
int | n, | |||
int | bits, | |||
int | has_mv, | |||
int | field_motion | |||
) | [inline, static] |
static av_always_inline void put_qscale | ( | MpegEncContext * | s | ) | [static] |
Definition at line 320 of file mpeg12enc.c.
Referenced by ff_mpeg1_encode_slice_header(), and mpeg1_encode_mb_internal().
uint8_t fcode_tab[MAX_MV *2+1] [static] |
Definition at line 57 of file mpeg12enc.c.
Initial value:
{ "mpeg1video", AVMEDIA_TYPE_VIDEO, CODEC_ID_MPEG1VIDEO, sizeof(MpegEncContext), encode_init, MPV_encode_picture, MPV_encode_end, .supported_framerates= ff_frame_rate_tab+1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_NONE}, .capabilities= CODEC_CAP_DELAY | CODEC_CAP_SLICE_THREADS, .long_name= NULL_IF_CONFIG_SMALL("MPEG-1 video"), }
Definition at line 928 of file mpeg12enc.c.
Initial value:
{ "mpeg2video", AVMEDIA_TYPE_VIDEO, CODEC_ID_MPEG2VIDEO, sizeof(MpegEncContext), encode_init, MPV_encode_picture, MPV_encode_end, .supported_framerates= ff_frame_rate_tab+1, .pix_fmts= (const enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_NONE}, .capabilities= CODEC_CAP_DELAY | CODEC_CAP_SLICE_THREADS, .long_name= NULL_IF_CONFIG_SMALL("MPEG-2 video"), }
Definition at line 942 of file mpeg12enc.c.
const uint8_t inv_non_linear_qscale[13] [static] |
Initial value:
{ 0, 2, 4, 6, 8, 9,10,11,12,13,14,15,16, }
Definition at line 38 of file mpeg12enc.c.
Referenced by put_qscale().
uint32_t mpeg1_chr_dc_uni[512] [static] |
uint8_t mpeg1_index_run[2][64] [static] |
Definition at line 66 of file mpeg12enc.c.
Referenced by ff_mpeg1_encode_init(), and mpeg1_encode_block().
uint32_t mpeg1_lum_dc_uni[512] [static] |
int8_t mpeg1_max_level[2][64] [static] |
Definition at line 67 of file mpeg12enc.c.
Referenced by ff_mpeg1_encode_init(), and mpeg1_encode_block().
uint8_t mv_penalty[MAX_FCODE+1][MAX_MV *2+1] [static] |
Definition at line 56 of file mpeg12enc.c.
const uint8_t svcd_scan_offset_placeholder[14] [static] |
Initial value:
{ 0x10, 0x0E, 0x00, 0x80, 0x81, 0x00, 0x80, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, }
Definition at line 43 of file mpeg12enc.c.
Referenced by mpeg1_encode_picture_header().
uint8_t uni_mpeg1_ac_vlc_len[64 *64 *2] [static] |
uint8_t uni_mpeg2_ac_vlc_len[64 *64 *2] [static] |