mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +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;
|
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 */
|
/* our info contains the dimensions for the coded picture before cropping */
|
||||||
gst_video_info_set_format (&dec->vinfo, format, dec->info.frame_width,
|
gst_video_info_set_format (&dec->vinfo, format, dec->info.frame_width,
|
||||||
dec->info.frame_height);
|
dec->info.frame_height);
|
||||||
|
@ -966,6 +946,26 @@ theora_handle_type_packet (GstTheoraDec * dec, ogg_packet * packet)
|
||||||
|
|
||||||
theora_negotiate_pool (dec);
|
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;
|
dec->have_header = TRUE;
|
||||||
|
|
||||||
if (dec->pendingevents) {
|
if (dec->pendingevents) {
|
||||||
|
|
Loading…
Reference in a new issue