input.c File Reference
#include <assert.h>
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avutil.h"
#include "libavutil/bswap.h"
#include "libavutil/cpu.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"

Go to the source code of this file.

Macros

#define RGB2YUV_SHIFT   15
 
#define BY   ((int)(0.114 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define BV   (-(int)(0.081 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define BU   ((int)(0.500 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define GY   ((int)(0.587 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define GV   (-(int)(0.419 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define GU   (-(int)(0.331 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define RY   ((int)(0.299 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define RV   ((int)(0.500 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define RU   (-(int)(0.169 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
 
#define input_pixel(pos)   (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
 
#define r   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE) ? b_r : r_b)
 
#define b   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE) ? r_b : b_r)
 
#define rgb48funcs(pattern, BE_LE, origin)
 
#define input_pixel(i)
 
#define rgb16_32_wrapper(fmt, name, shr, shg, shb, shp, maskr,maskg, maskb, rsh, gsh, bsh, S)
 
#define input_pixel(pos)   (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
 
#define rdpx(src)   is_be ? AV_RB16(src) : AV_RL16(src)
 

Functions

static av_always_inline void rgb48ToY_c_template (uint16_t *dst, const uint16_t *src, int width, enum AVPixelFormat origin)
 
static av_always_inline void rgb48ToUV_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin)
 
static av_always_inline void rgb48ToUV_half_c_template (uint16_t *dstU, uint16_t *dstV, const uint16_t *src1, const uint16_t *src2, int width, enum AVPixelFormat origin)
 
 rgb48funcs (rgb48funcs(rgb, rgb48funcs(LE, AV_PIX_FMT_RGB48LE)
 
static av_always_inline void rgb16_32ToUV_c_template (uint8_t *dstU, uint8_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
 
static av_always_inline void rgb16_32ToUV_half_c_template (uint8_t *dstU, uint8_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
 
 rgb16_32_wrapper (AV_PIX_FMT_BGR32, bgr32, 16, 0, 0, 0, 0xFF0000, 0xFF00, 0x00FF, 8, 0, 8, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_BGR32_1
 
RGB2YUV_SHIFT rgb16_32_wrapper (AV_PIX_FMT_RGB32, rgb32, 0, 0, 16, 0, 0x00FF, 0xFF00, 0xFF0000, 8, 0, 8, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_RGB32_1
 
RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper (AV_PIX_FMT_BGR565LE, bgr16le, 0, 0, 0, 0, 0x001F, 0x07E0, 0xF800, 11, 5, 0, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_BGR555LE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_BGR444LE, bgr12le, 0, 0, 0, 0, 0x000F, 0x00F0, 0x0F00, 8, 4, 0, RGB2YUV_SHIFT+4) rgb16_32_wrapper(AV_PIX_FMT_RGB565LE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_RGB555LE, rgb15le, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, 0, 5, 10, RGB2YUV_SHIFT+7) rgb16_32_wrapper(AV_PIX_FMT_RGB444LE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_BGR565BE, bgr16be, 0, 0, 0, 0, 0x001F, 0x07E0, 0xF800, 11, 5, 0, RGB2YUV_SHIFT+8) rgb16_32_wrapper(AV_PIX_FMT_BGR555BE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_BGR444BE, bgr12be, 0, 0, 0, 0, 0x000F, 0x00F0, 0x0F00, 8, 4, 0, RGB2YUV_SHIFT+4) rgb16_32_wrapper(AV_PIX_FMT_RGB565BE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16_32_wrapper (AV_PIX_FMT_RGB555BE, rgb15be, 0, 0, 0, 0, 0x7C00, 0x03E0, 0x001F, 0, 5, 10, RGB2YUV_SHIFT+7) rgb16_32_wrapper(AV_PIX_FMT_RGB444BE
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT static
RGB2YUV_SHIFT void 
abgrToA_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void rgbaToA_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void palToY_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *pal)
 
static void palToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *pal)
 
static void monowhite2Y_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void monoblack2Y_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void yuy2ToY_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void yuy2ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void bswap16Y_c (uint8_t *_dst, const uint8_t *_src, int width, uint32_t *unused)
 
static void bswap16UV_c (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *_src1, const uint8_t *_src2, int width, uint32_t *unused)
 
static void uyvyToY_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void uyvyToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static av_always_inline void nvXXtoUV_c (uint8_t *dst1, uint8_t *dst2, const uint8_t *src, int width)
 
static void nv12ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void nv21ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void bgr24ToY_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void bgr24ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void bgr24ToUV_half_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void rgb24ToY_c (uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)
 
static void rgb24ToUV_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void rgb24ToUV_half_c (uint8_t *dstU, uint8_t *dstV, const uint8_t *src1, const uint8_t *src2, int width, uint32_t *unused)
 
static void planar_rgb_to_y (uint8_t *dst, const uint8_t *src[4], int width)
 
static void planar_rgb_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int width)
 
static av_always_inline void planar_rgb16_to_y (uint8_t *_dst, const uint8_t *_src[4], int width, int bpc, int is_be)
 
static void planar_rgb9le_to_y (uint8_t *dst, const uint8_t *src[4], int w)
 
static void planar_rgb9be_to_y (uint8_t *dst, const uint8_t *src[4], int w)
 
static void planar_rgb10le_to_y (uint8_t *dst, const uint8_t *src[4], int w)
 
static void planar_rgb10be_to_y (uint8_t *dst, const uint8_t *src[4], int w)
 
static void planar_rgb16le_to_y (uint8_t *dst, const uint8_t *src[4], int w)
 
static void planar_rgb16be_to_y (uint8_t *dst, const uint8_t *src[4], int w)
 
static av_always_inline void planar_rgb16_to_uv (uint8_t *_dstU, uint8_t *_dstV, const uint8_t *_src[4], int width, int bpc, int is_be)
 
static void planar_rgb9le_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int w)
 
static void planar_rgb9be_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int w)
 
static void planar_rgb10le_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int w)
 
static void planar_rgb10be_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int w)
 
static void planar_rgb16le_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int w)
 
