mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
theoradec: move some code
The parsing of the headers consists of negotiating the format and then setting up the decoder so split this in two parts.
This commit is contained in:
parent
f89c85485d
commit
271939d118
1 changed files with 20 additions and 20 deletions
|
@ -915,26 +915,6 @@ theora_handle_type_packet (GstTheoraDec * dec, ogg_packet * packet)
|
|||
dec->need_cropping = FALSE;
|
||||
}
|
||||
|
||||
/* done */
|
||||
dec->decoder = th_decode_alloc (&dec->info, dec->setup);
|
||||
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_MV,
|
||||
&dec->telemetry_mv, sizeof (dec->telemetry_mv)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable MV visualisation");
|
||||
}
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_MBMODE,
|
||||
&dec->telemetry_mbmode, sizeof (dec->telemetry_mbmode)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable MB mode visualisation");
|
||||
}
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_QI,
|
||||
&dec->telemetry_qi, sizeof (dec->telemetry_qi)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable QI mode visualisation");
|
||||
}
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_BITS,
|
||||
&dec->telemetry_bits, sizeof (dec->telemetry_bits)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable BITS mode visualisation");
|
||||
}
|
||||
|
||||
/* our info contains the dimensions for the coded picture before cropping */
|
||||
gst_video_info_set_format (&dec->vinfo, format, dec->info.frame_width,
|
||||
dec->info.frame_height);
|
||||
|
@ -966,6 +946,26 @@ theora_handle_type_packet (GstTheoraDec * dec, ogg_packet * packet)
|
|||
|
||||
theora_negotiate_pool (dec);
|
||||
|
||||
/* done */
|
||||
dec->decoder = th_decode_alloc (&dec->info, dec->setup);
|
||||
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_MV,
|
||||
&dec->telemetry_mv, sizeof (dec->telemetry_mv)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable MV visualisation");
|
||||
}
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_MBMODE,
|
||||
&dec->telemetry_mbmode, sizeof (dec->telemetry_mbmode)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable MB mode visualisation");
|
||||
}
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_QI,
|
||||
&dec->telemetry_qi, sizeof (dec->telemetry_qi)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable QI mode visualisation");
|
||||
}
|
||||
if (th_decode_ctl (dec->decoder, TH_DECCTL_SET_TELEMETRY_BITS,
|
||||
&dec->telemetry_bits, sizeof (dec->telemetry_bits)) != TH_EIMPL) {
|
||||
GST_WARNING_OBJECT (dec, "Could not enable BITS mode visualisation");
|
||||
}
|
||||
|
||||
dec->have_header = TRUE;
|
||||
|
||||
if (dec->pendingevents) {
|
||||
|
|
Loading…
Reference in a new issue