8
8
<link rel="up" href="schropublic.html" title="Schroedinger Public API">
9
9
<link rel="prev" href="schroedinger-schrodomain.html" title="schrodomain">
10
10
<link rel="next" href="schroedinger-schroframe.html" title="schroframe">
11
<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
<link rel="chapter" href="schropublic.html" title="Schroedinger Public API">
14
14
<link rel="chapter" href="schrointernal.html" title="Schroedinger Internal API">
22
22
<th width="100%" align="center">Schroedinger Reference Manual</th>
23
23
<td><a accesskey="n" href="schroedinger-schroframe.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
25
<tr><td colspan="5" class="shortcuts"><nobr><a href="#schroedinger-schroencoder.synopsis" class="shortcut">Top</a>
27
<a href="#schroedinger-schroencoder.description" class="shortcut">Description</a></nobr></td></tr>
25
<tr><td colspan="5" class="shortcuts">
26
<a href="#schroedinger-schroencoder.synopsis" class="shortcut">Top</a>
28
<a href="#schroedinger-schroencoder.description" class="shortcut">Description</a>
29
31
<div class="refentry" lang="en">
30
32
<a name="schroedinger-schroencoder"></a><div class="titlepage"></div>
47
49
enum <a class="link" href="schroedinger-schroencoder.html#SchroEncoderGOPEnum" title="enum SchroEncoderGOPEnum">SchroEncoderGOPEnum</a>;
48
50
enum <a class="link" href="schroedinger-schroencoder.html#SchroEncoderRateControlEnum" title="enum SchroEncoderRateControlEnum">SchroEncoderRateControlEnum</a>;
49
51
<a class="link" href="schroedinger-schroencoder.html#SchroEncoderSetting" title="SchroEncoderSetting">SchroEncoderSetting</a>;
52
enum <a class="link" href="schroedinger-schroencoder.html#SchroEncoderSettingTypeEnum" title="enum SchroEncoderSettingTypeEnum">SchroEncoderSettingTypeEnum</a>;
50
53
int (<a class="link" href="schroedinger-schroencoder.html#SchroEngineIterateFunc" title="SchroEngineIterateFunc ()">*SchroEngineIterateFunc</a>) (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
51
<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-new" title="schro_encoder_new ()">schro_encoder_new</a> (void);
54
<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-new" title="schro_encoder_new ()">schro_encoder_new</a> (void);
52
55
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-free" title="schro_encoder_free ()">schro_encoder_free</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
53
<a class="link" href="schroedinger-schroparams.html#SchroVideoFormat" title="SchroVideoFormat">SchroVideoFormat</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-get-video-format" title="schro_encoder_get_video_format ()">schro_encoder_get_video_format</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
56
<a class="link" href="schroedinger-schroparams.html#SchroVideoFormat" title="SchroVideoFormat">SchroVideoFormat</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-get-video-format" title="schro_encoder_get_video_format ()">schro_encoder_get_video_format</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
54
57
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-set-video-format" title="schro_encoder_set_video_format ()">schro_encoder_set_video_format</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
55
58
<a class="link" href="schroedinger-schroparams.html#SchroVideoFormat" title="SchroVideoFormat">SchroVideoFormat</a> *video_format);
56
59
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-end-of-stream" title="schro_encoder_end_of_stream ()">schro_encoder_end_of_stream</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
58
61
<a class="link" href="schroedinger-schroframe.html#SchroFrame" title="SchroFrame">SchroFrame</a> *frame);
59
62
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-parse-info" title="schro_encoder_encode_parse_info ()">schro_encoder_encode_parse_info</a> (<a class="link" href="schroedinger-schropack.html#SchroPack" title="SchroPack">SchroPack</a> *bits,
61
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-pull" title="schro_encoder_pull ()">schro_encoder_pull</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
64
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-pull" title="schro_encoder_pull ()">schro_encoder_pull</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
62
65
int *n_decodable_frames);
63
66
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-analyse-picture" title="schro_encoder_analyse_picture ()">schro_encoder_analyse_picture</a> (SchroAsyncStage *stage);
64
67
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-calculate-subband-weights" title="schro_encoder_calculate_subband_weights ()">schro_encoder_calculate_subband_weights</a>
67
70
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-calculate-test-info" title="schro_encoder_calculate_test_info ()">schro_encoder_calculate_test_info</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);
68
71
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-choose-quantisers" title="schro_encoder_choose_quantisers ()">schro_encoder_choose_quantisers</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);
69
72
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-clean-up-transform" title="schro_encoder_clean_up_transform ()">schro_encoder_clean_up_transform</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);
70
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-auxiliary-data" title="schro_encoder_encode_auxiliary_data ()">schro_encoder_encode_auxiliary_data</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
73
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-auxiliary-data" title="schro_encoder_encode_auxiliary_data ()">schro_encoder_encode_auxiliary_data</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
71
74
<a class="link" href="schroedinger-schrobitstream.html#SchroAuxiliaryDataID" title="enum SchroAuxiliaryDataID">SchroAuxiliaryDataID</a> id,
74
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-end-of-stream" title="schro_encoder_encode_end_of_stream ()">schro_encoder_encode_end_of_stream</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
77
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-end-of-stream" title="schro_encoder_encode_end_of_stream ()">schro_encoder_encode_end_of_stream</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
75
78
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-lowdelay-transform-data" title="schro_encoder_encode_lowdelay_transform_data ()">schro_encoder_encode_lowdelay_transform_data</a>
76
79
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);
77
80
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-encode-picture" title="schro_encoder_encode_picture ()">schro_encoder_encode_picture</a> (SchroAsyncStage *stage);
94
97
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-downsample" title="schro_encoder_frame_downsample ()">schro_encoder_frame_downsample</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);
95
98
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-insert-buffer" title="schro_encoder_frame_insert_buffer ()">schro_encoder_frame_insert_buffer</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame,
96
99
<a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> *buffer);
97
<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-new" title="schro_encoder_frame_new ()">schro_encoder_frame_new</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
98
<a class="link" href="schroedinger-schroframe.html#SchroFrame" title="SchroFrame">SchroFrame</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-queue-get" title="schro_encoder_frame_queue_get ()">schro_encoder_frame_queue_get</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
100
<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-new" title="schro_encoder_frame_new ()">schro_encoder_frame_new</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
101
<a class="link" href="schroedinger-schroframe.html#SchroFrame" title="SchroFrame">SchroFrame</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-queue-get" title="schro_encoder_frame_queue_get ()">schro_encoder_frame_queue_get</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
99
102
<a class="link" href="schroedinger-schroparams.html#SchroPictureNumber" title="SchroPictureNumber">SchroPictureNumber</a> frame_number);
100
103
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-frame-queue-remove" title="schro_encoder_frame_queue_remove ()">schro_encoder_frame_queue_remove</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
101
104
<a class="link" href="schroedinger-schroparams.html#SchroPictureNumber" title="SchroPictureNumber">SchroPictureNumber</a> frame_number);
118
121
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-recalculate-allocations" title="schro_encoder_recalculate_allocations ()">schro_encoder_recalculate_allocations</a>
119
122
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
120
123
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-reconstruct-picture" title="schro_encoder_reconstruct_picture ()">schro_encoder_reconstruct_picture</a> (SchroAsyncStage *stage);
121
<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-reference-get" title="schro_encoder_reference_get ()">schro_encoder_reference_get</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
124
<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-reference-get" title="schro_encoder_reference_get ()">schro_encoder_reference_get</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
122
125
<a class="link" href="schroedinger-schroparams.html#SchroPictureNumber" title="SchroPictureNumber">SchroPictureNumber</a> frame_number);
123
126
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-set-default-subband-weights" title="schro_encoder_set_default_subband_weights ()">schro_encoder_set_default_subband_weights</a>
124
127
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
125
128
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-start" title="schro_encoder_start ()">schro_encoder_start</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
126
129
<a class="link" href="schroedinger-schroencoder.html#SchroStateEnum" title="enum SchroStateEnum">SchroStateEnum</a> <a class="link" href="schroedinger-schroencoder.html#schro-encoder-wait" title="schro_encoder_wait ()">schro_encoder_wait</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
127
130
int <a class="link" href="schroedinger-schroencoder.html#schro-encoder-get-n-settings" title="schro_encoder_get_n_settings ()">schro_encoder_get_n_settings</a> (void);
128
const <a class="link" href="schroedinger-schroencoder.html#SchroEncoderSetting" title="SchroEncoderSetting">SchroEncoderSetting</a>* <a class="link" href="schroedinger-schroencoder.html#schro-encoder-get-setting-info" title="schro_encoder_get_setting_info ()">schro_encoder_get_setting_info</a>
131
const <a class="link" href="schroedinger-schroencoder.html#SchroEncoderSetting" title="SchroEncoderSetting">SchroEncoderSetting</a> * <a class="link" href="schroedinger-schroencoder.html#schro-encoder-get-setting-info" title="schro_encoder_get_setting_info ()">schro_encoder_get_setting_info</a>
130
133
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-global-estimation" title="schro_encoder_global_estimation ()">schro_encoder_global_estimation</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);
131
134
void <a class="link" href="schroedinger-schroencoder.html#schro-encoder-init-error-tables" title="schro_encoder_init_error_tables ()">schro_encoder_init_error_tables</a> (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);
282
276
} SchroEncoderSetting;
282
<div class="refsect2" lang="en">
283
<a name="SchroEncoderSettingTypeEnum"></a><h3>enum SchroEncoderSettingTypeEnum</h3>
284
<pre class="programlisting">typedef enum {
285
SCHRO_ENCODER_SETTING_TYPE_BOOLEAN,
286
SCHRO_ENCODER_SETTING_TYPE_INT,
287
SCHRO_ENCODER_SETTING_TYPE_ENUM,
288
SCHRO_ENCODER_SETTING_TYPE_DOUBLE,
289
SCHRO_ENCODER_SETTING_TYPE_LAST
290
} SchroEncoderSettingTypeEnum;
290
297
<a name="SchroEngineIterateFunc"></a><h3>SchroEngineIterateFunc ()</h3>
291
298
<pre class="programlisting">int (*SchroEngineIterateFunc) (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
295
301
<div class="variablelist"><table border="0">
296
302
<col align="left" valign="top">
314
318
<div class="refsect2" lang="en">
315
319
<a name="schro-encoder-new"></a><h3>schro_encoder_new ()</h3>
316
<pre class="programlisting"><a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a>* schro_encoder_new (void);</pre>
320
<pre class="programlisting"><a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> * schro_encoder_new (void);</pre>
318
322
Create a new encoder object.</p>
322
325
<div class="variablelist"><table border="0">
323
326
<col align="left" valign="top">
350
352
<div class="refsect2" lang="en">
351
353
<a name="schro-encoder-get-video-format"></a><h3>schro_encoder_get_video_format ()</h3>
352
<pre class="programlisting"><a class="link" href="schroedinger-schroparams.html#SchroVideoFormat" title="SchroVideoFormat">SchroVideoFormat</a>* schro_encoder_get_video_format (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
354
<pre class="programlisting"><a class="link" href="schroedinger-schroparams.html#SchroVideoFormat" title="SchroVideoFormat">SchroVideoFormat</a> * schro_encoder_get_video_format (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
354
356
Creates a new SchroVideoFormat structure and copies the
355
357
video format information of <em class="parameter"><code>decoder</code></em> into it.
358
360
When no longer needed, the returned pointer should be
359
361
freed using <code class="function">free()</code>.</p>
363
364
<div class="variablelist"><table border="0">
364
365
<col align="left" valign="top">
386
387
in <em class="parameter"><code>format</code></em>. This function may only be called before <a class="link" href="schroedinger-schroencoder.html#schro-encoder-start" title="schro_encoder_start ()"><code class="function">schro_encoder_start()</code></a>
387
388
is called on the encoder.</p>
391
391
<div class="variablelist"><table border="0">
392
392
<col align="left" valign="top">
482
475
<div class="refsect2" lang="en">
483
476
<a name="schro-encoder-pull"></a><h3>schro_encoder_pull ()</h3>
484
<pre class="programlisting"><a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a>* schro_encoder_pull (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
477
<pre class="programlisting"><a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> * schro_encoder_pull (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
485
478
int *n_decodable_frames);</pre>
487
480
Pulls a buffer of compressed video from the encoder. If
488
481
<em class="parameter"><code>presentation_frame</code></em> is not NULL, the frame number of the
489
482
latest decodable frame is returned.</p>
493
485
<div class="variablelist"><table border="0">
494
486
<col align="left" valign="top">
516
508
<a name="schro-encoder-analyse-picture"></a><h3>schro_encoder_analyse_picture ()</h3>
517
509
<pre class="programlisting">void schro_encoder_analyse_picture (SchroAsyncStage *stage);</pre>
521
512
<div class="variablelist"><table border="0">
522
513
<col align="left" valign="top">
524
515
<td><p><span class="term"><em class="parameter"><code>stage</code></em> :</span></p></td>
536
525
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
537
526
double (perceptual_weightdouble) ());</pre>
541
529
<div class="variablelist"><table border="0">
542
530
<col align="left" valign="top">
561
547
<a name="schro-encoder-calculate-test-info"></a><h3>schro_encoder_calculate_test_info ()</h3>
562
548
<pre class="programlisting">void schro_encoder_calculate_test_info (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
566
551
<div class="variablelist"><table border="0">
567
552
<col align="left" valign="top">
569
554
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
579
562
<a name="schro-encoder-choose-quantisers"></a><h3>schro_encoder_choose_quantisers ()</h3>
580
563
<pre class="programlisting">void schro_encoder_choose_quantisers (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
584
566
<div class="variablelist"><table border="0">
585
567
<col align="left" valign="top">
587
569
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
597
577
<a name="schro-encoder-clean-up-transform"></a><h3>schro_encoder_clean_up_transform ()</h3>
598
578
<pre class="programlisting">void schro_encoder_clean_up_transform (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
602
581
<div class="variablelist"><table border="0">
603
582
<col align="left" valign="top">
605
584
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
614
591
<div class="refsect2" lang="en">
615
592
<a name="schro-encoder-encode-auxiliary-data"></a><h3>schro_encoder_encode_auxiliary_data ()</h3>
616
<pre class="programlisting"><a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a>* schro_encoder_encode_auxiliary_data (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
593
<pre class="programlisting"><a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> * schro_encoder_encode_auxiliary_data (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
617
594
<a class="link" href="schroedinger-schrobitstream.html#SchroAuxiliaryDataID" title="enum SchroAuxiliaryDataID">SchroAuxiliaryDataID</a> id,
621
598
Packs data into a Dirac auxiliary data packet.</p>
625
601
<div class="variablelist"><table border="0">
626
602
<col align="left" valign="top">
657
633
<div class="refsect2" lang="en">
658
634
<a name="schro-encoder-encode-end-of-stream"></a><h3>schro_encoder_encode_end_of_stream ()</h3>
659
<pre class="programlisting"><a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a>* schro_encoder_encode_end_of_stream (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
635
<pre class="programlisting"><a class="link" href="schroedinger-schrobuffer.html#SchroBuffer" title="SchroBuffer">SchroBuffer</a> * schro_encoder_encode_end_of_stream (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
661
637
Creates an end-of-stream packet.</p>
665
640
<div class="variablelist"><table border="0">
666
641
<col align="left" valign="top">
684
659
<pre class="programlisting">void schro_encoder_encode_lowdelay_transform_data
685
660
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
689
663
<div class="variablelist"><table border="0">
690
664
<col align="left" valign="top">
692
666
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
702
674
<a name="schro-encoder-encode-picture"></a><h3>schro_encoder_encode_picture ()</h3>
703
675
<pre class="programlisting">void schro_encoder_encode_picture (SchroAsyncStage *stage);</pre>
707
678
<div class="variablelist"><table border="0">
708
679
<col align="left" valign="top">
710
681
<td><p><span class="term"><em class="parameter"><code>stage</code></em> :</span></p></td>
720
689
<a name="schro-encoder-encode-picture-header"></a><h3>schro_encoder_encode_picture_header ()</h3>
721
690
<pre class="programlisting">void schro_encoder_encode_picture_header (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
725
693
<div class="variablelist"><table border="0">
726
694
<col align="left" valign="top">
728
696
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
803
763
<a name="schro-encoder-engine-backref"></a><h3>schro_encoder_engine_backref ()</h3>
804
764
<pre class="programlisting">int schro_encoder_engine_backref (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
808
767
<div class="variablelist"><table border="0">
809
768
<col align="left" valign="top">
828
785
<a name="schro-encoder-engine-backtest"></a><h3>schro_encoder_engine_backtest ()</h3>
829
786
<pre class="programlisting">int schro_encoder_engine_backtest (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
833
789
<div class="variablelist"><table border="0">
834
790
<col align="left" valign="top">
853
807
<a name="schro-encoder-engine-intra-only"></a><h3>schro_encoder_engine_intra_only ()</h3>
854
808
<pre class="programlisting">int schro_encoder_engine_intra_only (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
858
811
<div class="variablelist"><table border="0">
859
812
<col align="left" valign="top">
878
829
<a name="schro-encoder-engine-lossless"></a><h3>schro_encoder_engine_lossless ()</h3>
879
830
<pre class="programlisting">int schro_encoder_engine_lossless (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
883
833
<div class="variablelist"><table border="0">
884
834
<col align="left" valign="top">
903
851
<a name="schro-encoder-engine-lowdelay"></a><h3>schro_encoder_engine_lowdelay ()</h3>
904
852
<pre class="programlisting">int schro_encoder_engine_lowdelay (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
908
855
<div class="variablelist"><table border="0">
909
856
<col align="left" valign="top">
928
873
<a name="schro-encoder-engine-test-intra"></a><h3>schro_encoder_engine_test_intra ()</h3>
929
874
<pre class="programlisting">int schro_encoder_engine_test_intra (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
933
877
<div class="variablelist"><table border="0">
934
878
<col align="left" valign="top">
953
895
<a name="schro-encoder-estimate-entropy"></a><h3>schro_encoder_estimate_entropy ()</h3>
954
896
<pre class="programlisting">void schro_encoder_estimate_entropy (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
958
899
<div class="variablelist"><table border="0">
959
900
<col align="left" valign="top">
961
902
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
971
910
<a name="schro-encoder-frame-analyse"></a><h3>schro_encoder_frame_analyse ()</h3>
972
911
<pre class="programlisting">void schro_encoder_frame_analyse (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
976
914
<div class="variablelist"><table border="0">
977
915
<col align="left" valign="top">
979
917
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
989
925
<a name="schro-encoder-frame-downsample"></a><h3>schro_encoder_frame_downsample ()</h3>
990
926
<pre class="programlisting">void schro_encoder_frame_downsample (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
994
929
<div class="variablelist"><table border="0">
995
930
<col align="left" valign="top">
997
932
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
1032
964
<div class="refsect2" lang="en">
1033
965
<a name="schro-encoder-frame-new"></a><h3>schro_encoder_frame_new ()</h3>
1034
<pre class="programlisting"><a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a>* schro_encoder_frame_new (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
966
<pre class="programlisting"><a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> * schro_encoder_frame_new (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
1038
969
<div class="variablelist"><table border="0">
1039
970
<col align="left" valign="top">
1057
986
<div class="refsect2" lang="en">
1058
987
<a name="schro-encoder-frame-queue-get"></a><h3>schro_encoder_frame_queue_get ()</h3>
1059
<pre class="programlisting"><a class="link" href="schroedinger-schroframe.html#SchroFrame" title="SchroFrame">SchroFrame</a>* schro_encoder_frame_queue_get (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
988
<pre class="programlisting"><a class="link" href="schroedinger-schroframe.html#SchroFrame" title="SchroFrame">SchroFrame</a> * schro_encoder_frame_queue_get (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
1060
989
<a class="link" href="schroedinger-schroparams.html#SchroPictureNumber" title="SchroPictureNumber">SchroPictureNumber</a> frame_number);</pre>
1064
992
<div class="variablelist"><table border="0">
1065
993
<col align="left" valign="top">
1090
1016
<pre class="programlisting">void schro_encoder_frame_queue_remove (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
1091
1017
<a class="link" href="schroedinger-schroparams.html#SchroPictureNumber" title="SchroPictureNumber">SchroPictureNumber</a> frame_number);</pre>
1095
1020
<div class="variablelist"><table border="0">
1096
1021
<col align="left" valign="top">
1115
1038
<a name="schro-encoder-frame-ref"></a><h3>schro_encoder_frame_ref ()</h3>
1116
1039
<pre class="programlisting">void schro_encoder_frame_ref (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
1120
1042
<div class="variablelist"><table border="0">
1121
1043
<col align="left" valign="top">
1123
1045
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
1133
1053
<a name="schro-encoder-frame-unref"></a><h3>schro_encoder_frame_unref ()</h3>
1134
1054
<pre class="programlisting">void schro_encoder_frame_unref (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
1138
1057
<div class="variablelist"><table border="0">
1139
1058
<col align="left" valign="top">
1141
1060
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
1151
1068
<a name="schro-encoder-init-subbands"></a><h3>schro_encoder_init_subbands ()</h3>
1152
1069
<pre class="programlisting">void schro_encoder_init_subbands (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
1156
1072
<div class="variablelist"><table border="0">
1157
1073
<col align="left" valign="top">
1159
1075
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
1286
1190
<a name="schro-encoder-perceptual-weight-moo"></a><h3>schro_encoder_perceptual_weight_moo ()</h3>
1287
1191
<pre class="programlisting">double schro_encoder_perceptual_weight_moo (double cpd);</pre>
1291
1194
<div class="variablelist"><table border="0">
1292
1195
<col align="left" valign="top">
1311
1212
<a name="schro-encoder-postanalyse-picture"></a><h3>schro_encoder_postanalyse_picture ()</h3>
1312
1213
<pre class="programlisting">void schro_encoder_postanalyse_picture (SchroAsyncStage *stage);</pre>
1316
1216
<div class="variablelist"><table border="0">
1317
1217
<col align="left" valign="top">
1319
1219
<td><p><span class="term"><em class="parameter"><code>stage</code></em> :</span></p></td>
1357
1254
<pre class="programlisting">void schro_encoder_recalculate_allocations
1358
1255
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
1362
1258
<div class="variablelist"><table border="0">
1363
1259
<col align="left" valign="top">
1365
1261
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
1375
1269
<a name="schro-encoder-reconstruct-picture"></a><h3>schro_encoder_reconstruct_picture ()</h3>
1376
1270
<pre class="programlisting">void schro_encoder_reconstruct_picture (SchroAsyncStage *stage);</pre>
1380
1273
<div class="variablelist"><table border="0">
1381
1274
<col align="left" valign="top">
1383
1276
<td><p><span class="term"><em class="parameter"><code>stage</code></em> :</span></p></td>
1392
1283
<div class="refsect2" lang="en">
1393
1284
<a name="schro-encoder-reference-get"></a><h3>schro_encoder_reference_get ()</h3>
1394
<pre class="programlisting"><a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a>* schro_encoder_reference_get (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
1285
<pre class="programlisting"><a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> * schro_encoder_reference_get (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder,
1395
1286
<a class="link" href="schroedinger-schroparams.html#SchroPictureNumber" title="SchroPictureNumber">SchroPictureNumber</a> frame_number);</pre>
1399
1289
<div class="variablelist"><table border="0">
1400
1290
<col align="left" valign="top">
1425
1313
<pre class="programlisting">void schro_encoder_set_default_subband_weights
1426
1314
(<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
1430
1317
<div class="variablelist"><table border="0">
1431
1318
<col align="left" valign="top">
1433
1320
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
1447
1332
encoding pictures. At this point, the encoder will start worker
1448
1333
threads to do the actual encoding.</p>
1452
1336
<div class="variablelist"><table border="0">
1453
1337
<col align="left" valign="top">
1468
1352
Otherwise, this function waits until the encoder requires the
1469
1353
application to do something.</p>
1473
1356
<div class="variablelist"><table border="0">
1474
1357
<col align="left" valign="top">
1491
1374
<a name="schro-encoder-get-n-settings"></a><h3>schro_encoder_get_n_settings ()</h3>
1492
1375
<pre class="programlisting">int schro_encoder_get_n_settings (void);</pre>
1496
1378
<div class="variablelist"><table border="0">
1497
1379
<col align="left" valign="top">
1499
1381
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1508
1388
<div class="refsect2" lang="en">
1509
1389
<a name="schro-encoder-get-setting-info"></a><h3>schro_encoder_get_setting_info ()</h3>
1510
<pre class="programlisting">const <a class="link" href="schroedinger-schroencoder.html#SchroEncoderSetting" title="SchroEncoderSetting">SchroEncoderSetting</a>* schro_encoder_get_setting_info
1390
<pre class="programlisting">const <a class="link" href="schroedinger-schroencoder.html#SchroEncoderSetting" title="SchroEncoderSetting">SchroEncoderSetting</a> * schro_encoder_get_setting_info
1515
1394
<div class="variablelist"><table border="0">
1516
1395
<col align="left" valign="top">
1535
1412
<a name="schro-encoder-global-estimation"></a><h3>schro_encoder_global_estimation ()</h3>
1536
1413
<pre class="programlisting">void schro_encoder_global_estimation (<a class="link" href="schroedinger-schroencoder.html#SchroEncoderFrame" title="SchroEncoderFrame">SchroEncoderFrame</a> *frame);</pre>
1540
1416
<div class="variablelist"><table border="0">
1541
1417
<col align="left" valign="top">
1543
1419
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
1553
1427
<a name="schro-encoder-init-error-tables"></a><h3>schro_encoder_init_error_tables ()</h3>
1554
1428
<pre class="programlisting">void schro_encoder_init_error_tables (<a class="link" href="schroedinger-schroencoder.html#SchroEncoder" title="SchroEncoder">SchroEncoder</a> *encoder);</pre>
1558
1431
<div class="variablelist"><table border="0">
1559
1432
<col align="left" valign="top">
1561
1434
<td><p><span class="term"><em class="parameter"><code>encoder</code></em> :</span></p></td>
1571
1442
<a name="schro-encoder-phasecorr-estimation"></a><h3>schro_encoder_phasecorr_estimation ()</h3>
1572
1443
<pre class="programlisting">void schro_encoder_phasecorr_estimation (SchroPhaseCorr *pc);</pre>
1576
1446
<div class="variablelist"><table border="0">
1577
1447
<col align="left" valign="top">
1579
1449
<td><p><span class="term"><em class="parameter"><code>pc</code></em> :</span></p></td>