FFmpeg
|
#include "config_components.h"
#include <limits.h>
#include "libavutil/attributes.h"
#include "libavutil/thread.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "mpegvideo.h"
#include "mpegvideodata.h"
#include "flvenc.h"
#include "mpegvideoenc.h"
#include "h263.h"
#include "h263enc.h"
#include "h263data.h"
#include "h263dsp.h"
#include "mathops.h"
#include "mpegutils.h"
#include "internal.h"
Go to the source code of this file.
Macros | |
#define | UNI_MPEG4_ENC_INDEX(last, run, level) ((last)*128*64 + (run)*128 + (level)) |
#define | OFFSET(x) offsetof(MpegEncContext, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
av_const int | ff_h263_aspect_to_info (AVRational aspect) |
Return the 4 bit value that specifies the given aspect ratio. More... | |
void | ff_h263_encode_picture_header (MpegEncContext *s) |
void | ff_h263_encode_gob_header (MpegEncContext *s, int mb_line) |
Encode a group of blocks header. More... | |
void | ff_clean_h263_qscales (MpegEncContext *s) |
modify qscale so that encoding is actually possible in H.263 (limit difference to -2..2) More... | |
static void | h263_encode_block (MpegEncContext *s, int16_t *block, int n) |
Encode an 8x8 block. More... | |
static void | h263p_encode_umotion (PutBitContext *pb, int val) |
static int | h263_pred_dc (MpegEncContext *s, int n, int16_t **dc_val_ptr) |
void | ff_h263_encode_mb (MpegEncContext *s, int16_t block[6][64], int motion_x, int motion_y) |
void | ff_h263_update_mb (MpegEncContext *s) |
void | ff_h263_encode_motion (PutBitContext *pb, int val, int f_code) |
static av_cold void | init_mv_penalty_and_fcode (void) |
static av_cold void | init_uni_h263_rl_tab (const RLTable *rl, uint8_t *len_tab) |
static av_cold void | h263_encode_init_static (void) |
av_cold void | ff_h263_encode_init (MpegEncContext *s) |
void | ff_h263_encode_mba (MpegEncContext *s) |
Variables | |
static uint8_t | mv_penalty [MAX_FCODE+1][MAX_DMV *2+1] |
Table of number of bits a motion vector component needs. More... | |
static uint8_t | fcode_tab [MAX_MV *2+1] |
Minimal fcode that a motion vector component would need. More... | |
static uint8_t | umv_fcode_tab [MAX_MV *2+1] |
Minimal fcode that a motion vector component would need in umv. More... | |
static uint8_t | uni_h263_intra_aic_rl_len [64 *64 *2 *2] |
static uint8_t | uni_h263_inter_rl_len [64 *64 *2 *2] |
static const uint8_t | wrong_run [102] |
static const int | dquant_code [5] = {1,0,9,2,3} |
static const AVOption | h263_options [] |
static const AVClass | h263_class |
const FFCodec | ff_h263_encoder |
static const AVOption | h263p_options [] |
static const AVClass | h263p_class |
const FFCodec | ff_h263p_encoder |
H.263 bitstream encoder.
Definition in file ituh263enc.c.
Definition at line 72 of file ituh263enc.c.
#define OFFSET | ( | x | ) | offsetof(MpegEncContext, x) |
Definition at line 900 of file ituh263enc.c.
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 901 of file ituh263enc.c.
av_const int ff_h263_aspect_to_info | ( | AVRational | aspect | ) |
Return the 4 bit value that specifies the given aspect ratio.
This may be one of the standard aspect ratios or it specifies that the aspect will be stored explicitly later.
Definition at line 95 of file ituh263enc.c.
Referenced by ff_h263_encode_picture_header(), and mpeg4_encode_vol_header().
void ff_h263_encode_picture_header | ( | MpegEncContext * | s | ) |
Definition at line 109 of file ituh263enc.c.
Referenced by encode_picture().
void ff_h263_encode_gob_header | ( | MpegEncContext * | s, |
int | mb_line | ||
) |
Encode a group of blocks header.
Definition at line 247 of file ituh263enc.c.
Referenced by encode_thread().
void ff_clean_h263_qscales | ( | MpegEncContext * | s | ) |
modify qscale so that encoding is actually possible in H.263 (limit difference to -2..2)
Definition at line 273 of file ituh263enc.c.
Referenced by estimate_qp(), and ff_clean_mpeg4_qscales().
|
static |
Encode an 8x8 block.
block | the 8x8 block |
n | block index (0-3 are luma, 4-5 are chroma) |
Definition at line 304 of file ituh263enc.c.
Referenced by ff_h263_encode_mb().
|
static |
Definition at line 415 of file ituh263enc.c.
Referenced by ff_h263_encode_mb().
|
static |
Definition at line 452 of file ituh263enc.c.
Referenced by ff_h263_encode_mb().
void ff_h263_encode_mb | ( | MpegEncContext * | s, |
int16_t | block[6][64], | ||
int | motion_x, | ||
int | motion_y | ||
) |
Definition at line 493 of file ituh263enc.c.
Referenced by encode_mb_internal().
void ff_h263_update_mb | ( | MpegEncContext * | s | ) |
Definition at line 690 of file ituh263enc.c.
Referenced by encode_thread().
void ff_h263_encode_motion | ( | PutBitContext * | pb, |
int | val, | ||
int | f_code | ||
) |
Definition at line 707 of file ituh263enc.c.
Referenced by ff_h263_encode_motion_vector(), and svq1_encode_plane().
|
static |
Definition at line 734 of file ituh263enc.c.
Referenced by h263_encode_init_static().
Definition at line 776 of file ituh263enc.c.
Referenced by h263_encode_init_static().
|
static |
Definition at line 817 of file ituh263enc.c.
Referenced by ff_h263_encode_init().
av_cold void ff_h263_encode_init | ( | MpegEncContext * | s | ) |
Definition at line 830 of file ituh263enc.c.
Referenced by encode_init(), ff_mpv_encode_init(), and svq1_encode_init().
void ff_h263_encode_mba | ( | MpegEncContext * | s | ) |
Definition at line 889 of file ituh263enc.c.
Referenced by ff_h263_encode_gob_header(), ff_h263_encode_picture_header(), and ff_rv20_encode_picture_header().
Table of number of bits a motion vector component needs.
Definition at line 53 of file ituh263enc.c.
Referenced by epzs_motion_search_internal(), estimate_motion_b(), ff_h263_encode_init(), get_mb_score(), h263_mv4_search(), hpel_motion_search(), init_mv_penalty_and_fcode(), interlaced_search(), qpel_motion_search(), and sab_diamond_search().
|
static |
Minimal fcode that a motion vector component would need.
Definition at line 58 of file ituh263enc.c.
Referenced by ff_get_best_fcode(), ff_h263_encode_init(), and init_mv_penalty_and_fcode().
|
static |
Minimal fcode that a motion vector component would need in umv.
All entries in this table are 1.
Definition at line 64 of file ituh263enc.c.
Referenced by ff_h263_encode_init(), and init_mv_penalty_and_fcode().
|
static |
Definition at line 68 of file ituh263enc.c.
Referenced by ff_h263_encode_init(), and h263_encode_init_static().
|
static |
Definition at line 69 of file ituh263enc.c.
Referenced by ff_h263_encode_init(), and h263_encode_init_static().
|
static |
Definition at line 74 of file ituh263enc.c.
Referenced by h263_encode_block().
|
static |
Definition at line 297 of file ituh263enc.c.
Referenced by ff_h263_encode_mb().
|
static |
Definition at line 902 of file ituh263enc.c.
|
static |
Definition at line 910 of file ituh263enc.c.
const FFCodec ff_h263_encoder |
Definition at line 917 of file ituh263enc.c.
|
static |
Definition at line 933 of file ituh263enc.c.
|
static |
Definition at line 942 of file ituh263enc.c.
const FFCodec ff_h263p_encoder |
Definition at line 949 of file ituh263enc.c.