From patchwork Fri Jul 15 11:22:02 2005 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: mike lewis X-Patchwork-Id: 11945 Received: from wproxy.gmail.com ([64.233.184.204]) by www.linuxtv.org with esmtp (Exim 4.34) id 1DtOH5-0005gb-17 for vdr@linuxtv.org; Fri, 15 Jul 2005 13:22:35 +0200 Received: by wproxy.gmail.com with SMTP id i23so612569wra for ; Fri, 15 Jul 2005 04:22:02 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:references; b=YDlqME2e4BENdJo4ugZMJvPQKUjiRbiYJ3BIBJgJGB8I4hPsBOX2oHShk49xQbvEwpIFBQPgHQdPebflXfOBj6b3XPrWi0tt50FBGXoP/TvXe6+dboGxU5PYjKDhY9ksiMKvMZwdGNmWlAXvrclLoeZ6eq0H2vfOtrR/h//QItc= Received: by 10.54.13.50 with SMTP id 50mr1083818wrm; Fri, 15 Jul 2005 04:22:02 -0700 (PDT) Received: by 10.54.22.71 with HTTP; Fri, 15 Jul 2005 04:22:02 -0700 (PDT) Message-ID: Date: Fri, 15 Jul 2005 19:22:02 +0800 From: mike lewis To: Klaus Schmidinger's VDR , Xine Devel Subject: Re: [xine-devel] Re: [vdr] WSS data in vdr-xine In-Reply-To: <18bc366d050714072120f78948@mail.gmail.com> Mime-Version: 1.0 References: <42D20CFC.1060003@registru.md> <42D2E5C6.2000407@gmx.de> <18bc366d050714072120f78948@mail.gmail.com> X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: mike lewis , Klaus Schmidinger's VDR List-Id: Klaus Schmidinger's VDR List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2005 11:22:35 -0000 Status: O X-Status: X-Keywords: X-UID: 3550 On 7/14/05, James Stembridge wrote: > On 7/14/05, mike lewis wrote: > > What I'd really like to know is this: what actually are crop_top / > > crop_bottom? Are they the amount that is to be cropped in pixels > > Yes. > OK, the following patch will "cut" 100 lines from the bottom of the video. This is not exactly what I was hoping for.. What I was hoping for was a way to cut the video before the content was "expanded". [xine-devel please note this is an already patched version of expand.c adding "centre cut out mode" from Can anyone offer any advice on how this can be achieved? Mick --- xine-lib-old/src/post/planar/expand.c 2005-07-14 22:08:48.000000000 +0800 +++ xine-lib/src/post/planar/expand.c 2005-07-15 19:16:18.000000000 +0800 @@ -69,6 +69,7 @@ int enable_automatic_shift; int overlay_y_offset; int centre_cut_out_mode; + int hide_wss; } expand_parameters_t; START_PARAM_DESCR(expand_parameters_t) @@ -78,6 +79,8 @@ "manually shift the overlay vertically") PARAM_ITEM(POST_PARAM_TYPE_BOOL, centre_cut_out_mode, NULL, 0, 1, 0, "cut out centered 4:3 image contained in 16:9 frame") +PARAM_ITEM(POST_PARAM_TYPE_BOOL, hide_wss, NULL, 0, 1, 0, + "cut out WSS data from the frame") END_PARAM_DESCR(expand_param_descr) typedef struct post_expand_s { @@ -89,6 +92,7 @@ int overlay_y_offset; int top_bar_height; int centre_cut_out_mode; + int hide_wss; int cropping_active; } post_expand_t; @@ -162,6 +166,7 @@ this->enable_automatic_shift = 0; this->overlay_y_offset = 0; this->centre_cut_out_mode = 0; + this->hide_wss = 0; this->cropping_active = 0; port = _x_post_intercept_video_port(&this->post, video_target[0], &input, &output); @@ -224,6 +229,7 @@ this->enable_automatic_shift = param->enable_automatic_shift; this->overlay_y_offset = param->overlay_y_offset; this->centre_cut_out_mode = param->centre_cut_out_mode; + this->hide_wss = param->hide_wss; return 1; } @@ -236,6 +242,7 @@ param->enable_automatic_shift = this->enable_automatic_shift; param->overlay_y_offset = this->overlay_y_offset; param->centre_cut_out_mode = this->centre_cut_out_mode; + param->hide_wss = this->hide_wss; return 1; } @@ -250,6 +257,8 @@ " Enable_automatic_shift: Enable automatic overlay shifting\n" " Overlay_y_offset: Manually shift the overlay vertically\n" " Centre_cut_out_mode: extracts 4:3 image contained in 16:9 frame\n" + " hide_wss: hides the WSS stream data which can be displayed as\n" + " white dots at the top or bottom of each frame\n" "\n" ); } @@ -435,7 +444,13 @@ /* get_frame() allocated an extra high frame */ frame->crop_top += (frame->next->height - frame->height) / 2; frame->crop_bottom += (frame->next->height - frame->height) / 2; + } + if (this->hide_wss) { + //frame->crop_top += (frame->height - 10); + frame->crop_top = 0; + frame->crop_bottom = 100; } + } _x_post_frame_copy_down(frame, frame->next);