
Data Structures | |
| struct | SwsContextArmJit |
Defines | |
| #define | INSTRUCTIONS_CACHE_SIZE 32768 |
| #define | FMT_OMAPFB_YUV422 1 |
| #define | FMT_OMAPFB_YUV420 2 |
| #define | INTERPOLATE_COPY_FIRST 0 |
| #define | INTERPOLATE_AVERAGE_1_3 1 |
| #define | INTERPOLATE_AVERAGE_2_2 2 |
| #define | INTERPOLATE_AVERAGE_3_1 3 |
| #define | SRC_Y 0 |
| #define | SRC_U 1 |
Functions | |
| void | __clear_cache (char *beg, char *end) |
| static int | get_pix (int quality, int orig_w, int dest_w, int x, int *p1, int *p2) |
| Get two nearest pixels from the source image. | |
| static uint32_t * | generate_arm_cmd_ldrb_r_r_offs (uint32_t *cmdbuffer, int dstreg, int basereg, int offset) |
| static uint32_t * | generate_arm_cmd_add_r_r_r_lsl (uint32_t *cmdbuffer, int dstreg, int r1, int r2, int r2_shift) |
| static uint32_t * | generate_arm_cmd_mov_r_r_lsr (uint32_t *cmdbuffer, int dstreg, int r, int shift) |
| static uint32_t * | generate_32bit_scaled_data_write (uint32_t *p, int quality, int orig_w, int dest_w, int buf1reg, int size1, int offs1, int buf2reg, int size2, int offs2, int buf3reg, int size3, int offs3, int buf4reg, int size4, int offs4) |
| Generation of 32-bit output scaled data. | |
| static int | generate_yuv420p_to_yuyv422_line_scaler (uint32_t *cmdbuffer, int maxcmdcount, int orig_w, int dest_w, int quality) |
| Scaler code should assume: r0 - y plane r1 - u plane r2 - v plane r3 - destination buffer r4 - result for storage into output buffer r5, r6 - source data for y1 calculation r7, r8 - source data for u calculation r9, r10 - source data for y2 calculation r11, r12 - source data for v calculation r14 (lr) - accumulator. | |
| static int | generate_yuv420p_to_yuv420_line_scaler (uint32_t *cmdbuffer, int maxcmdcount, int orig_w, int dest_w, int quality) |
| static struct SwsContextArmJit * | sws_arm_jit_create_scaler_internal (int source_w, int source_h, int target_w, int target_h, int quality, int fmt) |
| struct SwsContextArmJit * | sws_arm_jit_create_omapfb_yuv422_scaler (int source_w, int source_h, int target_w, int target_h, int quality) |
| struct SwsContextArmJit * | sws_arm_jit_create_omapfb_yuv420_scaler (int source_w, int source_h, int target_w, int target_h, int quality) |
| struct SwsContextArmJit * | sws_arm_jit_create_omapfb_yuv420_scaler_armv6 (int source_w, int source_h, int target_w, int target_h, int quality) |
| void | sws_arm_jit_free (SwsContextArmJit *context) |
| static int | sws_arm_jit_vscaleonly_internal (SwsContextArmJit *context, uint8_t *src[], int srcStride[], uint8_t *dst[], int dstStride[]) |
| static int | sws_arm_jit_scale_internal (SwsContextArmJit *context, uint8_t *src[], int srcStride[], uint8_t *dst[], int dstStride[]) |
| int | sws_arm_jit_scale (SwsContextArmJit *context, uint8_t *src[], int srcStride[], int y, int h, uint8_t *dst[], int dstStride[]) |
| #define FMT_OMAPFB_YUV420 2 |
| #define FMT_OMAPFB_YUV422 1 |
| #define INSTRUCTIONS_CACHE_SIZE 32768 |
| #define INTERPOLATE_AVERAGE_1_3 1 |
Referenced by get_pix().
| #define INTERPOLATE_AVERAGE_2_2 2 |
Referenced by generate_32bit_scaled_data_write(), and get_pix().
| #define INTERPOLATE_AVERAGE_3_1 3 |
Referenced by get_pix().
| #define INTERPOLATE_COPY_FIRST 0 |
Referenced by generate_32bit_scaled_data_write(), and get_pix().
| #define SRC_U 1 |
Referenced by generate_yuv420p_to_yuv420_line_scaler().
| #define SRC_Y 0 |
Referenced by generate_yuv420p_to_yuv420_line_scaler().
| void __clear_cache | ( | char * | beg, | |
| char * | end | |||
| ) |
Referenced by sws_arm_jit_create_scaler_internal().
| static uint32_t* generate_32bit_scaled_data_write | ( | uint32_t * | p, | |
| int | quality, | |||
| int | orig_w, | |||
| int | dest_w, | |||
| int | buf1reg, | |||
| int | size1, | |||
| int | offs1, | |||
| int | buf2reg, | |||
| int | size2, | |||
| int | offs2, | |||
| int | buf3reg, | |||
| int | size3, | |||
| int | offs3, | |||
| int | buf4reg, | |||
| int | size4, | |||
| int | offs4 | |||
| ) | [static] |
Generation of 32-bit output scaled data.
| quality | - scaling quality level | |
| buf1reg | - register that holds a pointer to the buffer with data for the first output byte | |
| buf2reg | - register that holds a pointer to the buffer with data for the second output byte | |
| buf3reg | - register that holds a pointer to the buffer with data for the third output byte | |
| buf4reg | - register that holds a pointer to the buffer with data for the fourth output byte |
References generate_arm_cmd_add_r_r_r_lsl(), generate_arm_cmd_ldrb_r_r_offs(), generate_arm_cmd_mov_r_r_lsr(), get_pix(), INTERPOLATE_AVERAGE_2_2, and INTERPOLATE_COPY_FIRST.
Referenced by generate_yuv420p_to_yuv420_line_scaler(), and generate_yuv420p_to_yuyv422_line_scaler().
| static uint32_t* generate_arm_cmd_add_r_r_r_lsl | ( | uint32_t * | cmdbuffer, | |
| int | dstreg, | |||
| int | r1, | |||
| int | r2, | |||
| int | r2_shift | |||
| ) | [static] |
Referenced by generate_32bit_scaled_data_write().
| static uint32_t* generate_arm_cmd_ldrb_r_r_offs | ( | uint32_t * | cmdbuffer, | |
| int | dstreg, | |||
| int | basereg, | |||
| int | offset | |||
| ) | [static] |
Referenced by generate_32bit_scaled_data_write().
| static uint32_t* generate_arm_cmd_mov_r_r_lsr | ( | uint32_t * | cmdbuffer, | |
| int | dstreg, | |||
| int | r, | |||
| int | shift | |||
| ) | [static] |
Referenced by generate_32bit_scaled_data_write().
| static int generate_yuv420p_to_yuv420_line_scaler | ( | uint32_t * | cmdbuffer, | |
| int | maxcmdcount, | |||
| int | orig_w, | |||
| int | dest_w, | |||
| int | quality | |||
| ) | [static] |
References generate_32bit_scaled_data_write(), i, INSTRUCTIONS_CACHE_SIZE, SRC_U, and SRC_Y.
Referenced by sws_arm_jit_create_scaler_internal().
| static int generate_yuv420p_to_yuyv422_line_scaler | ( | uint32_t * | cmdbuffer, | |
| int | maxcmdcount, | |||
| int | orig_w, | |||
| int | dest_w, | |||
| int | quality | |||
| ) | [static] |
Scaler code should assume: r0 - y plane r1 - u plane r2 - v plane r3 - destination buffer r4 - result for storage into output buffer r5, r6 - source data for y1 calculation r7, r8 - source data for u calculation r9, r10 - source data for y2 calculation r11, r12 - source data for v calculation r14 (lr) - accumulator.
| cmdbuffer | - bugger for dynamically generated code |
References generate_32bit_scaled_data_write(), i, and INSTRUCTIONS_CACHE_SIZE.
Referenced by sws_arm_jit_create_scaler_internal().
| static int get_pix | ( | int | quality, | |
| int | orig_w, | |||
| int | dest_w, | |||
| int | x, | |||
| int * | p1, | |||
| int * | p2 | |||
| ) | [inline, static] |
Get two nearest pixels from the source image.
References INTERPOLATE_AVERAGE_1_3, INTERPOLATE_AVERAGE_2_2, INTERPOLATE_AVERAGE_3_1, and INTERPOLATE_COPY_FIRST.
Referenced by generate_32bit_scaled_data_write(), and sws_arm_jit_create_scaler_internal().
| struct SwsContextArmJit* sws_arm_jit_create_omapfb_yuv420_scaler | ( | int | source_w, | |
| int | source_h, | |||
| int | target_w, | |||
| int | target_h, | |||
| int | quality | |||
| ) | [read] |
References FMT_OMAPFB_YUV420, and sws_arm_jit_create_scaler_internal().
| struct SwsContextArmJit* sws_arm_jit_create_omapfb_yuv420_scaler_armv6 | ( | int | source_w, | |
| int | source_h, | |||
| int | target_w, | |||
| int | target_h, | |||
| int | quality | |||
| ) | [read] |
References SwsContextArmJit::armv6_is_supported, FMT_OMAPFB_YUV420, and sws_arm_jit_create_scaler_internal().
Referenced by Init().
| struct SwsContextArmJit* sws_arm_jit_create_omapfb_yuv422_scaler | ( | int | source_w, | |
| int | source_h, | |||
| int | target_w, | |||
| int | target_h, | |||
| int | quality | |||
| ) | [read] |
References FMT_OMAPFB_YUV422, and sws_arm_jit_create_scaler_internal().
| static struct SwsContextArmJit* sws_arm_jit_create_scaler_internal | ( | int | source_w, | |
| int | source_h, | |||
| int | target_w, | |||
| int | target_h, | |||
| int | quality, | |||
| int | fmt | |||
| ) | [static, read] |
References __clear_cache(), SwsContextArmJit::armv6_is_supported, SwsContextArmJit::codebuffer, context, SwsContextArmJit::fmt, FMT_OMAPFB_YUV420, FMT_OMAPFB_YUV422, generate_yuv420p_to_yuv420_line_scaler(), generate_yuv420p_to_yuyv422_line_scaler(), get_pix(), i, INSTRUCTIONS_CACHE_SIZE, SwsContextArmJit::linebuffer, SwsContextArmJit::source_h, SwsContextArmJit::source_w, SwsContextArmJit::target_h, and SwsContextArmJit::target_w.
Referenced by sws_arm_jit_create_omapfb_yuv420_scaler(), sws_arm_jit_create_omapfb_yuv420_scaler_armv6(), and sws_arm_jit_create_omapfb_yuv422_scaler().
| void sws_arm_jit_free | ( | SwsContextArmJit * | context | ) |
References SwsContextArmJit::codebuffer, INSTRUCTIONS_CACHE_SIZE, and SwsContextArmJit::linebuffer.
Referenced by CloseScaler(), and Init().
| int sws_arm_jit_scale | ( | SwsContextArmJit * | context, | |
| uint8_t * | src[], | |||
| int | srcStride[], | |||
| int | y, | |||
| int | h, | |||
| uint8_t * | dst[], | |||
| int | dstStride[] | |||
| ) |
| static int sws_arm_jit_scale_internal | ( | SwsContextArmJit * | context, | |
| uint8_t * | src[], | |||
| int | srcStride[], | |||
| uint8_t * | dst[], | |||
| int | dstStride[] | |||
| ) | [static] |
| static int sws_arm_jit_vscaleonly_internal | ( | SwsContextArmJit * | context, | |
| uint8_t * | src[], | |||
| int | srcStride[], | |||
| uint8_t * | dst[], | |||
| int | dstStride[] | |||
| ) | [static] |
References SwsContextArmJit::armv6_is_supported, SwsContextArmJit::fmt, FMT_OMAPFB_YUV420, FMT_OMAPFB_YUV422, i, SwsContextArmJit::linebuffer, SwsContextArmJit::target_h, SwsContextArmJit::target_w, yv12_to_yuv420_line_arm(), yv12_to_yuv420_line_armv6(), and yv12_to_yuy2_line_arm().
Referenced by sws_arm_jit_scale_internal().
1.5.6