FFmpeg
Data Structures | Macros | Functions | Variables
internal.h File Reference

common internal api header. More...

#include <stdint.h>
#include "libavutil/buffer.h"
#include "libavutil/channel_layout.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixfmt.h"
#include "avcodec.h"
#include "config.h"

Go to the source code of this file.

Data Structures

struct   FramePool
 
struct   AVCodecInternal
 
struct   AVCodecDefault
 

Macros

#define  FF_SANE_NB_CHANNELS   63U
 
#define  FF_SIGNBIT(x)   ((x) >> CHAR_BIT * sizeof(x) - 1)
 
#define  STRIDE_ALIGN   8
 
  Maximum size in bytes of extradata.
 

Functions

int  ff_match_2uint16 (const uint16_t(*tab)[2], int size, int a, int b)
  Return the index into tab at which {a,b} match elements {[0],[1]} of tab.
 
unsigned int  avpriv_toupper4 (unsigned int x)
 
  does needed setup of pkt_pts/pos and such for (re)get_buffer();
 
 
 
 
 
 
int  ff_alloc_packet2 (AVCodecContext *avctx, AVPacket *avpkt, int64_t size)
  Check AVPacket size and/or allocate data.
 
int  ff_alloc_packet (AVPacket *avpkt, int size)
 
static av_always_inline int64_t  ff_samples_to_time_base (AVCodecContext *avctx, int64_t samples)
  Rescale from sample rate to AVCodecContext.time_base.
 
  Get a buffer for a frame.
 
  Identical in function to av_frame_make_writable(), except it uses ff_get_buffer() to allocate the buffer when needed.
 
 
 
  Call avcodec_open2 recursively by decrementing counter, unlocking mutex, calling the function and then restoring again.
 
int  avpriv_bprint_to_extradata (AVCodecContext *avctx, struct AVBPrint *buf)
  Finalize buf into extradata and set its size appropriately.
 
const uint8_tavpriv_find_start_code (const uint8_t *p, const uint8_t *end, uint32_t *state)
 
  Check that the provided frame dimensions are valid and set them on the codec context.
 
int  ff_set_sar (AVCodecContext *avctx, AVRational sar)
  Check that the provided sample aspect ratio is valid and set it on the codec context.
 
  Add or update AV_FRAME_DATA_MATRIXENCODING side data.
 
int  ff_get_format (AVCodecContext *avctx, const enum AVPixelFormat *fmt)
  Select the (possibly hardware accelerated) pixel format.
 
  Set various frame properties from the codec context / packet data.
 

Variables

const uint8_t  ff_log2_run [41]
 
volatile int  ff_avcodec_locked
 

Detailed Description

common internal api header.

Definition in file internal.h.

Macro Definition Documentation

#define FF_SANE_NB_CHANNELS   63U

Definition at line 36 of file internal.h.

Referenced by avcodec_open2(), and ff_init_buffer_info().

#define FF_SIGNBIT (   x )    ((x) >> CHAR_BIT * sizeof(x) - 1)

Definition at line 38 of file internal.h.

Referenced by dnxhd_10bit_dct_quantize(), inter_predict(), mv_pred_direct(), and scale_mv().

#define STRIDE_ALIGN   8

Definition at line 45 of file internal.h.

Referenced by avcodec_align_dimensions2(), load_input_picture(), and update_frame_pool().

#define FF_MAX_EXTRADATA_SIZE   ((1 << 28) - FF_INPUT_BUFFER_PADDING_SIZE)

Maximum size in bytes of extradata.

This value was chosen such that every bit of the buffer is addressable by a 32-bit signed integer as used by get_bits.

Definition at line 171 of file internal.h.

Referenced by avcodec_open2(), and avformat_find_stream_info().

Function Documentation

int ff_match_2uint16 ( const uint16_t(*)  tab[2],
int  size,
int  a,
int  b 
)

Return the index into tab at which {a,b} match elements {[0],[1]} of tab.