static void planar_rgb16be_to_uv (uint8_t *dstU, uint8_t *dstV, const uint8_t *src[4], int w)
 
av_cold void ff_sws_init_input_funcs (SwsContext *c)
 

Variables

 bgr321
 
RGB2YUV_SHIFT rgb321
 
RGB2YUV_SHIFT RGB2YUV_SHIFT bgr15le
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb16le
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb12le
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
bgr15be
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT 
rgb16be
 
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT RGB2YUV_SHIFT
RGB2YUV_SHIFT 
rgb12be
 

Macro Definition Documentation

#define b   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE) ? r_b : b_r)

Definition at line 52 of file input.c.

Referenced by add_bytes_c(), add_bytes_l2_c(), add_hfyu_left_prediction_bgr32_c(), av_add_q(), av_compare_mod(), av_compare_ts(), av_mlfg_get(), av_mul_q(), av_nearer_q(), av_rescale_q_rnd(), avg2(), avg2_no_rnd(), avg_pixels16_l2_altivec(), avio_w8(), avpriv_set_systematic_pal2(), bgr24ToUV_c(), bgr24ToUV_half_c(), bgr24ToY_c(), bgr8torgb8(), bidir_refine(), binkb_read_bundle(), blend_frame(), blur_power(), body(), cdata_probe(), cdg_load_palette(), cdxl_decode_ham6(), cdxl_decode_ham8(), cin_decode_huffman(), compare_vlcspec(), compute_bit_allocation(), compute_lpc_coefs(), compute_mod(), convert_to_rgb32_loco(), decode_555(), decode_audio_s16(), decode_block_coeffs_internal(), decode_blocks(), decode_blocks_ind(), decode_filter_coeffs(), decode_frame(), decode_hybrid(), decode_init(), decode_pal(), decode_rgb_frame(), decode_rle(), decode_scale_factors(), decode_spectrum_and_dequant(), decode_subframe(), decode_subframe_fixed(), decode_tonal_components(), decorrelate(), decorrelate_stereo(), decorrelation(), diff_bytes_c(), dv_encode_video_segment(), dv_guess_qnos(), dvbsub_init_decoder(), dvbsub_parse_clut_segment(), encode_dvb_subtitles(), encode_frame(), encode_picture(), encode_residual_fixed(), encode_rgb_frame(), encode_superframe(), event_cmp(), ff_add_png_paeth_prediction(), ff_adx_calculate_coeffs(), ff_celp_lp_synthesis_filterf(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eval_refl(), ff_h264_chroma_dc_dequant_idct(), ff_h264_filter_mb(), ff_id3v2_parse(), ff_index_search_timestamp(), ff_interp(), ff_ivi_decode_frame(), ff_ivi_init_planes(), ff_ivi_init_tiles(), ff_match_2uint16(), ff_merge_channel_layouts(), ff_merge_samplerates(), ff_mjpeg_find_marker(), ff_mov_read_stsd_entries(), ff_mpeg4_pred_dc(), ff_msmpeg4_coded_block_pred(), ff_msmpeg4_pred_dc(), ff_rms(), ff_snow_common_end(), ff_snow_common_init_after_header(), ff_sqrt(), ff_ut_huff_cmp_len(), ff_wma_init(), fill24(), filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), flac_decorrelate_ls_c(), flac_decorrelate_ms_c(), flac_decorrelate_rs_c(), flic_decode_frame_8BPP(), for(), gen_image(), generate_joint_tables(), get_block_sizes(), glyph_cmp(), guess_palette(), h264_filter_mb_fast_internal(), h_block_filter(), hpel_motion_search(), huff_cmp(), huff_cmp_sym(), idcin_read_packet(), import_palette(), int_sqrt(), ipmovie_probe(), ivi_free_buffers(), lag_decode_frame(), load_with_perm_vec(), loco_predict(), log16(), main(), make_cdt15_entry(), make_cdt16_entry(), make_cdt24_entry(), map_idx_10_to_20(), matroska_read_header(), mc_block(), memshl(), mid_pred(), mix_core(), mp_decode_layer2(), mp_yuv_to_rgb(), mpegts_write_section(), mul_poly(), multiswap_dec(), multiswap_enc(), mxf_read_sync(), no_rnd_avg32(), no_rnd_avg64(), nsv_parse_NSVf_header(), output_audio_block(), paint_mouse_pointer(), parse_palette_segment(), planar_rgb16_to_uv(), planar_rgb16_to_y(), planar_rgb_to_uv(), planar_rgb_to_y(), png_filter_row(), png_get_interlaced_row(), png_put_interlaced_row(), pnm_decode_frame(), pow_m1_4(), pred16x16_vertical(), pred8x16_plane(), pred8x16_vertical(), pred8x8_plane(), pred8x8_vertical(), pred8x8l_vertical(), pred_spatial_direct_motion(), probe(), process_ipmovie_chunk(), put_no_rnd_pixels16_l2(), put_no_rnd_pixels8_l2(), put_pixel(), put_pixels16_l2_altivec(), put_vp8_epel_h_altivec_core(), qpel_motion_search(), qsort_comparison_function_int16(), qtrle_decode_24bpp(), quantize_mantissas_blk_ch(), read_frame_data(), read_line(), read_var_block_data(), read_xing_toc(), render_charset(), restore_rgb_planes(), rgb12to15(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24_to_yuv420p(), rgb24to15(), rgb24to15_c(), rgb24to16(), rgb24to16_c(), rgb24tobgr15(), rgb24tobgr15_c(), rgb24tobgr16(), rgb24tobgr16_c(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb24ToY_c(), rgb24toyv12_c(), rgb48funcs(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb48ToY_c_template(), rnd_avg32(), rnd_avg64(), sad_hpel_motion_search(), search_for_quantizers_faac(), search_for_quantizers_twoloop(), seq_decode_op1(), set_string_binary(), sha1_transform(), sha256_transform(), stereo_processing(), sub_left_prediction_bgr32(), sub_png_paeth_prediction(), subtitle_thread(), sum_bits(), sws_scale(), synth_filter_float(), tgq_calculate_qtable(), try_8x8basis_c(), upsample_plane_c(), v_block_filter(), vb_decode_framedata(), vc1_coded_block_pred(), vc1_h_overlap_c(), vc1_h_s_overlap_c(), vc1_i_pred_dc(), vc1_pred_dc(), vc1_v_overlap_c(), vc1_v_s_overlap_c(), video_audio_display(), vmd_decode(), vmdvideo_decode_init(), vp56_add_predictors_dc(), vp56_decode_4mv(), vp56_decode_mb(), vp56_decode_mv(), vp56_mc(), vp5_parse_coeff(), vp6_build_huff_tree(), vp6_huff_cmp(), vp6_parse_coeff(), vp6_parse_coeff_huffman(), vqa_decode_chunk(), wma_lsp_to_curve_init(), write_float_3d_array(), x8_get_prediction(), xan_decode_frame(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), yuv2rgb_write(), yuv2rgb_X_c_template(), and yuv_a_to_rgba().

#define BY   ((int)(0.114 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
#define GY   ((int)(0.587 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))
#define input_pixel (   pos)    (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
#define input_pixel (   i)
Value:
((origin == AV_PIX_FMT_RGBA || \
origin == AV_PIX_FMT_BGRA || \
origin == AV_PIX_FMT_ARGB || \
origin == AV_PIX_FMT_ABGR) \
? AV_RN32A(&src[(i) * 4]) \
: (isBE(origin) ? AV_RB16(&src[(i) * 2]) \
: AV_RL16(&src[(i) * 2])))
#define AV_RL16
Definition: intreadwrite.h:42
#define AV_RN32A(p)
Definition: intreadwrite.h:446
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition: pixfmt.h:95
#define AV_RB16
Definition: intreadwrite.h:53
packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
Definition: pixfmt.h:96
packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
Definition: pixfmt.h:93
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition: pixfmt.h:94
static av_always_inline int isBE(enum AVPixelFormat pix_fmt)

Definition at line 456 of file input.c.

#define input_pixel (   pos)    (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))

Definition at line 456 of file input.c.

#define r   ((origin == AV_PIX_FMT_BGR48BE || origin == AV_PIX_FMT_BGR48LE) ? b_r : r_b)

Definition at line 51 of file input.c.

Referenced by add_hfyu_left_prediction_bgr32_c(), alloc_frame_buffer(), av_inv_q(), av_rescale_rnd(), avcodec_default_execute(), avcodec_default_execute2(), avpriv_set_systematic_pal2(), bgr24ToUV_c(), bgr24ToUV_half_c(), bgr24ToY_c(), bgr8torgb8(), blend_frame(), cdg_load_palette(), cdxl_decode_ham6(), cdxl_decode_ham8(), cng_decode_frame(), compute_lpc_coefs(), convert_to_rgb32_loco(), crypt(), dca_downmix(), decode_block_coeffs_internal(), decode_frame(), decode_hybrid(), decode_pal(), decode_rbsp_trailing(), decode_rgb_frame(), decode_rice(), dither_int_to_float_triangular_c(), draw_glyph_rgb(), draw_glyph_yuv(), dv_read_seek(), dvbsub_init_decoder(), dvbsub_parse_clut_segment(), encode_dvb_subtitles(), encode_rgb_frame(), encode_scalar(), encode_thread(), ff_alloc_picture(), ff_alsa_extend_reorder_buf(), ff_gmc_c(), ff_lag_rac_init(), ff_mov_read_stsd_entries(), ff_rtp_send_h264(), ff_rtp_send_mpegvideo(), fill_picture_parameters(), fill_slice_long(), filter(), filter_frame(), flic_decode_frame_8BPP(), gen_image(), generate_joint_tables(), get_high_utility_cell(), get_strl(), get_symbol2(), guess_palette(), h263_handle_packet(), hpel_motion_search(), idcin_read_packet(), idct_col2(), idct_row(), import_palette(), iterative_me(), lag_decode_frame(), ls_decode_line(), main(), make_cdt15_entry(), make_cdt16_entry(), make_cdt24_entry(), matroska_parse_laces(), mc_block(), mp_yuv_to_rgb(), mpeg4_decode_sprite_trajectory(), mpegts_push_data(), mss2_blit_wmv9_template(), mss2_decode_frame(), MULH(), paint_mouse_pointer(), parse_palette_segment(), pix_abs16x16_x2_mvi(), planar_rgb16_to_uv(), planar_rgb16_to_y(), planar_rgb_to_uv(), planar_rgb_to_y(), png_filter_row(), pnm_decode_frame(), pow_poly(), process_ipmovie_chunk(), ps_stereo_interpolate_c(), ps_stereo_interpolate_ipdopd_c(), put_pixel(), put_symbol2(), qpel_motion_search(), qtrle_decode_24bpp(), read_var_block_data(), restore_rgb_planes(), rgb12to15(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb24_to_yuv420p(), rgb24to15(), rgb24to15_c(), rgb24to16(), rgb24to16_c(), rgb24tobgr15(), rgb24tobgr15_c(), rgb24tobgr16(), rgb24tobgr16_c(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb24ToY_c(), rgb24toyv12_c(), rgb48funcs(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb48ToY_c_template(), roundToInt16(), rtmp_close(), rtmp_get_file_handle(), rtmp_open(), rtmp_read(), rtmp_read_pause(), rtmp_read_seek(), rtmp_write(), rtsp_read_packet(), rv30_decode_init(), rv40_decode_init(), sad_hpel_motion_search(), smacker_decode_bigtree(), smacker_decode_tree(), stereo_processing(), sub_left_prediction_bgr32(), subtitle_thread(), sws_scale(), tta_decode_frame(), vmd_decode(), vmdvideo_decode_init(), vqa_decode_chunk(), xan_decode_frame(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), yuv2rgb_write(), yuv2rgb_X_c_template(), and yuv_a_to_rgba().

#define rdpx (   src)    is_be ? AV_RB16(src) : AV_RL16(src)

Definition at line 569 of file input.c.

Referenced by planar_rgb16_to_uv(), and planar_rgb16_to_y().

#define rgb16_32_wrapper (   fmt,
  name,
  shr,
  shg,
  shb,
  shp,
  maskr,
  maskg,
  maskb,
  rsh,
  gsh,
  bsh,
  S 
)
Value:
static void name ## ToY_c(uint8_t *dst, const uint8_t *src, \
int width, uint32_t *unused) \
{ \
rgb16_32ToY_c_template(dst, src, width, fmt, shr, shg, shb, shp, \
maskr, maskg, maskb, rsh, gsh, bsh, S); \
} \
\
static void name ## ToUV_c(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *src, const uint8_t *dummy, \
int width, uint32_t *unused) \
{ \
rgb16_32ToUV_c_template(dstU, dstV, src, width, fmt, \
shr, shg, shb, shp, \
maskr, maskg, maskb, rsh, gsh, bsh, S); \
} \
\
static void name ## ToUV_half_c(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *src, \
const uint8_t *dummy, \
int width, uint32_t *unused) \
{ \
rgb16_32ToUV_half_c_template(dstU, dstV, src, width, fmt, \
shr, shg, shb, shp, \
maskr, maskg, maskb, \
rsh, gsh, bsh, S); \
}
uint8_t
const char * name
static av_always_inline void rgb16_32ToUV_c_template(uint8_t *dstU, uint8_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
Definition: input.c:189
static int width
Definition: utils.c:156
static av_always_inline void rgb16_32ToUV_half_c_template(uint8_t *dstU, uint8_t *dstV, const uint8_t *src, int width, enum AVPixelFormat origin, int shr, int shg, int shb, int shp, int maskr, int maskg, int maskb, int rsh, int gsh, int bsh, int S)
Definition: input.c:216

Definition at line 259 of file input.c.

#define rgb48funcs (   pattern,
  BE_LE,
  origin 
)

Definition at line 113 of file input.c.

#define RY   ((int)(0.299 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5))

Function Documentation

RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT static RGB2YUV_SHIFT void abgrToA_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 305 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void bgr24ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 471 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void bgr24ToUV_half_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 486 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void bgr24ToY_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 458 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void bswap16UV_c ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t _src1,
const uint8_t _src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 398 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void bswap16Y_c ( uint8_t _dst,
const uint8_t _src,
int  width,
uint32_t *  unused 
)
static

Definition at line 388 of file input.c.

Referenced by ff_sws_init_input_funcs().

av_cold void ff_sws_init_input_funcs ( SwsContext c)

Definition at line 671 of file input.c.

Referenced by sws_init_swScale_c().

static void monoblack2Y_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 357 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void monowhite2Y_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 345 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void nv12ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 442 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void nv21ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 449 of file input.c.

Referenced by ff_sws_init_input_funcs().

static av_always_inline void nvXXtoUV_c ( uint8_t dst1,
uint8_t dst2,
const uint8_t src,
int  width 
)
static

Definition at line 432 of file input.c.

Referenced by nv12ToUV_c(), and nv21ToUV_c().

static void palToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  pal 
)
static

Definition at line 331 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void palToY_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  pal 
)
static

