Hi, This patch is for some rmvb file that change the resolution during the playing, these video usually made by join two rmvb file together, I've reported the bug to the mplayer-users list and uploaded some sample file to mplayer's ftp. Basicly, I add some code to detect the resolution change from the output of the rmvb codec, if either the width or the height of the movie is changed, just reconfig the vo. I modified the vf.c to realloc a mp_image if the height or the width is changed, I did this only to the TEMP type, I don't know the other types should be changed too, since I don't know how to test if there is any regressions. -- Best Regards, LR
On Fri, 23 Sep 2005 21:51:22 +0800 陆然 <hephooey@fastmail.fm> wrote:
Hi,
This patch is for some rmvb file that change the resolution during the playing, these video usually made by join two rmvb file together, I've reported the bug to the mplayer-users list and uploaded some sample file to mplayer's ftp.
Basicly, I add some code to detect the resolution change from the output of the rmvb codec, if either the width or the height of the movie is changed, just reconfig the vo.
I modified the vf.c to realloc a mp_image if the height or the width is changed, I did this only to the TEMP type, I don't know the other types should be changed too, since I don't know how to test if there is any regressions.
The real part looks ok, even if i have to doublecheck the change in the aspect computation on the !inited part. Can somebody comment on the mpi changes? I have no clue on that code Ciao, Roberto
Hi, On Saturday 02 September 2006 22:50, Roberto Togni wrote:
The real part looks ok, even if i have to doublecheck the change in the aspect computation on the !inited part.
Can somebody comment on the mpi changes? I have no clue on that code
I've made some improvement about the real part, the original patch only works when changing from a large resolution to a small one, otherwise it will crash. Now I allocate a static buffer using the w & h provide by the header. and there are sometimes the decoder returns a new resolution while the data is still the old one, transform_out[0] seems always to be 0 when this happens, so I add a check before reinit the vo. -- Best Regards, LR
participants (3)
-
Roberto Togni -
陆然 -
陆然