If there is no such matching pair then size is returned.

Definition at line 3512 of file utils.c.

Referenced by ff_h263_encode_picture_header(), ff_mpv_encode_init(), and svq1_write_header().

unsigned int avpriv_toupper4 ( unsigned int  x )

Definition at line 3648 of file utils.c.

Referenced by ff_codec_get_id(), ff_mpv_decode_init(), mpeg_decode_frame(), and validate_codec_tag().

int ff_init_buffer_info ( AVCodecContexts,
AVFrameframe 
)

does needed setup of pkt_pts/pos and such for (re)get_buffer();

Definition at line 738 of file utils.c.

Referenced by ff_decode_frame_props(), get_buffer_internal(), reget_buffer_internal(), and thread_get_buffer_internal().

void avpriv_color_frame ( AVFrameframe,
const int  color[4] 
)

Definition at line 692 of file utils.c.

Referenced by h264_frame_start().

int ff_lock_avcodec ( AVCodecContextlog_ctx )

Definition at line 3597 of file utils.c.

Referenced by avcodec_open2(), and ff_codec_open2_recursive().

int ff_unlock_avcodec ( void  )

Definition at line 3617 of file utils.c.

Referenced by avcodec_open2(), ff_codec_open2_recursive(), and ff_lock_avcodec().

int avpriv_lock_avformat ( void  )

Definition at line 3630 of file utils.c.

Referenced by avisynth_read_close(), avisynth_read_header(), ff_tls_deinit(), and ff_tls_init().

int avpriv_unlock_avformat ( void  )

Definition at line 3639 of file utils.c.

Referenced by avisynth_read_close(), avisynth_read_header(), ff_tls_deinit(), and ff_tls_init().

int ff_alloc_packet2 ( AVCodecContextavctx,
AVPacketavpkt,
int64_t  size 
)

Check AVPacket size and/or allocate data.

Encoders supporting AVCodec.encode2() can use this as a convenience to ensure the output packet data is large enough, whether provided by the user or allocated in this function.

Parameters
avctx the AVCodecContext of the encoder
avpkt the AVPacket If avpkt->data is already set, avpkt->size is checked to ensure it is large enough. If avpkt->data is NULL, a new buffer is allocated. avpkt->size is set to the specified size. All other AVPacket fields will be reset with av_init_packet().
size the minimum required packet size
Returns
0 on success, negative error code on failure

Definition at line 1720 of file utils.c.

Referenced by a64multi_encode_frame(), aac_encode_frame(), aacPlus_encode_frame(), adx_encode_frame(), alac_encode_frame(), amr_wb_encode_frame(), avui_encode_frame(), bmp_encode_frame(), cinepak_encode_frame(), dnxhd_encode_picture(), dvvideo_encode_frame(), encode_frame(), encode_nals(), encode_picture_ls(), encode_superframe(), Faac_encode_frame(), ff_alloc_packet(), ff_mpv_encode_picture(), flac_encode_frame(), flashsv2_encode_frame(), flashsv_encode_frame(), gif_encode_frame(), ilbc_encode_frame(), libgsm_encode_frame(), libopenjpeg_encode_frame(), libopus_encode(), libschroedinger_encode_frame(), libshine_encode_frame(), libvorbis_encode_frame(), ljpeg_encode_frame(), mp3lame_encode_frame(), MPA_encode_frame(), pam_encode_frame(), pcm_encode_frame(), pcx_encode_frame(), pnm_encode_frame(), process_output_surface(), prores_encode_frame(), qtrle_encode_frame(), ra144_encode_frame(), raw_encode(), roq_dpcm_encode_frame(), roq_encode_frame(), s302m_encode2_frame(), storeframe(), sunrast_encode_frame(), svq1_encode_frame(), targa_encode_frame(), tta_encode_frame(), twolame_encode_frame(), utvideo_encode_frame(), v308_encode_frame(), v408_encode_frame(), v410_encode_frame(), vorbis_encode_frame(), wavpack_encode_frame(), XAVS_frame(), xbm_encode_frame(), xface_encode_frame(), xvid_encode_frame(), xwd_encode_frame(), y41p_encode_frame(), and yuv4_encode_frame().

