#define EVEN( a ) ( (a) + ( (a) & 1 ) )
#define MULTIPLE_16( a ) ( 16 * ( ( (a) + 8 ) / 16 ) )
-#define MULTIPLE_MOD( a, b ) ( b * ( ( (a) + (b / 2) ) / b ) )
+#define MULTIPLE_MOD( a, b ) ( b * ( ( (a) + (b / 2) - 1) / b ) )
#define HB_DVD_READ_BUFFER_SIZE 2048
int crf;
char *x264opts;
int areBframes;
+ int color_matrix;
/* List of audio settings. */
hb_list_t * list_audio;
int subtitle_force;
char * native_language;
+ int64_t pts_to_stop; // declare eof when we pass this pts in
+ // the time-linearized input stream
+ int start_at_preview; // if non-zero, encoding will start
+ // at the position of preview n (1-10)
+ uint32_t frames_to_skip; // decode but discard this many frames
+ // initially (for frame accurate positioning
+ // to non-I frames).
+
#ifdef __LIBHB__
/* Internal data */
hb_handle_t * h;
int bitrate; /* Output bitrate (kbps) */
int mixdown; /* The mixdown format to be used for this audio track (see HB_AMIXDOWN_*) */
double dynamic_range_compression; /* Amount of DRC that gets applied to this track */
+ char * name; /* Output track name */
} out;
/* Input */
int track; /* Input track number */
PRIVATE uint32_t codec; /* Input audio codec */
PRIVATE uint32_t codec_param; /* per-codec config info */
+ PRIVATE uint32_t version; /* Bitsream version */
+ PRIVATE uint32_t mode; /* Bitstream mode, codec dependent encoding */
PRIVATE int samplerate; /* Input sample rate (Hz) */
PRIVATE int bitrate; /* Input bitrate (kbps) */
PRIVATE int channel_layout;
PRIVATE char description[1024];
PRIVATE char simple[1024];
PRIVATE char iso639_2[4];
+ PRIVATE uint8_t type; /* normal, visually impared, directors */
} lang;
};
int id;
char lang[1024];
char iso639_2[4];
+ uint8_t type; /* Closed Caption, Childrens, Directors etc */
int hits; /* How many hits/occurrences of this subtitle */
int forced_hits; /* How many forced hits in this subtitle */
int video_id; /* demuxer stream id for video */
int video_codec; /* worker object id of video codec */
int video_codec_param; /* codec specific config */
-
+ int flaky_clock; /* can lose reference clock */
+ /* (for over-the-air transport streams) */
const char *video_codec_name;
int video_bitrate;
const char *container_name;
int rate;
int rate_base;
int flags;
+ int version;
+ int mode;
union {
struct { // info only valid for video decoders
int width;