X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_filter%2Ftransform.c;h=2f771e84459e5024af8333558200df729e8a4ac5;hb=997c5859d2ab8e7bc613d1c8654335a92c41b0f8;hp=5886f41569b141669c3cbc1ab38970a9196f9e43;hpb=fe087a38282e93addb25fa9598393e40ea233b09;p=vlc diff --git a/modules/video_filter/transform.c b/modules/video_filter/transform.c index 5886f41569..2f771e8445 100644 --- a/modules/video_filter/transform.c +++ b/modules/video_filter/transform.c @@ -18,7 +18,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /***************************************************************************** @@ -189,34 +189,31 @@ static int Init( vout_thread_t *p_vout ) p_vout->output.i_width = p_vout->render.i_width; p_vout->output.i_height = p_vout->render.i_height; p_vout->output.i_aspect = p_vout->render.i_aspect; - - fmt.i_width = fmt.i_visible_width = p_vout->render.i_width; - fmt.i_height = fmt.i_visible_height = p_vout->render.i_height; - fmt.i_x_offset = fmt.i_y_offset = 0; - fmt.i_chroma = p_vout->render.i_chroma; - fmt.i_aspect = p_vout->render.i_aspect; - fmt.i_sar_num = p_vout->render.i_aspect * fmt.i_height / fmt.i_width; - fmt.i_sar_den = VOUT_ASPECT_FACTOR; + p_vout->fmt_out = p_vout->fmt_in; + fmt = p_vout->fmt_out; /* Try to open the real video output */ msg_Dbg( p_vout, "spawning the real video output" ); if( p_vout->p_sys->b_rotation ) { - fmt.i_width = fmt.i_visible_width = p_vout->render.i_height; - fmt.i_height = fmt.i_visible_height = p_vout->render.i_width; + fmt.i_width = p_vout->fmt_out.i_height; + fmt.i_visible_width = p_vout->fmt_out.i_visible_height; + fmt.i_x_offset = p_vout->fmt_out.i_y_offset; + + fmt.i_height = p_vout->fmt_out.i_width; + fmt.i_visible_height = p_vout->fmt_out.i_visible_width; + fmt.i_y_offset = p_vout->fmt_out.i_x_offset; + fmt.i_aspect = VOUT_ASPECT_FACTOR * - (uint64_t)VOUT_ASPECT_FACTOR / p_vout->render.i_aspect; - fmt.i_sar_num = VOUT_ASPECT_FACTOR; - fmt.i_sar_den = p_vout->render.i_aspect * fmt.i_height / fmt.i_width; + (uint64_t)VOUT_ASPECT_FACTOR / fmt.i_aspect; - p_vout->p_sys->p_vout = vout_Create( p_vout, &fmt ); - } - else - { - p_vout->p_sys->p_vout = vout_Create( p_vout, &fmt ); + fmt.i_sar_num = p_vout->fmt_out.i_sar_den; + fmt.i_sar_den = p_vout->fmt_out.i_sar_num; } + p_vout->p_sys->p_vout = vout_Create( p_vout, &fmt ); + /* Everything failed */ if( p_vout->p_sys->p_vout == NULL ) { @@ -400,7 +397,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic ) for( ; p_in < p_in_end ; ) { p_in_end -= p_pic->p[i_index].i_pitch; - p_vout->p_vlc->pf_memcpy( p_out, p_in_end, + p_vout->p_libvlc->pf_memcpy( p_out, p_in_end, p_pic->p[i_index].i_visible_pitch ); p_out += p_pic->p[i_index].i_pitch; }