Definition at line 321 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb10be_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  w 
)
static

Definition at line 653 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb10be_to_y ( uint8_t dst,
const uint8_t src[4],
int  w 
)
static

Definition at line 601 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb10le_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  w 
)
static

Definition at line 647 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb10le_to_y ( uint8_t dst,
const uint8_t src[4],
int  w 
)
static

Definition at line 596 of file input.c.

Referenced by ff_sws_init_input_funcs().

static av_always_inline void planar_rgb16_to_uv ( uint8_t _dstU,
uint8_t _dstV,
const uint8_t _src[4],
int  width,
int  bpc,
int  is_be 
)
static
static av_always_inline void planar_rgb16_to_y ( uint8_t _dst,
const uint8_t _src[4],
int  width,
int  bpc,
int  is_be 
)
static
static void planar_rgb16be_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  w 
)
static

Definition at line 665 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb16be_to_y ( uint8_t dst,
const uint8_t src[4],
int  w 
)
static

Definition at line 611 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb16le_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  w 
)
static

Definition at line 659 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb16le_to_y ( uint8_t dst,
const uint8_t src[4],
int  w 
)
static

Definition at line 606 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb9be_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  w 
)
static

Definition at line 641 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb9be_to_y ( uint8_t dst,
const uint8_t src[4],
int  w 
)
static

