| schrodecoder.h | | schrodecoder.h | |
| | | | |
| skipping to change at line 108 | | skipping to change at line 108 | |
| int end_of_stream; | | int end_of_stream; | |
| int flushing; | | int flushing; | |
| | | | |
| int first_sequence_header; | | int first_sequence_header; | |
| int have_sequence_header; | | int have_sequence_header; | |
| SchroBuffer *sequence_header_buffer; | | SchroBuffer *sequence_header_buffer; | |
| int have_frame_number; | | int have_frame_number; | |
| | | | |
| int has_md5; | | int has_md5; | |
| uint8_t md5_checksum[32]; | | uint8_t md5_checksum[32]; | |
|
| | | | |
| | | int bit_depth; | |
| }; | | }; | |
| | | | |
| struct _SchroPicture { | | struct _SchroPicture { | |
| int refcount; | | int refcount; | |
| | | | |
| SchroDecoderInstance *decoder_instance; | | SchroDecoderInstance *decoder_instance; | |
| | | | |
| int busy; | | int busy; | |
| int skip; | | int skip; | |
| int error; | | int error; | |
| | | | |
| skipping to change at line 213 | | skipping to change at line 215 | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| | | | |
| int schro_decoder_begin_sequence (SchroDecoder *decoder); | | int schro_decoder_begin_sequence (SchroDecoder *decoder); | |
| int schro_decoder_end_sequence (SchroDecoder *decoder); | | int schro_decoder_end_sequence (SchroDecoder *decoder); | |
| | | | |
| int schro_decoder_decode_parse_header (SchroUnpack *unpack); | | int schro_decoder_decode_parse_header (SchroUnpack *unpack); | |
| void schro_decoder_parse_sequence_header (SchroDecoderInstance *instance, S
chroUnpack *unpack); | | void schro_decoder_parse_sequence_header (SchroDecoderInstance *instance, S
chroUnpack *unpack); | |
| int schro_decoder_compare_sequence_header_buffer (SchroBuffer *a, SchroBuff
er *b); | | int schro_decoder_compare_sequence_header_buffer (SchroBuffer *a, SchroBuff
er *b); | |
| | | | |
| void schro_decoder_subband_dc_predict (SchroFrameData *fd); | | void schro_decoder_subband_dc_predict (SchroFrameData *fd); | |
|
| | | void schro_decoder_subband_dc_predict_s32 (SchroFrameData *fd); | |
| | | | |
| /* SchroPicture */ | | /* SchroPicture */ | |
| | | | |
| SchroPicture * schro_picture_new (SchroDecoderInstance *instance); | | SchroPicture * schro_picture_new (SchroDecoderInstance *instance); | |
| SchroPicture * schro_picture_ref (SchroPicture *picture); | | SchroPicture * schro_picture_ref (SchroPicture *picture); | |
| void schro_picture_unref (SchroPicture *picture); | | void schro_picture_unref (SchroPicture *picture); | |
| | | | |
| int schro_decoder_iterate_picture (SchroDecoderInstance *instance, SchroBuf
fer *buffer, SchroUnpack *unpack, int parse_code); | | int schro_decoder_iterate_picture (SchroDecoderInstance *instance, SchroBuf
fer *buffer, SchroUnpack *unpack, int parse_code); | |
| void schro_decoder_parse_picture (SchroPicture *picture, SchroUnpack *unpac
k); | | void schro_decoder_parse_picture (SchroPicture *picture, SchroUnpack *unpac
k); | |
| void schro_decoder_parse_picture_header (SchroPicture *picture, SchroUnpack
*unpack); | | void schro_decoder_parse_picture_header (SchroPicture *picture, SchroUnpack
*unpack); | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 3 lines changed or added | |
|
| schroframe.h | | schroframe.h | |
| | | | |
| skipping to change at line 43 | | skipping to change at line 43 | |
| SCHRO_FRAME_FORMAT_S32_422 = 0x09, | | SCHRO_FRAME_FORMAT_S32_422 = 0x09, | |
| SCHRO_FRAME_FORMAT_S32_420 = 0x0b, | | SCHRO_FRAME_FORMAT_S32_420 = 0x0b, | |
| | | | |
| /* indirectly supported */ | | /* indirectly supported */ | |
| SCHRO_FRAME_FORMAT_YUYV = 0x100, /* YUYV order */ | | SCHRO_FRAME_FORMAT_YUYV = 0x100, /* YUYV order */ | |
| SCHRO_FRAME_FORMAT_UYVY = 0x101, /* UYVY order */ | | SCHRO_FRAME_FORMAT_UYVY = 0x101, /* UYVY order */ | |
| SCHRO_FRAME_FORMAT_AYUV = 0x102, | | SCHRO_FRAME_FORMAT_AYUV = 0x102, | |
| SCHRO_FRAME_FORMAT_ARGB = 0x103, | | SCHRO_FRAME_FORMAT_ARGB = 0x103, | |
| SCHRO_FRAME_FORMAT_RGB = 0x104, | | SCHRO_FRAME_FORMAT_RGB = 0x104, | |
| SCHRO_FRAME_FORMAT_v216 = 0x105, | | SCHRO_FRAME_FORMAT_v216 = 0x105, | |
|
| SCHRO_FRAME_FORMAT_v210 = 0x106 | | SCHRO_FRAME_FORMAT_v210 = 0x106, | |
| | | SCHRO_FRAME_FORMAT_AY64 = 0x107 | |
| } SchroFrameFormat; | | } SchroFrameFormat; | |
| | | | |
| #define SCHRO_FRAME_FORMAT_DEPTH(format) ((format) & 0xc) | | #define SCHRO_FRAME_FORMAT_DEPTH(format) ((format) & 0xc) | |
| #define SCHRO_FRAME_FORMAT_DEPTH_U8 0x00 | | #define SCHRO_FRAME_FORMAT_DEPTH_U8 0x00 | |
| #define SCHRO_FRAME_FORMAT_DEPTH_S16 0x04 | | #define SCHRO_FRAME_FORMAT_DEPTH_S16 0x04 | |
| #define SCHRO_FRAME_FORMAT_DEPTH_S32 0x08 | | #define SCHRO_FRAME_FORMAT_DEPTH_S32 0x08 | |
| | | | |
| #define SCHRO_FRAME_FORMAT_H_SHIFT(format) ((format) & 0x1) | | #define SCHRO_FRAME_FORMAT_H_SHIFT(format) ((format) & 0x1) | |
| #define SCHRO_FRAME_FORMAT_V_SHIFT(format) (((format)>>1) & 0x1) | | #define SCHRO_FRAME_FORMAT_V_SHIFT(format) (((format)>>1) & 0x1) | |
| | | | |
| | | | |
| skipping to change at line 92 | | skipping to change at line 93 | |
| int is_virtual; | | int is_virtual; | |
| int cached_lines[3][SCHRO_FRAME_CACHE_SIZE]; | | int cached_lines[3][SCHRO_FRAME_CACHE_SIZE]; | |
| SchroFrame *virt_frame1; | | SchroFrame *virt_frame1; | |
| SchroFrame *virt_frame2; | | SchroFrame *virt_frame2; | |
| void (*render_line) (SchroFrame *frame, void *dest, int component, int i)
; | | void (*render_line) (SchroFrame *frame, void *dest, int component, int i)
; | |
| void *virt_priv; | | void *virt_priv; | |
| void *virt_priv2; | | void *virt_priv2; | |
| | | | |
| int extension; | | int extension; | |
| int cache_offset[3]; | | int cache_offset[3]; | |
|
| | | int is_upsampled; | |
| }; | | }; | |
| | | | |
| struct _SchroUpsampledFrame { | | struct _SchroUpsampledFrame { | |
| SchroFrame *frames[4]; | | SchroFrame *frames[4]; | |
|
| void *components[3]; | | | |
| }; | | }; | |
| | | | |
| #define SCHRO_FRAME_DATA_GET_LINE(fd,i) (SCHRO_OFFSET((fd)->data,(fd)->stri
de*(i))) | | #define SCHRO_FRAME_DATA_GET_LINE(fd,i) (SCHRO_OFFSET((fd)->data,(fd)->stri
de*(i))) | |
| #define SCHRO_FRAME_DATA_GET_PIXEL_U8(fd,i,j) ((uint8_t *)SCHRO_OFFSET((fd)
->data,(fd)->stride*(j)+(i))) | | #define SCHRO_FRAME_DATA_GET_PIXEL_U8(fd,i,j) ((uint8_t *)SCHRO_OFFSET((fd)
->data,(fd)->stride*(j)+(i))) | |
| #define SCHRO_FRAME_DATA_GET_PIXEL_S16(fd,i,j) ((int16_t *)SCHRO_OFFSET((fd
)->data,(fd)->stride*(j)+(i)*sizeof(int16_t))) | | #define SCHRO_FRAME_DATA_GET_PIXEL_S16(fd,i,j) ((int16_t *)SCHRO_OFFSET((fd
)->data,(fd)->stride*(j)+(i)*sizeof(int16_t))) | |
|
| | | #define SCHRO_FRAME_DATA_GET_PIXEL_S32(fd,i,j) ((int32_t *)SCHRO_OFFSET((fd
)->data,(fd)->stride*(j)+(i)*sizeof(int32_t))) | |
| | | | |
| SchroFrame * schro_frame_new (void); | | SchroFrame * schro_frame_new (void); | |
| SchroFrame * schro_frame_new_and_alloc (SchroMemoryDomain *domain, | | SchroFrame * schro_frame_new_and_alloc (SchroMemoryDomain *domain, | |
| SchroFrameFormat format, int width, int height); | | SchroFrameFormat format, int width, int height); | |
| SchroFrame * schro_frame_new_from_data_I420 (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_I420 (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_Y42B (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_Y42B (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_Y444 (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_Y444 (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_YV12 (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_YV12 (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_YUY2 (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_YUY2 (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_UYVY (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_UYVY (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_UYVY_full (void *data, int width, in
t height, int stride); | | SchroFrame * schro_frame_new_from_data_UYVY_full (void *data, int width, in
t height, int stride); | |
| SchroFrame * schro_frame_new_from_data_AYUV (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_AYUV (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_v216 (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_v216 (void *data, int width, int hei
ght); | |
| SchroFrame * schro_frame_new_from_data_v210 (void *data, int width, int hei
ght); | | SchroFrame * schro_frame_new_from_data_v210 (void *data, int width, int hei
ght); | |
|
| | | SchroFrame * schro_frame_new_from_data_AY64 (void *data, int width, int hei
ght); | |
| void schro_frame_set_free_callback (SchroFrame *frame, | | void schro_frame_set_free_callback (SchroFrame *frame, | |
| SchroFrameFreeFunc free_func, void *priv); | | SchroFrameFreeFunc free_func, void *priv); | |
| void schro_frame_unref (SchroFrame *frame); | | void schro_frame_unref (SchroFrame *frame); | |
| SchroFrame *schro_frame_ref (SchroFrame *frame); | | SchroFrame *schro_frame_ref (SchroFrame *frame); | |
| SchroFrame *schro_frame_dup (SchroFrame *frame); | | SchroFrame *schro_frame_dup (SchroFrame *frame); | |
| SchroFrame *schro_frame_clone (SchroMemoryDomain *domain, SchroFrame *frame
); | | SchroFrame *schro_frame_clone (SchroMemoryDomain *domain, SchroFrame *frame
); | |
| | | | |
| void schro_frame_convert (SchroFrame *dest, SchroFrame *src); | | void schro_frame_convert (SchroFrame *dest, SchroFrame *src); | |
| void schro_frame_add (SchroFrame *dest, SchroFrame *src); | | void schro_frame_add (SchroFrame *dest, SchroFrame *src); | |
| void schro_frame_subtract (SchroFrame *dest, SchroFrame *src); | | void schro_frame_subtract (SchroFrame *dest, SchroFrame *src); | |
| | | | |
| skipping to change at line 142 | | skipping to change at line 145 | |
| void schro_frame_upsample_vert (SchroFrame *dest, SchroFrame *src); | | void schro_frame_upsample_vert (SchroFrame *dest, SchroFrame *src); | |
| double schro_frame_calculate_average_luma (SchroFrame *frame); | | double schro_frame_calculate_average_luma (SchroFrame *frame); | |
| | | | |
| SchroFrame * schro_frame_convert_to_444 (SchroFrame *frame); | | SchroFrame * schro_frame_convert_to_444 (SchroFrame *frame); | |
| void schro_frame_md5 (SchroFrame *frame, uint32_t *state); | | void schro_frame_md5 (SchroFrame *frame, uint32_t *state); | |
| | | | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| | | | |
| SchroFrame * schro_frame_new_and_alloc_extended (SchroMemoryDomain *domain, | | SchroFrame * schro_frame_new_and_alloc_extended (SchroMemoryDomain *domain, | |
| SchroFrameFormat format, int width, int height, int extension); | | SchroFrameFormat format, int width, int height, int extension); | |
|
| | | SchroFrame * schro_frame_new_and_alloc_full (SchroMemoryDomain * domain, | |
| | | SchroFrameFormat format, int width, int height, int extension, | |
| | | int upsampled); | |
| SchroFrame *schro_frame_dup_extended (SchroFrame *frame, int extension); | | SchroFrame *schro_frame_dup_extended (SchroFrame *frame, int extension); | |
|
| | | SchroFrame *schro_frame_dup_full (SchroFrame *frame, int extension, | |
| | | int is_upsampled); | |
| void schro_frame_edge_extend (SchroFrame *frame, int width, int height); | | void schro_frame_edge_extend (SchroFrame *frame, int width, int height); | |
| void schro_frame_zero_extend (SchroFrame *frame, int width, int height); | | void schro_frame_zero_extend (SchroFrame *frame, int width, int height); | |
| void schro_frame_mark (SchroFrame *frame, int value); | | void schro_frame_mark (SchroFrame *frame, int value); | |
| void schro_frame_mc_edgeextend (SchroFrame *frame); | | void schro_frame_mc_edgeextend (SchroFrame *frame); | |
| | | | |
| void schro_frame_data_get_codeblock (SchroFrameData *dest, SchroFrameData *
src, | | void schro_frame_data_get_codeblock (SchroFrameData *dest, SchroFrameData *
src, | |
| int x, int y, int horiz_codeblocks, int vert_codeblocks); | | int x, int y, int horiz_codeblocks, int vert_codeblocks); | |
| | | | |
| SchroUpsampledFrame * schro_upsampled_frame_new (SchroFrame *frame); | | SchroUpsampledFrame * schro_upsampled_frame_new (SchroFrame *frame); | |
| void schro_upsampled_frame_free (SchroUpsampledFrame *df); | | void schro_upsampled_frame_free (SchroUpsampledFrame *df); | |
| | | | |
| skipping to change at line 184 | | skipping to change at line 192 | |
| int schro_frame_get_data (SchroFrame* frame, SchroFrameData* fd, int comp | | int schro_frame_get_data (SchroFrame* frame, SchroFrameData* fd, int comp | |
| , int x, int y); | | , int x, int y); | |
| | | | |
| void schro_frame_get_subdata (SchroFrame *frame, SchroFrameData *fd, | | void schro_frame_get_subdata (SchroFrame *frame, SchroFrameData *fd, | |
| int comp, int x, int y); | | int comp, int x, int y); | |
| void schro_frame_get_reference_subdata (SchroFrame* frame, SchroFrameData*
fd | | void schro_frame_get_reference_subdata (SchroFrame* frame, SchroFrameData*
fd | |
| , int comp, int x, int y); | | , int comp, int x, int y); | |
| | | | |
| void schro_frame_split_fields (SchroFrame *dest1, SchroFrame *dest2, SchroF
rame *src); | | void schro_frame_split_fields (SchroFrame *dest1, SchroFrame *dest2, SchroF
rame *src); | |
| | | | |
|
| | | int schro_frame_get_bit_depth (SchroFrame *frame); | |
| | | | |
| #endif | | #endif | |
| | | | |
| SCHRO_END_DECLS | | SCHRO_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 8 change blocks. |
| 2 lines changed or deleted | | 12 lines changed or added | |
|
| schromotion.h | | schromotion.h | |
| | | | |
| skipping to change at line 14 | | skipping to change at line 14 | |
| | | | |
| #include <schroedinger/schroframe.h> | | #include <schroedinger/schroframe.h> | |
| #include <schroedinger/schroparams.h> | | #include <schroedinger/schroparams.h> | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| #include <orc/orc.h> | | #include <orc/orc.h> | |
| #endif | | #endif | |
| | | | |
| SCHRO_BEGIN_DECLS | | SCHRO_BEGIN_DECLS | |
| | | | |
| typedef struct _SchroMotionVector SchroMotionVector; | | typedef struct _SchroMotionVector SchroMotionVector; | |
|
| typedef struct _SchroMotionVectorDC SchroMotionVectorDC; | | | |
| typedef struct _SchroMotionField SchroMotionField; | | typedef struct _SchroMotionField SchroMotionField; | |
| typedef struct _SchroMotion SchroMotion; | | typedef struct _SchroMotion SchroMotion; | |
| typedef struct _SchroMotionScan SchroMotionScan; | | typedef struct _SchroMotionScan SchroMotionScan; | |
| typedef struct _SchroMotionFuncs SchroMotionFuncs; | | typedef struct _SchroMotionFuncs SchroMotionFuncs; | |
| | | | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| struct _SchroMotionVector { | | struct _SchroMotionVector { | |
| unsigned int pred_mode : 2; | | unsigned int pred_mode : 2; | |
| unsigned int using_global : 1; | | unsigned int using_global : 1; | |
| unsigned int split : 2; | | unsigned int split : 2; | |
| | | | |
| skipping to change at line 101 | | skipping to change at line 100 | |
| #define SCHRO_MOTION_GET_BLOCK(motion,x,y) \ | | #define SCHRO_MOTION_GET_BLOCK(motion,x,y) \ | |
| ((motion)->motion_vectors+(y)*(motion)->params->x_num_blocks + (x)) | | ((motion)->motion_vectors+(y)*(motion)->params->x_num_blocks + (x)) | |
| | | | |
| SchroMotion * schro_motion_new (SchroParams *params, | | SchroMotion * schro_motion_new (SchroParams *params, | |
| SchroUpsampledFrame *ref1, SchroUpsampledFrame *ref2); | | SchroUpsampledFrame *ref1, SchroUpsampledFrame *ref2); | |
| void schro_motion_free (SchroMotion *motion); | | void schro_motion_free (SchroMotion *motion); | |
| | | | |
| int schro_motion_verify (SchroMotion *mf); | | int schro_motion_verify (SchroMotion *mf); | |
| void schro_motion_render_ref (SchroMotion *motion, SchroFrame *dest, | | void schro_motion_render_ref (SchroMotion *motion, SchroFrame *dest, | |
| SchroFrame *addframe, int add, SchroFrame *output_frame); | | SchroFrame *addframe, int add, SchroFrame *output_frame); | |
|
| | | void schro_motion_render_u8 (SchroMotion *motion, SchroFrame *dest, | |
| | | SchroFrame *addframe, int add, SchroFrame *output_frame); | |
| void schro_motion_render (SchroMotion *motion, SchroFrame *dest, | | void schro_motion_render (SchroMotion *motion, SchroFrame *dest, | |
| SchroFrame *addframe, int add, SchroFrame *output_frame); | | SchroFrame *addframe, int add, SchroFrame *output_frame); | |
| void schro_motion_init_obmc_weight (SchroMotion *motion); | | void schro_motion_init_obmc_weight (SchroMotion *motion); | |
| | | | |
| void schro_motion_render_fast (SchroMotion *motion, SchroFrame *dest, | | void schro_motion_render_fast (SchroMotion *motion, SchroFrame *dest, | |
| SchroFrame *addframe, int add, SchroFrame *output_frame); | | SchroFrame *addframe, int add, SchroFrame *output_frame); | |
| int schro_motion_render_fast_allowed (SchroMotion *motion); | | int schro_motion_render_fast_allowed (SchroMotion *motion); | |
| | | | |
| void schro_mf_vector_prediction (SchroMotionField* mf, | | void schro_mf_vector_prediction (SchroMotionField* mf, | |
| int x, int y, int *pred_x, int *pred_y, int mode); | | int x, int y, int *pred_x, int *pred_y, int mode); | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 2 lines changed or added | |
|
| schroutils.h | | schroutils.h | |
| | | | |
| skipping to change at line 35 | | skipping to change at line 35 | |
| typedef uint32_t SchroPictureNumber; | | typedef uint32_t SchroPictureNumber; | |
| typedef unsigned int schro_bool; | | typedef unsigned int schro_bool; | |
| | | | |
| /* This must match the CUDA stream type, as we don't want to include the CU
DA | | /* This must match the CUDA stream type, as we don't want to include the CU
DA | |
| includes in any of the Schroedinger include files. | | includes in any of the Schroedinger include files. | |
| */ | | */ | |
| typedef int SchroCUDAStream; | | typedef int SchroCUDAStream; | |
| | | | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| | | | |
|
| | | #if defined(_MSC_VER) | |
| | | #define inline __inline | |
| | | #endif | |
| | | | |
| #define SCHRO_PICTURE_NUMBER_INVALID (-1) | | #define SCHRO_PICTURE_NUMBER_INVALID (-1) | |
| | | | |
| #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) | | #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) | |
| #define DIVIDE_ROUND_UP(a,b) (((a) + (b) - 1)/(b)) | | #define DIVIDE_ROUND_UP(a,b) (((a) + (b) - 1)/(b)) | |
| #ifndef MIN | | #ifndef MIN | |
| #define MIN(a,b) ((a)<(b) ? (a) : (b)) | | #define MIN(a,b) ((a)<(b) ? (a) : (b)) | |
| #endif | | #endif | |
| #ifndef MAX | | #ifndef MAX | |
| #define MAX(a,b) ((a)>(b) ? (a) : (b)) | | #define MAX(a,b) ((a)>(b) ? (a) : (b)) | |
| #endif | | #endif | |
| | | | |
| skipping to change at line 86 | | skipping to change at line 90 | |
| #else | | #else | |
| #define SCHRO_INTERNAL | | #define SCHRO_INTERNAL | |
| #endif | | #endif | |
| | | | |
| #if SCHRO_GNUC_PREREQ(3,3) | | #if SCHRO_GNUC_PREREQ(3,3) | |
| #define SCHRO_DEPRECATED __attribute__ ((deprecated)) | | #define SCHRO_DEPRECATED __attribute__ ((deprecated)) | |
| #else | | #else | |
| #define SCHRO_DEPRECATED | | #define SCHRO_DEPRECATED | |
| #endif | | #endif | |
| | | | |
|
| | | #if SCHRO_GNUC_PREREQ(3,3) | |
| | | #define SCHRO_UNUSED __attribute__ ((unused)) | |
| | | #else | |
| | | #define SCHRO_UNUSED | |
| | | #endif | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| #define SCHRO_BEGIN_DECLS extern "C" { | | #define SCHRO_BEGIN_DECLS extern "C" { | |
| #define SCHRO_END_DECLS } | | #define SCHRO_END_DECLS } | |
| #else | | #else | |
| #define SCHRO_BEGIN_DECLS | | #define SCHRO_BEGIN_DECLS | |
| #define SCHRO_END_DECLS | | #define SCHRO_END_DECLS | |
| #endif | | #endif | |
| | | | |
| #if SCHRO_GNUC_PREREQ(3,0) && defined(__OPTIMIZE__) | | #if SCHRO_GNUC_PREREQ(3,0) && defined(__OPTIMIZE__) | |
| #define SCHRO_LIKELY(expr) (__builtin_expect ((expr), 1)) | | #define SCHRO_LIKELY(expr) (__builtin_expect ((expr), 1)) | |
| #define SCHRO_UNLIKELY(expr) (__builtin_expect ((expr), 0)) | | #define SCHRO_UNLIKELY(expr) (__builtin_expect ((expr), 0)) | |
| #else | | #else | |
| #define SCHRO_LIKELY(expr) (expr) | | #define SCHRO_LIKELY(expr) (expr) | |
| #define SCHRO_UNLIKELY(expr) (expr) | | #define SCHRO_UNLIKELY(expr) (expr) | |
| #endif | | #endif | |
| | | | |
|
| | | #ifndef M_PI | |
| | | #define M_PI 3.14159265358979323846 | |
| | | #endif | |
| | | #ifndef M_LN10 | |
| | | #define M_LN10 2.30258509299404568402 | |
| | | #endif | |
| | | | |
| | | #if defined(_MSC_VER) | |
| | | #define rint(x) (floor((x) + 0.5)) | |
| | | #endif | |
| | | | |
| SCHRO_BEGIN_DECLS | | SCHRO_BEGIN_DECLS | |
| | | | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| | | | |
| void * schro_malloc (int size); | | void * schro_malloc (int size); | |
| void * schro_malloc0 (int size); | | void * schro_malloc0 (int size); | |
| void * schro_realloc (void *ptr, int size); | | void * schro_realloc (void *ptr, int size); | |
| void schro_free (void *ptr); | | void schro_free (void *ptr); | |
| | | | |
| int muldiv64 (int a, int b, int c); | | int muldiv64 (int a, int b, int c); | |
| int schro_utils_multiplier_to_quant_index (double x); | | int schro_utils_multiplier_to_quant_index (double x); | |
| int schro_dequantise (int q, int quant_factor, int quant_offset); | | int schro_dequantise (int q, int quant_factor, int quant_offset); | |
| int schro_quantise (int value, int quant_factor, int quant_offset); | | int schro_quantise (int value, int quant_factor, int quant_offset); | |
| void schro_quantise_s16 (int16_t *dest, int16_t *src, int quant_factor, | | void schro_quantise_s16 (int16_t *dest, int16_t *src, int quant_factor, | |
| int quant_offset, int n); | | int quant_offset, int n); | |
|
| | | void schro_quantise_s32 (int32_t *dest, int32_t *src, int quant_factor, | |
| | | int quant_offset, int n); | |
| void schro_quantise_s16_table (int16_t *dest, int16_t *src, int quant_index
, | | void schro_quantise_s16_table (int16_t *dest, int16_t *src, int quant_index
, | |
| schro_bool is_intra, int n); | | schro_bool is_intra, int n); | |
| void schro_dequantise_s16 (int16_t *dest, int16_t *src, int quant_factor, | | void schro_dequantise_s16 (int16_t *dest, int16_t *src, int quant_factor, | |
| int quant_offset, int n); | | int quant_offset, int n); | |
| void schro_dequantise_s16_table (int16_t *dest, int16_t *src, int quant_ind
ex, | | void schro_dequantise_s16_table (int16_t *dest, int16_t *src, int quant_ind
ex, | |
| schro_bool is_intra, int n); | | schro_bool is_intra, int n); | |
| double schro_utils_probability_to_entropy (double x); | | double schro_utils_probability_to_entropy (double x); | |
| double schro_utils_entropy (double a, double total); | | double schro_utils_entropy (double a, double total); | |
| void schro_utils_reduce_fraction (int *n, int *d); | | void schro_utils_reduce_fraction (int *n, int *d); | |
| double schro_utils_get_time (void); | | double schro_utils_get_time (void); | |
| | | | |
End of changes. 4 change blocks. |
| 0 lines changed or deleted | | 23 lines changed or added | |
|
| schrovideoformat.h | | schrovideoformat.h | |
| | | | |
| skipping to change at line 62 | | skipping to change at line 62 | |
| void schro_video_format_set_std_frame_rate (SchroVideoFormat *format, int i
ndex); | | void schro_video_format_set_std_frame_rate (SchroVideoFormat *format, int i
ndex); | |
| int schro_video_format_get_std_frame_rate (SchroVideoFormat *format); | | int schro_video_format_get_std_frame_rate (SchroVideoFormat *format); | |
| void schro_video_format_set_std_aspect_ratio (SchroVideoFormat *format, int
index); | | void schro_video_format_set_std_aspect_ratio (SchroVideoFormat *format, int
index); | |
| int schro_video_format_get_std_aspect_ratio (SchroVideoFormat *format); | | int schro_video_format_get_std_aspect_ratio (SchroVideoFormat *format); | |
| void schro_video_format_set_std_signal_range (SchroVideoFormat *format, | | void schro_video_format_set_std_signal_range (SchroVideoFormat *format, | |
| SchroSignalRange index); | | SchroSignalRange index); | |
| SchroSignalRange schro_video_format_get_std_signal_range (SchroVideoFormat
*format); | | SchroSignalRange schro_video_format_get_std_signal_range (SchroVideoFormat
*format); | |
| void schro_video_format_set_std_colour_spec (SchroVideoFormat *format, | | void schro_video_format_set_std_colour_spec (SchroVideoFormat *format, | |
| SchroColourSpec index); | | SchroColourSpec index); | |
| SchroColourSpec schro_video_format_get_std_colour_spec (SchroVideoFormat *f
ormat); | | SchroColourSpec schro_video_format_get_std_colour_spec (SchroVideoFormat *f
ormat); | |
|
| | | int schro_video_format_get_bit_depth (SchroVideoFormat *format); | |
| | | | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| | | | |
| int schro_video_format_get_picture_height (SchroVideoFormat *format); | | int schro_video_format_get_picture_height (SchroVideoFormat *format); | |
| void schro_video_format_get_picture_luma_size (SchroVideoFormat *format, | | void schro_video_format_get_picture_luma_size (SchroVideoFormat *format, | |
| int *picture_luma_width, int *picture_luma_height); | | int *picture_luma_width, int *picture_luma_height); | |
| void schro_video_format_get_picture_chroma_size (SchroVideoFormat *format, | | void schro_video_format_get_picture_chroma_size (SchroVideoFormat *format, | |
| int *picture_chroma_width, int *picture_chroma_height); | | int *picture_chroma_width, int *picture_chroma_height); | |
| void schro_video_format_get_iwt_alloc_size (SchroVideoFormat *format, | | void schro_video_format_get_iwt_alloc_size (SchroVideoFormat *format, | |
| int *width, int *height, int transform_depth); | | int *width, int *height, int transform_depth); | |
|
| int schro_video_format_get_bit_depth (SchroVideoFormat *format); | | | |
| schro_bool schro_video_format_check_MP_DL (SchroVideoFormat *format); | | schro_bool schro_video_format_check_MP_DL (SchroVideoFormat *format); | |
| schro_bool schro_video_format_check_VC2_DL (SchroVideoFormat *format); | | schro_bool schro_video_format_check_VC2_DL (SchroVideoFormat *format); | |
| int schro_video_format_compare_new_sequence (SchroVideoFormat *a, SchroVide
oFormat *b); | | int schro_video_format_compare_new_sequence (SchroVideoFormat *a, SchroVide
oFormat *b); | |
| int schro_video_format_compare (SchroVideoFormat *a, SchroVideoFormat *b); | | int schro_video_format_compare (SchroVideoFormat *a, SchroVideoFormat *b); | |
| | | | |
| #endif | | #endif | |
| | | | |
| SCHRO_END_DECLS | | SCHRO_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| schrovirtframe.h | | schrovirtframe.h | |
| | | | |
| skipping to change at line 34 | | skipping to change at line 34 | |
| SchroFrame *schro_virt_frame_new_vert_downsample (SchroFrame *vf, int cosit
e); | | SchroFrame *schro_virt_frame_new_vert_downsample (SchroFrame *vf, int cosit
e); | |
| SchroFrame *schro_virt_frame_new_vert_resample (SchroFrame *vf, int height)
; | | SchroFrame *schro_virt_frame_new_vert_resample (SchroFrame *vf, int height)
; | |
| SchroFrame *schro_virt_frame_new_horiz_resample (SchroFrame *vf, int width)
; | | SchroFrame *schro_virt_frame_new_horiz_resample (SchroFrame *vf, int width)
; | |
| SchroFrame *schro_virt_frame_new_unpack (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_unpack (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_pack_YUY2 (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_pack_YUY2 (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_pack_UYVY (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_pack_UYVY (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_pack_AYUV (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_pack_AYUV (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_pack_v216 (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_pack_v216 (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_pack_v210 (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_pack_v210 (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_pack_RGB (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_pack_RGB (SchroFrame *vf); | |
|
| | | SchroFrame *schro_virt_frame_new_pack_AY64 (SchroFrame * vf); | |
| SchroFrame *schro_virt_frame_new_color_matrix (SchroFrame *vf); | | SchroFrame *schro_virt_frame_new_color_matrix (SchroFrame *vf); | |
| SchroFrame *schro_virt_frame_new_subsample (SchroFrame *vf, SchroFrameForma
t format); | | SchroFrame *schro_virt_frame_new_subsample (SchroFrame *vf, SchroFrameForma
t format); | |
| | | | |
| SchroFrame * schro_virt_frame_new_convert_u8 (SchroFrame *vf); | | SchroFrame * schro_virt_frame_new_convert_u8 (SchroFrame *vf); | |
|
| | | SchroFrame * schro_virt_frame_new_convert_u8_s32 (SchroFrame *vf); | |
| SchroFrame * schro_virt_frame_new_convert_s16 (SchroFrame *vf); | | SchroFrame * schro_virt_frame_new_convert_s16 (SchroFrame *vf); | |
|
| | | SchroFrame * schro_virt_frame_new_convert_s32 (SchroFrame * vf); | |
| SchroFrame * schro_virt_frame_new_crop (SchroFrame *vf, int width, int heig
ht); | | SchroFrame * schro_virt_frame_new_crop (SchroFrame *vf, int width, int heig
ht); | |
| SchroFrame * schro_virt_frame_new_edgeextend (SchroFrame *vf, int width, in
t height); | | SchroFrame * schro_virt_frame_new_edgeextend (SchroFrame *vf, int width, in
t height); | |
| SchroFrame * schro_virt_frame_new_interlace (SchroFrame *vf_top, SchroFrame
*vf_bottom); | | SchroFrame * schro_virt_frame_new_interlace (SchroFrame *vf_top, SchroFrame
*vf_bottom); | |
| | | | |
| #endif | | #endif | |
| | | | |
| SCHRO_END_DECLS | | SCHRO_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 0 lines changed or deleted | | 3 lines changed or added | |
|
| schrowavelet.h | | schrowavelet.h | |
| | | | |
| skipping to change at line 13 | | skipping to change at line 13 | |
| #define _SCHRO_WAVELET_H_ | | #define _SCHRO_WAVELET_H_ | |
| | | | |
| #include <schroedinger/schroutils.h> | | #include <schroedinger/schroutils.h> | |
| #include <schroedinger/schroframe.h> | | #include <schroedinger/schroframe.h> | |
| | | | |
| SCHRO_BEGIN_DECLS | | SCHRO_BEGIN_DECLS | |
| | | | |
| #ifdef SCHRO_ENABLE_UNSTABLE_API | | #ifdef SCHRO_ENABLE_UNSTABLE_API | |
| | | | |
| void schro_wavelet_transform_2d (SchroFrameData *fd, int type, int16_t *tmp
); | | void schro_wavelet_transform_2d (SchroFrameData *fd, int type, int16_t *tmp
); | |
|
| void schro_wavelet_inverse_transform_2d (SchroFrameData *fd, int type, int1 | | void schro_wavelet_inverse_transform_2d (SchroFrameData *fd_dest, | |
| 6_t *tmp); | | SchroFrameData *fd_src, int type, int16_t *tmp); | |
| | | | |
| void schro_iwt_desl_9_3 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_5_3 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_13_5 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_haar0 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_haar1 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_haar2 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_fidelity (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iwt_daub_9_7 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| | | | |
| void schro_iiwt_desl_9_3 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_5_3 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_13_5 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_haar0 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_haar1 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_haar2 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_fidelity (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| void schro_iiwt_daub_9_7 (int16_t *data, int stride, int width, int height, | | | |
| int16_t *tmp); | | | |
| | | | |
| #endif | | #endif | |
| | | | |
| SCHRO_END_DECLS | | SCHRO_END_DECLS | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 1 change blocks. |
| 36 lines changed or deleted | | 2 lines changed or added | |
|