113 }
else if(s->
qscale <= 20){
152 int motion_x,
int motion_y)
155 int cbp, coded_cbp, i;
157 uint8_t *coded_block;
164 for (i = 0; i < 6; i++) {
181 for (i = 0; i < 6; i++) {
184 cbp |= val << (5 - i);
191 coded_cbp |= val << (5 - i);
209 for (i = 0; i < 6; i++) {
void * av_mallocz(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...
static int encode_ext_header(Wmv2Context *w)
int MPV_encode_init(AVCodecContext *avctx)
const uint32_t(*const [WMV2_INTER_CBP_TABLE_COUNT] wmv2_inter_table)[2]
int16_t * ff_h263_pred_motion(MpegEncContext *s, int block, int dir, int *px, int *py)
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
static av_cold int wmv2_encode_init(AVCodecContext *avctx)
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
int no_rounding
apply no rounding to motion compensation (MPEG4, msmpeg4, ...) for b-frames rounding mode is always 0...
int mb_height
number of MBs horizontally & vertically
void ff_wmv2_encode_mb(MpegEncContext *s, DCTELEM block[6][64], int motion_x, int motion_y)
static int init(AVCodecParserContext *s)
const uint16_t ff_msmp4_mb_i_table[64][2]
int rl_chroma_table_index
int MPV_encode_end(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
int MPV_encode_picture(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data)
const char * name
Name of the codec implementation.
static void put_bits(PutBitContext *s, int n, unsigned int value)
Write up to 31 bits into a bitstream.
int block_last_index[12]
last non zero coefficient in block
void ff_msmpeg4_encode_motion(MpegEncContext *s, int mx, int my)
static const float pred[4]
main external API structure.
static void close(AVCodecParserContext *s)
struct Wmv2Context Wmv2Context
int slice_height
in macroblocks
const uint8_t table_inter_intra[4][2]
void ff_msmpeg4_handle_slices(MpegEncContext *s)
int pict_type
AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ...
int bit_rate
wanted bit rate
struct AVCodecContext * avctx
PutBitContext pb
bit output
void ff_msmpeg4_code012(PutBitContext *pb, int n)
static void flush_put_bits(PutBitContext *s)
Pad the end of the output stream with zeros.
static void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
Initialize the PutBitContext s.
av_cold void ff_wmv2_common_init(Wmv2Context *w)
int ff_msmpeg4_coded_block_pred(MpegEncContext *s, int n, uint8_t **coded_block_ptr)
int h263_aic_dir
AIC direction: 0 = left, 1 = top.
void ff_msmpeg4_encode_block(MpegEncContext *s, DCTELEM *block, int n)
int ff_wmv2_encode_picture_header(MpegEncContext *s, int picture_number)