diff options
author | jstebbins <[email protected]> | 2014-09-09 17:42:53 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2014-09-09 17:42:53 +0000 |
commit | 47f221161b42b7d3cb1ae49a16a6ec7452eb978f (patch) | |
tree | f76b8c9efe6a9d4f275ef15c04e1613cfe0a7853 /libhb/internal.h | |
parent | 54dbf9c1dea56d271b1760e7f6b085914b0cff7c (diff) |
libhb: thread nlmeans filter
Scales well with number of CPUs, so is 4x faster on quad cores.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6397 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/internal.h')
-rw-r--r-- | libhb/internal.h | 71 |
1 files changed, 37 insertions, 34 deletions
diff --git a/libhb/internal.h b/libhb/internal.h index f32c3d3ff..7fb266c8c 100644 --- a/libhb/internal.h +++ b/libhb/internal.h @@ -51,6 +51,41 @@ void hb_set_state( hb_handle_t *, hb_state_t * ); * May have metadata associated with it via extra fields * that are conditionally used depending on the type of packet. */ +struct hb_buffer_settings_s +{ + enum { AUDIO_BUF, VIDEO_BUF, SUBTITLE_BUF, FRAME_BUF, OTHER_BUF } type; + + int id; // ID of the track that the packet comes from + int64_t start; // start time of frame + double duration; // Actual duration, may be fractional ticks + int64_t stop; // stop time of frame + int64_t renderOffset; // DTS used by b-frame offsets in muxmp4 + int64_t pcr; + uint8_t discontinuity; + int new_chap; // Video packets: if non-zero, is the index of the chapter whose boundary was crossed + +#define HB_FRAME_IDR 0x01 +#define HB_FRAME_I 0x02 +#define HB_FRAME_AUDIO 0x04 +#define HB_FRAME_SUBTITLE 0x08 +#define HB_FRAME_P 0x10 +#define HB_FRAME_B 0x20 +#define HB_FRAME_BREF 0x40 +#define HB_FRAME_KEY 0x0F +#define HB_FRAME_REF 0xF0 + uint8_t frametype; + uint16_t flags; +}; + +struct hb_image_format_s +{ + int x; + int y; + int width; + int height; + int fmt; +}; + struct hb_buffer_s { int size; // size of this packet @@ -71,40 +106,8 @@ struct hb_buffer_s */ int64_t sequence; - struct settings - { - enum { AUDIO_BUF, VIDEO_BUF, SUBTITLE_BUF, FRAME_BUF, OTHER_BUF } type; - - int id; // ID of the track that the packet comes from - int64_t start; // start time of frame - double duration; // Actual duration, may be fractional ticks - int64_t stop; // stop time of frame - int64_t renderOffset; // DTS used by b-frame offsets in muxmp4 - int64_t pcr; - uint8_t discontinuity; - int new_chap; // Video packets: if non-zero, is the index of the chapter whose boundary was crossed - - #define HB_FRAME_IDR 0x01 - #define HB_FRAME_I 0x02 - #define HB_FRAME_AUDIO 0x04 - #define HB_FRAME_SUBTITLE 0x08 - #define HB_FRAME_P 0x10 - #define HB_FRAME_B 0x20 - #define HB_FRAME_BREF 0x40 - #define HB_FRAME_KEY 0x0F - #define HB_FRAME_REF 0xF0 - uint8_t frametype; - uint16_t flags; - } s; - - struct format - { - int x; - int y; - int width; - int height; - int fmt; - } f; + hb_buffer_settings_t s; + hb_image_format_t f; struct buffer_plane { |