| 
    FFmpeg
    
   | 
 
The simplest mpeg encoder (well, it was the simplest!). More...
#include <stdint.h>#include "libavutil/internal.h"#include "libavutil/intmath.h"#include "libavutil/mathematics.h"#include "libavutil/pixdesc.h"#include "libavutil/opt.h"#include "libavutil/timer.h"#include "avcodec.h"#include "dct.h"#include "idctdsp.h"#include "mpeg12.h"#include "mpegvideo.h"#include "mpegvideodata.h"#include "h261.h"#include "h263.h"#include "h263data.h"#include "mjpegenc_common.h"#include "mathops.h"#include "mpegutils.h"#include "mjpegenc.h"#include "msmpeg4.h"#include "pixblockdsp.h"#include "qpeldsp.h"#include "faandct.h"#include "thread.h"#include "aandcttab.h"#include "flv.h"#include "mpeg4video.h"#include "internal.h"#include "bytestream.h"#include "wmv2.h"#include "rv10.h"#include <limits.h>#include "sp5x.h"Go to the source code of this file.
Macros | |
| #define | QUANT_BIAS_SHIFT 8 | 
| #define | QMAT_SHIFT_MMX 16 | 
| #define | QMAT_SHIFT 21 | 
| #define | COPY(a) dst->a= src->a | 
| #define | MERGE(field) dst->field += src->field; src->field=0 | 
| #define | OFFSET(x) offsetof(MpegEncContext, x) | 
| #define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM | 
Variables | |
| static uint8_t | default_mv_penalty [MAX_FCODE+1][MAX_DMV *2+1] | 
| static uint8_t | default_fcode_tab [MAX_MV *2+1] | 
| const AVOption | ff_mpv_generic_options [] | 
| static int16_t | basis [64][64] | 
| static const AVOption | h263_options [] | 
| static const AVClass | h263_class | 
| AVCodec | ff_h263_encoder | 
| static const AVOption | h263p_options [] | 
| static const AVClass | h263p_class | 
| AVCodec | ff_h263p_encoder | 
| static const AVClass | msmpeg4v2_class | 
| AVCodec | ff_msmpeg4v2_encoder | 
| static const AVClass | msmpeg4v3_class | 
| AVCodec | ff_msmpeg4v3_encoder | 
| static const AVClass | wmv1_class | 
| AVCodec | ff_wmv1_encoder | 
The simplest mpeg encoder (well, it was the simplest!).
Definition in file mpegvideo_enc.c.
| #define QUANT_BIAS_SHIFT 8 | 
Definition at line 70 of file mpegvideo_enc.c.
Referenced by ff_convert_matrix(), ff_dct_quantize_c(), and ff_mpv_encode_init().
| #define QMAT_SHIFT_MMX 16 | 
Definition at line 72 of file mpegvideo_enc.c.
Referenced by ff_convert_matrix().
| #define QMAT_SHIFT 21 | 
Definition at line 73 of file mpegvideo_enc.c.
Referenced by dct_quantize_trellis_c(), ff_convert_matrix(), and ff_dct_quantize_c().
Referenced by update_duplicate_context_after_me().
Definition at line 3583 of file mpegvideo_enc.c.
Referenced by merge_context_after_encode(), and merge_context_after_me().
| #define OFFSET | ( | x | ) | offsetof(MpegEncContext, x) | 
Definition at line 4800 of file mpegvideo_enc.c.
| #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM | 
Definition at line 4801 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 3673 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
      
  | 
  static | 
Definition at line 4303 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
      
  | 
  static | 
Definition at line 2743 of file mpegvideo_enc.c.
Referenced by encode_mb_hq().
      
  | 
  static | 
Definition at line 3948 of file mpegvideo_enc.c.
Referenced by ff_dct_encode_init().
      
  | 
  static | 
Definition at line 3972 of file mpegvideo_enc.c.
Referenced by ff_dct_encode_init().
| void ff_convert_matrix | ( | MpegEncContext * | s, | 
| int(*) | qmat[64], | ||
| uint16_t(*) | qmat16[2][64], | ||
| const uint16_t * | quant_matrix, | ||
| int | bias, | ||
| int | qmin, | ||
| int | qmax, | ||
| int | intra | ||
| ) | 
Definition at line 89 of file mpegvideo_enc.c.
Referenced by dnxhd_init_qmat(), encode_picture(), and ff_mpv_encode_init().
      
  | 
  inlinestatic | 
