37 put_bits(&pb, 5,
s->avctx->time_base.den /
s->avctx->time_base.num);
44 put_bits(&pb, 1,
w->top_left_mv_flag = 0);
50 s->slice_height =
s->mb_height /
code;
83 s->dc_table_index = 1;
84 s->mv_table_index = 1;
85 s->per_mb_rl_table = 0;
101 if (!
s->per_mb_rl_table) {
108 s->inter_intra_pred = 0;
126 if (
w->per_mb_rl_bit)
129 if (!
s->per_mb_rl_table) {
131 s->rl_chroma_table_index =
s->rl_table_index;
136 s->inter_intra_pred = 0;
138 s->esc3_level_length = 0;
139 s->esc3_run_length = 0;
148 int motion_x,
int motion_y)
151 int cbp, coded_cbp,
i;
160 for (
i = 0;
i < 6;
i++)
161 if (
s->block_last_index[
i] >= 0)
178 for (
i = 0;
i < 6;
i++) {
180 val = (
s->block_last_index[
i] >= 1);
181 cbp |=
val << (5 -
i);
188 coded_cbp |=
val << (5 -
i);
200 if (
s->inter_intra_pred) {
209 for (
i = 0;
i < 6;
i++)
static double val(void *priv, double ch)
#define av_assert0(cond)
assert() equivalent, that is always enabled.
Libavcodec external API header.
static av_cold int init(AVCodecContext *avctx)
#define AV_INPUT_BUFFER_PADDING_SIZE
Required number of additionally allocated bytes at the end of the input bitstream for decoding.
const char * av_default_item_name(void *ptr)
Return the context name.
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
@ AV_PICTURE_TYPE_I
Intra.
#define LIBAVUTIL_VERSION_INT
int16_t * ff_h263_pred_motion(MpegEncContext *s, int block, int dir, int *px, int *py)
static void put_bits(Jpeg2000EncoderContext *s, int val, int n)
put n times val bit
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static enum AVPixelFormat pix_fmts[]
const AVOption ff_mpv_generic_options[]
int ff_mpv_encode_end(AVCodecContext *avctx)
int ff_mpv_encode_picture(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static int get_bits_diff(MpegEncContext *s)
int ff_mpv_encode_init(AVCodecContext *avctx)
int ff_msmpeg4_coded_block_pred(MpegEncContext *s, int n, uint8_t **coded_block_ptr)
void ff_msmpeg4_encode_block(MpegEncContext *s, int16_t *block, int n)
void ff_msmpeg4_code012(PutBitContext *pb, int n)
void ff_msmpeg4_encode_motion(MpegEncContext *s, int mx, int my)
void ff_msmpeg4_handle_slices(MpegEncContext *s)
const uint16_t ff_msmp4_mb_i_table[64][2]
const uint8_t ff_table_inter_intra[4][2]
const uint32_t(*const [WMV2_INTER_CBP_TABLE_COUNT] ff_wmv2_inter_table)[2]
AVPixelFormat
Pixel format.
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
static void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
Initialize the PutBitContext s.
static void flush_put_bits(PutBitContext *s)
Pad the end of the output stream with zeros.
static const float pred[4]
Describe the class of an AVClass context structure.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
main external API structure.
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
const char * name
Name of the codec implementation.
av_cold void ff_wmv2_common_init(Wmv2Context *w)
static av_always_inline int wmv2_get_cbp_table_index(MpegEncContext *s, int cbp_index)
int ff_wmv2_encode_picture_header(MpegEncContext *s, int picture_number)
static const AVClass wmv2_class
static av_cold int wmv2_encode_init(AVCodecContext *avctx)
void ff_wmv2_encode_mb(MpegEncContext *s, int16_t block[6][64], int motion_x, int motion_y)
static int encode_ext_header(Wmv2Context *w)