[vlc-devel] [PATCH] mediacodec: detect size changed by comparing visible size
Thomas Guillem
thomas at gllm.fr
Fri Aug 10 09:01:07 CEST 2018
Do you have an hevc sample for that ?
On Thu, Aug 9, 2018, at 04:20, Zhao Zhili wrote:
> The commit message is incorrect, please see the next patch. And
> for my bad English grammar please feel free to reword the commit
> message if the patch itself is correct.
>
>
> On 2018年08月09日 09:52, Zhao Zhili wrote:
> > Input size may not aligned to the requirement of codec. For H.264 We can
> > divide the size by macroblock size before comparing, but it doesn't work
> > with HEVC.
> > ---
> > modules/codec/omxil/mediacodec.c | 14 +++++++-------
> > 1 file changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/modules/codec/omxil/mediacodec.c b/modules/codec/omxil/mediacodec.c
> > index 9ee2cf6..40bc5d7 100644
> > --- a/modules/codec/omxil/mediacodec.c
> > +++ b/modules/codec/omxil/mediacodec.c
> > @@ -112,7 +112,7 @@ typedef struct
> > {
> > void *p_surface, *p_jsurface;
> > unsigned i_angle;
> > - unsigned i_input_width, i_input_height;
> > + unsigned i_input_visible_width, i_input_visible_height;
> > unsigned int i_stride, i_slice_height;
> > int i_pixel_format;
> > struct hxxx_helper hh;
> > @@ -259,10 +259,10 @@ static void HXXXInitSize(decoder_t *p_dec, bool *p_size_changed)
> > unsigned i_w, i_h, i_vw, i_vh;
> > hxxx_helper_get_current_picture_size(hh, &i_w, &i_h, &i_vw, &i_vh);
> >
> > - *p_size_changed = (i_w != p_sys->video.i_input_width
> > - || i_h != p_sys->video.i_input_height);
> > - p_sys->video.i_input_width = i_w;
> > - p_sys->video.i_input_height = i_h;
> > + *p_size_changed = (i_vw != p_sys->video.i_input_visible_width
> > + || i_vh != p_sys->video.i_input_visible_height);
> > + p_sys->video.i_input_visible_width = i_vw;
> > + p_sys->video.i_input_visible_height = i_vh;
> > /* fmt_out video size will be updated by mediacodec output callback */
> > }
> > }
> > @@ -731,9 +731,9 @@ static int OpenDecoder(vlc_object_t *p_this, pf_MediaCodecApi_init pf_init)
> > p_dec->fmt_out.video.i_sar_den = 1;
> > }
> >
> > - p_sys->video.i_input_width =
> > + p_sys->video.i_input_visible_width = p_dec->fmt_in.video.i_visible_width;
> > + p_sys->video.i_input_visible_height = p_dec->fmt_in.video.i_visible_height;
> > p_dec->fmt_out.video.i_visible_width = p_dec->fmt_out.video.i_width;
> > - p_sys->video.i_input_height =
> > p_dec->fmt_out.video.i_visible_height = p_dec->fmt_out.video.i_height;
> >
> > if (UpdateVout(p_dec) != VLC_SUCCESS)
>
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list