Definition at line 173 of file mpegvideo_enc.c.
Referenced by encode_mb_internal(), encode_picture(), and estimate_qp().
| void ff_write_quant_matrix | ( | PutBitContext * | pb, | 
| uint16_t * | matrix | ||
| ) | 
Definition at line 201 of file mpegvideo_enc.c.
Referenced by mpeg1_encode_sequence_header(), and mpeg4_encode_vol_header().
| void ff_init_qscale_tab | ( | MpegEncContext * | s | ) | 
init s->current_picture.qscale_table from s->lambda_table
Definition at line 217 of file mpegvideo_enc.c.
Referenced by estimate_qp(), and ff_clean_h263_qscales().
      
  | 
  static | 
Definition at line 230 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Set the given MpegEncContext to defaults for encoding.
the changed fields will not depend upon the prior state of the MpegEncContext.
Definition at line 253 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_init().
| av_cold int ff_dct_encode_init | ( | MpegEncContext * | s | ) | 
Definition at line 268 of file mpegvideo_enc.c.
Referenced by dnxhd_encode_init(), and ff_mpv_encode_init().
| av_cold int ff_mpv_encode_init | ( | AVCodecContext * | avctx | ) | 
Definition at line 286 of file mpegvideo_enc.c.
Referenced by encode_init(), and wmv2_encode_init().
| av_cold int ff_mpv_encode_end | ( | AVCodecContext * | avctx | ) | 
Definition at line 1120 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_init(), and mpeg12_class().
      
  | 
  static | 
Definition at line 1158 of file mpegvideo_enc.c.
Referenced by get_intra_count().
      
  | 
  static | 
Definition at line 1172 of file mpegvideo_enc.c.
Referenced by select_input_picture().
      
  | 
  static | 
Definition at line 1195 of file mpegvideo_enc.c.
Referenced by load_input_picture(), and select_input_picture().
      
  | 
  static | 
Definition at line 1203 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
      
  | 
  static | 
Definition at line 1353 of file mpegvideo_enc.c.
Referenced by select_input_picture().
      
  | 
  static | 
Definition at line 1394 of file mpegvideo_enc.c.
Referenced by estimate_best_b_count().
      
  | 
  static | 
Definition at line 1409 of file mpegvideo_enc.c.
Referenced by select_input_picture().
      
  | 
  static | 
Definition at line 1526 of file mpegvideo_enc.c.
Referenced by ff_mpv_encode_picture().
      
  | 
  static | 
Definition at line 1700 of file mpegvideo_enc.c.
Referenced by bethsoftvid_decode_frame(), bfi_decode_frame(), decode_bmv_frame(), decode_dds1(), decode_dsw1(), decode_tdlt(), decode_tsw1(), decode_wdlt(), ff_h263_decode_frame(), ff_mpv_encode_picture(), get_duration(), gif_read_packet(), and write_subframes().
      
  | 
  static | 
Definition at line 1749 of file mpegvideo_enc.c.
Referenced by frame_start().
      
  | 
  static | 
Definition at line 1770 of file mpegvideo_enc.c.
Referenced by av_timecode_init(), decode_dds1(), decode_dsw1(), decode_tsw1(), ff_mpv_encode_picture(), get_duration(), and gif_read_packet().
| int ff_mpv_encode_picture | ( | AVCodecContext * | avctx, | 
| AVPacket * | pkt, | ||
| const AVFrame * | pic_arg, | ||
| int * | got_packet | ||
| ) | 
Definition at line 1842 of file mpegvideo_enc.c.
Referenced by amv_encode_picture(), and mpeg12_class().
      
  | 
  inlinestatic | 
Definition at line 2103 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
      
  | 
  inlinestatic | 
Definition at line 2159 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
Definition at line 2193 of file mpegvideo_enc.c.
Referenced by encode_mb_internal().
      
  | 
  static | 
Definition at line 2217 of file mpegvideo_enc.c.
Referenced by encode_mb().
      
  | 
  static | 