Definition at line 591 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb9le_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  w 
)
static

Definition at line 635 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb9le_to_y ( uint8_t dst,
const uint8_t src[4],
int  w 
)
static

Definition at line 586 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb_to_uv ( uint8_t dstU,
uint8_t dstV,
const uint8_t src[4],
int  width 
)
static

Definition at line 556 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void planar_rgb_to_y ( uint8_t dst,
const uint8_t src[4],
int  width 
)
static

Definition at line 544 of file input.c.

Referenced by ff_sws_init_input_funcs().

rgb16_32_wrapper ( AV_PIX_FMT_BGR32  ,
bgr32  ,
16  ,
,
,
,
0xFF0000  ,
0xFF00  ,
0x00FF  ,
,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_RGB32  ,
rgb32  ,
,
,
16  ,
,
0x00FF  ,
0xFF00  ,
0xFF0000  ,
,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR565LE  ,
bgr16le  ,
,
,
,
,
0x001F  ,
0x07E0  ,
0xF800  ,
11  ,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR444LE  ,
bgr12le  ,
,
,
,
,
0x000F  ,
0x00F0  ,
0x0F00  ,
,
,
,
RGB2YUV_SHIFT 4 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_RGB555LE  ,
rgb15le  ,
,
,
,
,
0x7C00  ,
0x03E0  ,
0x001F  ,
,
,
10  ,
RGB2YUV_SHIFT 7 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR565BE  ,
bgr16be  ,
,
,
,
,
0x001F  ,
0x07E0  ,
0xF800  ,
11  ,
,
,
RGB2YUV_SHIFT 8 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_BGR444BE  ,
bgr12be  ,
,
,
,
,
0x000F  ,
0x00F0  ,
0x0F00  ,
,
,
,
RGB2YUV_SHIFT 4 
)
RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT RGB2YUV_SHIFT rgb16_32_wrapper ( AV_PIX_FMT_RGB555BE  ,
rgb15be  ,
,
,
,
,
0x7C00  ,
0x03E0  ,
0x001F  ,
,
,
10  ,
RGB2YUV_SHIFT 7 
)
static av_always_inline void rgb16_32ToUV_c_template ( uint8_t dstU,
uint8_t dstV,
const uint8_t src,
int  width,
enum AVPixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S 
)
static