int ff_alloc_packet ( AVPacketavpkt,
int  size 
)

Definition at line 1776 of file utils.c.

Referenced by cng_encode_frame(), encode_frame(), libwebp_encode_frame(), libx265_encode_frame(), and svc_encode_frame().

static av_always_inline int64_t ff_samples_to_time_base ( AVCodecContextavctx,
int64_t  samples 
)
static

Rescale from sample rate to AVCodecContext.time_base.

Definition at line 197 of file internal.h.

Referenced by amr_wb_encode_frame(), avcodec_encode_audio(), avcodec_encode_audio2(), encode_frame(), encode_superframe(), ff_af_queue_remove(), flac_encode_frame(), libvorbis_encode_frame(), MPA_encode_frame(), tta_encode_frame(), twolame_encode_frame(), vorbis_encode_frame(), and wavpack_encode_frame().

int ff_get_buffer ( AVCodecContextavctx,
AVFrameframe,
int  flags 
)

Get a buffer for a frame.

This is a wrapper around AVCodecContext.get_buffer() and should be used instead calling get_buffer() directly.

Definition at line 1030 of file utils.c.

Referenced by ac3_decode_frame(), adpcm_decode_frame(), adx_decode_frame(), aic_decode_frame(), alloc_frame(), amrnb_decode_frame(), amrwb_decode_frame(), ape_decode_frame(), atrac1_decode_frame(), atrac3_decode_frame(), atrac3p_decode_frame(), aura_decode_frame(), avui_decode_frame(), bfi_decode_frame(), bmp_decode_frame(), bmv_aud_decode_frame(), cdg_decode_frame(), cdxl_decode_frame(), cinaudio_decode_frame(), cllc_decode_frame(), cmv_decode_frame(), cng_decode_frame(), cook_decode_frame(), copy_frame(), copy_output(), cyuv_decode_frame(), dca_decode_frame(), decode_frame(), decode_pic(), decode_tag(), decode_thread(), dfa_decode_frame(), dpcm_decode_frame(), dss_sp_decode_frame(), dvvideo_decode_frame(), dxtory_decode_v1_410(), dxtory_decode_v1_420(), dxtory_decode_v1_444(), dxtory_decode_v1_rgb(), dxtory_decode_v2_410(), dxtory_decode_v2_420(), dxtory_decode_v2_444(), dxtory_decode_v2_565(), dxtory_decode_v2_rgb(), eightsvx_decode_frame(), escape124_decode_frame(), escape130_decode_frame(), evrc_decode_frame(), execute_code(), fdk_aac_decode_frame(), ff_ivi_decode_frame(), ff_mjpeg_decode_sof(), ff_snow_common_init_after_header(), ff_snow_get_buffer(), ff_thread_get_buffer(), ff_twinvq_decode_frame(), ff_vp56_decode_frame(), frame_configure_elements(), g2m_decode_frame(), g722_decode_frame(), g723_1_decode_frame(), get_buffer(), get_buffer_with_edge(), gif_decode_frame(), gsm_decode_frame(), hnm_decode_frame(), hqx_decode_frame(), idcin_decode_frame(), ilbc_decode_frame(), imc_decode_frame(), ipvideo_decode_frame(), libcelt_dec_decode(), libgsm_decode_frame(), libopus_decode(), libschroedinger_decode_frame(), libspeex_decode_frame(), mace_decode_frame(), mp_decode_frame(), mpc7_decode_frame(), mpc8_decode_frame(), mss2_decode_frame(), mxpeg_decode_frame(), oggvorbis_decode_frame(), on2avc_decode_frame(), opus_decode_packet(), output_data(), paf_audio_decode(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcm_dvd_decode_frame(), pcx_decode_frame(), pix_decode_frame(), pnm_decode_frame(), ptx_decode_frame(), qcelp_decode_frame(), qdm2_decode_frame(), ra144_decode_frame(), ra288_decode_frame(), reget_buffer_internal(), rl2_decode_frame(), roq_encode_frame(), s302m_decode_frame(), shorten_decode_frame(), sipr_decode_frame(), smka_decode_frame(), submit_packet(), sunrast_decode_frame(), svq1_decode_frame(), svq1_encode_frame(), synth_superframe(), tgq_decode_frame(), tgv_decode_frame(), thread_get_buffer_internal(), tmv_decode_frame(), tqi_decode_frame(), truespeech_decode_frame(), txd_decode_frame(), v308_decode_frame(), v408_decode_frame(), v410_decode_frame(), vble_decode_frame(), vcr1_decode_frame(), vmdaudio_decode_frame(), vmdvideo_decode_frame(), vorbis_decode_frame(), vp8_decode(), vqa_decode_frame(), wavesynth_decode(), wma_decode_superframe(), ws_snd_decode_frame(), xan_decode_frame(), xbm_decode_frame(), xface_decode_frame(), xwd_decode_frame(), y216_decode_frame(), y41p_decode_frame(), yuv4_decode_frame(), zero12v_decode_frame(), and zerocodec_decode_frame().

int ff_reget_buffer ( AVCodecContextavctx,
AVFrameframe 
)

Identical in function to av_frame_make_writable(), except it uses ff_get_buffer() to allocate the buffer when needed.

Definition at line 1077 of file utils.c.

Referenced by aasc_decode_frame(), avs_decode_frame(), bethsoftvid_decode_frame(), cdg_decode_frame(), cinepak_decode_frame(), cinvideo_decode_frame(), cpia_decode_frame(), decode_frame(), fic_decode_frame(), flashsv_decode_frame(), flic_decode_frame_15_16BPP(), flic_decode_frame_8BPP(), gif_decode_frame(), ir2_decode_frame(), mm_decode_frame(), mp_decode_frame(), msrle_decode_frame(), mss1_decode_frame(), mss2_decode_frame(), mss3_decode_frame(), mss4_decode_frame(), msvideo1_decode_frame(), mvc_decode_frame(), paf_video_decode(), qtrle_decode_frame(), roq_decode_frame(), rpza_decode_frame(), seqvideo_decode_frame(), sgirle_decode_frame(), smc_decode_frame(), truemotion1_decode_frame(), tscc2_decode_frame(), ulti_decode_frame(), xan_decode_frame(), and yop_decode_frame().

int ff_thread_can_start_frame ( AVCodecContextavctx )

Definition at line 743 of file pthread_frame.c.

Referenced by ff_mpv_frame_start(), and h264_frame_start().

int avpriv_h264_has_num_reorder_frames ( AVCodecContextavctx )

Definition at line 56 of file h264.c.

Referenced by has_decode_delay_been_guessed().

int ff_codec_open2_recursive ( AVCodecContextavctx,
const AVCodeccodec,
AVDictionary **  options 
)

Call avcodec_open2 recursively by decrementing counter, unlocking mutex, calling the function and then restoring again.

Assumes the mutex is already locked

Definition at line 1313 of file utils.c.

Referenced by smvjpeg_decode_init().

int avpriv_bprint_to_extradata ( AVCodecContextavctx,
struct AVBPrint *  buf 
)

Finalize buf into extradata and set its size appropriately.

Definition at line 3757 of file utils.c.

Referenced by ass_read_header(), dvdsub_init(), jacosub_read_header(), sami_read_header(), and subviewer_read_header().

const uint8_t* avpriv_find_start_code ( const uint8_tp,
const uint8_tend,
uint32_t *  state 
)

Referenced by cavs_decode_frame(), decode_chunks(), ff_mpeg1_find_frame_end(), ff_mpeg4video_split(), ff_rtp_send_mpegvideo(), find_next_marker(), find_start_code(), h264_split(), mpeg_decode_slice(), mpegts_write_packet_internal(), mpegvideo_extract_headers(), mxf_parse_h264_frame(), parse_nal_units(), slice_decode_thread(), and vc1_split().

int ff_set_dimensions ( AVCodecContexts,
int  width,
int  height 
)

Check that the provided frame dimensions are valid and set them on the codec context.

Definition at line 229 of file utils.c.

Referenced by apply_param_change(), avcodec_open2(), avcodec_set_dimensions(), avpriv_dirac_parse_sequence_header(), avs_decode_init(), cdxl_decode_frame(), cmv_process_header(), decode_frame(), decode_frame_headers(), decode_init(), dnxhd_decode_frame(), dvdsub_parse_extradata(), dvvideo_decode_frame(), execute_code(), ff_h263_decode_frame(), ff_ivi_decode_frame(), ff_mjpeg_decode_sof(), ff_rv34_decode_frame(), ff_vc1_decode_entry_point(), ff_vc1_decode_sequence_header(), flashsv_decode_frame(), g2m_decode_frame(), gif_decode_frame(), h261_decode_frame(), init_image(), libopenjpeg_decode_frame(), mpeg4_decode_header(), mpegvideo_extract_headers(), mvc_decode_init(), parse_presentation_segment(), pcx_decode_frame(), pix_decode_frame(), process_frame_obj(), ptx_decode_frame(), rv20_decode_picture_header(), smvjpeg_decode_frame(), sunrast_decode_frame(), svq1_decode_frame(), tgq_decode_frame(), tgv_decode_frame(), tqi_decode_frame(), truemotion1_decode_header(), txd_decode_frame(), update_dimensions(), vp56_size_changed(), vp5_parse_header(), vp6_parse_header(), vp8_decode(), vp8_lossless_decode_frame(), and xbm_decode_frame().

int ff_set_sar ( AVCodecContextavctx,
AVRational  sar 
)

Check that the provided sample aspect ratio is valid and set it on the codec context.

Definition at line 244 of file utils.c.

Referenced by avpriv_dirac_parse_sequence_header(), decode_frame(), decode_header(), decode_sequence_header_adv(), dvvideo_decode_frame(), ff_h263_decode_frame(), h264_slice_header_init(), mjpeg_decode_app(), set_sps(), and truemotion1_decode_header().

int ff_side_data_update_matrix_encoding ( AVFrameframe,
enum AVMatrixEncoding  matrix_encoding 
)

Add or update AV_FRAME_DATA_MATRIXENCODING side data.

Definition at line 259 of file utils.c.

Referenced by ac3_decode_frame(), dca_decode_frame(), and output_data().

int ff_get_format ( AVCodecContextavctx,
const enum AVPixelFormatfmt 
)

Select the (possibly hardware accelerated) pixel format.

This is a wrapper around AVCodecContext.get_format() and should be used instead of calling get_format() directly.

Definition at line 1193 of file utils.c.

Referenced by decode_init(), ff_thread_get_format(), h263_get_format(), qsv_process_data(), submit_packet(), and vc1_decode_init().

int ff_decode_frame_props ( AVCodecContextavctx,
AVFrameframe 
)

Set various frame properties from the codec context / packet data.

Definition at line 864 of file utils.c.

Referenced by get_buffer_internal(), raw_decode(), and reget_buffer_internal().

Variable Documentation

const uint8_t ff_log2_run[41]

Definition at line 38 of file bitstream.c.

Referenced by decode_line(), encode_line(), ls_decode_line(), ls_encode_line(), and ls_encode_run().

volatile int ff_avcodec_locked

Definition at line 120 of file utils.c.

Referenced by ff_lock_avcodec(), and ff_unlock_avcodec().


Generated on Sun Mar 8 2015 02:35:21 for FFmpeg by   doxygen 1.8.2

AltStyle によって変換されたページ (->オリジナル) /