Definition at line 2597 of file mpegvideo_enc.c.
Referenced by encode_mb_hq(), and encode_thread().
      
  | 
  inlinestatic | 
Definition at line 2604 of file mpegvideo_enc.c.
Referenced by encode_mb_hq(), and encode_thread().
      
  | 
  inlinestatic | 
Definition at line 2632 of file mpegvideo_enc.c.
Referenced by encode_mb_hq(), and encode_thread().
      
  | 
  inlinestatic | 
Definition at line 2671 of file mpegvideo_enc.c.
Referenced by encode_thread().
      
  | 
  static | 
Definition at line 2722 of file mpegvideo_enc.c.
Referenced by block_sse(), encode_thread(), ff_libwebp_get_frame(), ff_showcqt_init_x86(), ff_vp9dsp_init_16bpp_x86(), ff_vp9dsp_init_x86(), main(), run_psnr(), sse_16width_msa(), sse_4width_msa(), sse_8width_msa(), and sse_mb().
      
  | 
  static | 
Definition at line 2766 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 2785 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 2812 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 2837 of file mpegvideo_enc.c.
Referenced by encode_thread().
      
  | 
  static | 
Definition at line 2855 of file mpegvideo_enc.c.
Referenced by update_mb_info().
      
  | 
  static | 
Definition at line 2875 of file mpegvideo_enc.c.
Referenced by encode_thread().
| int ff_mpv_reallocate_putbitbuffer | ( | MpegEncContext * | s, | 
| size_t | threshold, | ||
| size_t | size_increase | ||
| ) | 
Definition at line 2898 of file mpegvideo_enc.c.
Referenced by encode_thread(), and ff_mjpeg_encode_stuffing().
      
  | 
  static | 
Definition at line 2932 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 3584 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 3590 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 3622 of file mpegvideo_enc.c.
Referenced by encode_picture().
      
  | 
  static | 
Definition at line 3659 of file mpegvideo_enc.c.
Referenced by encode_picture().
Definition at line 4284 of file mpegvideo_enc.c.
Referenced by dct_quantize_refine().
| void ff_block_permute | ( | int16_t * | block, | 
| uint8_t * | permutation, | ||
| const uint8_t * | scantable, | ||
| int | last | ||
| ) | 
Permute an 8x8 block according to permutation.
| block | the block which will be permuted according to the given permutation vector | 
| permutation | the permutation vector | 
| last | the last non zero coefficient in scantable order, used to speed the permutation up | 
| scantable | the used scantable, this is only used to speed the permutation up, the block is not (inverse) permutated to scantable order! | 
Definition at line 4694 of file mpegvideo_enc.c.
Referenced by dnxhd_10bit_dct_quantize(), and ff_dct_quantize_c().
| int ff_dct_quantize_c | ( | MpegEncContext * | s, | 
| int16_t * | block, | ||
| int | n, | ||
| int | qscale, | ||
| int * | overflow | ||
| ) | 
Definition at line 4719 of file mpegvideo_enc.c.
Referenced by dnxhd_encode_init(), encode_mb_internal(), and ff_dct_encode_init().
Definition at line 81 of file mpegvideo_enc.c.
Referenced by mpv_encode_defaults().
Definition at line 82 of file mpegvideo_enc.c.
Referenced by mpv_encode_defaults().
| const AVOption ff_mpv_generic_options[] | 
Definition at line 84 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4282 of file mpegvideo_enc.c.
Referenced by add_8x8basis_TMPL(), and try_8x8basis_TMPL().
      
  | 
  static | 
Definition at line 4802 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4809 of file mpegvideo_enc.c.
| AVCodec ff_h263_encoder | 
Definition at line 4816 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4829 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4837 of file mpegvideo_enc.c.
| AVCodec ff_h263p_encoder | 
Definition at line 4844 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4858 of file mpegvideo_enc.c.
| AVCodec ff_msmpeg4v2_encoder | 
Definition at line 4865 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4878 of file mpegvideo_enc.c.
| AVCodec ff_msmpeg4v3_encoder | 
Definition at line 4885 of file mpegvideo_enc.c.
      
  | 
  static | 
Definition at line 4898 of file mpegvideo_enc.c.
| AVCodec ff_wmv1_encoder | 
Definition at line 4905 of file mpegvideo_enc.c.
 1.8.6