Definition at line 189 of file input.c.

static av_always_inline void rgb16_32ToUV_half_c_template ( uint8_t dstU,
uint8_t dstV,
const uint8_t src,
int  width,
enum AVPixelFormat  origin,
int  shr,
int  shg,
int  shb,
int  shp,
int  maskr,
int  maskg,
int  maskb,
int  rsh,
int  gsh,
int  bsh,
int  S 
)
static

Definition at line 216 of file input.c.

static void rgb24ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 514 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void rgb24ToUV_half_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 529 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void rgb24ToY_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 501 of file input.c.

Referenced by ff_sws_init_input_funcs().

rgb48funcs ( rgb48funcs(  rgb,
rgb48funcs(  LE,
AV_PIX_FMT_RGB48LE   
)

Definition at line 152 of file input.c.

static av_always_inline void rgb48ToUV_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum AVPixelFormat  origin 
)
static

Definition at line 68 of file input.c.

static av_always_inline void rgb48ToUV_half_c_template ( uint16_t *  dstU,
uint16_t *  dstV,
const uint16_t *  src1,
const uint16_t *  src2,
int  width,
enum AVPixelFormat  origin 
)
static

Definition at line 87 of file input.c.

static av_always_inline void rgb48ToY_c_template ( uint16_t *  dst,
const uint16_t *  src,
int  width,
enum AVPixelFormat  origin 
)
static

Definition at line 54 of file input.c.

static void rgbaToA_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 313 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void uyvyToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 421 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void uyvyToY_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 413 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void yuy2ToUV_c ( uint8_t dstU,
uint8_t dstV,
const uint8_t src1,
const uint8_t src2,
int  width,
uint32_t *  unused 
)
static

Definition at line 377 of file input.c.

Referenced by ff_sws_init_input_funcs().

static void yuy2ToY_c ( uint8_t dst,
const uint8_t src,
int  width,
uint32_t *  unused 
)
static

Definition at line 369 of file input.c.

Referenced by ff_sws_init_input_funcs().

Variable Documentation

Definition at line 293 of file input.c.

bgr321

Definition at line 289 of file input.c.

Definition at line 297 of file input.c.

Definition at line 295 of file input.c.

RGB2YUV_SHIFT rgb321

Definition at line 291 of file input.c.