The number of bytes is the data type of "pixel"?

I'm relatively new to use Pixel Bender to process audio data, so I'm sorry for my lack of understanding of what follows.

I had a question about the data types 'pixel' and 'image' Pixel Bender.

I'm trying to understand code Kevin Goldsmith has written for his mixer 2 channels of audio and there seems to be a gap between the amount of data sent to the shader of PB, and the amount received when the buffer is sent to her for treatment.

Here is the link to the code:

At the top of the code, it says a "BUFFER" of 2048 constant:

private public static var Buffer_size : uint = 0 x 800;

Then, in the processSound() function, he implemented an byteArray with a size of 16 384 bytes:

shaderBuffer. length = BUFFER_SIZE * 2 * 4;     <---(échantillons stéréo 2048 * 2 * 4 octets/échantillon)

However, I am confused about the part where it defines a hypothetical image and sends the data to the shader:

effectShader. data ["source"] . width = BUFFER_SIZE / 1024;     <---(2048 / 1024 = 2)

effectShader. data ["source"] . height = 512 ;

From the code above, one can easily see that the size of the image is only 1024 "pixel" (2 * 512), and on the receiving end there is a "image.4" of variable entry expected to receive.  So far, I was under the assumption that a data type "image4" consists of a variable amount of pixels (determined by the size of the image that is food inside), each composed of 4 layers of color of 1 byte.  In this logic, each pixel in a data type "image4" should consist of 4 bytes.  Now, let's do the math: 4 bytes * 1024 pixels = 4096.

4096 is not equal to 16 384!

How can feed you a 16 384 'byteArray' bytes in a variable "image4" of 4096 bytes?

I'm sorry to seem presumptuous to the explanation above, but I can not understand what is happening here!

The number of bytes is a 'pixel' in PB?  He holds float or integer values or both?

I've scoured the web to find these answers, but nothing helps!  Maybe I'm off the mark with my current understanding of the pixels and images in PB, but I need to understand this before I can move with the application that I do.

I am very grateful of any advice or information that someone can give.

Thank you


This is the Pixel Bender Language Reference:

"pixel1: represents the value of a single channel of an image." The name distinguishes this
single element pixel of a pixel which contains several channels. The pixel values are
considered as 32-bit floating-point numbers. »

32 bits = 4 bytes

If a channel is four bytes rather than that you have accessed. If this should explain the difference.

Tags: Pixel Bender

Similar Questions

  • Change the data type of number (1) to number (3)

    Y at - it a command to change the data type for an existing column? I just need to go long number 1 to 3... or I have to delete column and then use Edit to add the new field?

    Thank you


    alter table  modify  NUMBER(3);

    Kind regards

  • What is the minimum value for the data type double?

    ... a more academic question: what is the minimum value of the data type double? I thought 'double', it is the 8-byte IEEE standard and what I remember, it's + - 1.7E + - 308.  The more different number of 0 should be 1.797E - 308.

    This is why I was a little surprised when I looked at the data output of my calculation of CVI, where I found the numbers with exponents of E-319 or E-324 as the smallest value...

    But I'm sure there's an explanation :-)

    Thank you for sharing with me,


    The largest number is indeed the order of + 1.7E + 308; There are a smaller number of - 1.7E + 308. Note that this is in fact the most negative number, which is the smallest by some reckoning. For the small beach of the Exhibitor, things get a little more complicated. 1E-308 can be represented with complete accuracy and resolution, but if you're willing to lose a few bits of precision, you can go down even further. For example:

    Double x, y, z:

    x = 1E-300;

    y = 1E7;

    z = x / y;               Give 1.000000000000000E - 307

    y = 1E8;

    z = x / y;               Give 9.999999999999999E - 309

    y = 1E18;

    z = x / y;               Give 9.999987484955998E - 319

    y = 1E23;

    z = x / y;               Give 9.881312916824931E - 324

    So, as you can see, values less than 1E-308 are possible, but they become increasingly more inaccurate and should not be relied upon.


  • Modification of the data types of the custom shared variables

    My application includes a library containing a number of shared single process variables. I use type defs to create the shared variable "of the custom control." I know that shared variables do not-automatic update since the type defs, so I'm updating shared variables (data type, do a right click, properties) whenever I update the type definitions.  However, if I make a change to a type design that does not change the data type, for example to change the labels controls, these changes will be reflected in the shared variable.  The data types of variable window shared list contains entries for each previous update, which indicates he uses the previous entries.  How can I make the window of properties of shared variables 'forget' my previous defs type wandering without deleting the variable total? Withdrawal and replacement would be troublesome because the done variable references throughout my project.

    Thank you


    The variable is not in the Distributed System Manager, or Manager of the Variable, and cancellation of the deployment has not been resolved.  However, I found Labview from closing completely and reboot clears the memory of the previously used custom data types that sees the library.  Thus, the effective workaround I found is:

    1 make a significant change to the data type of the type (per your suggestion) FED. Record.

    2 - redefine the variable screw-notice type FED.

    3. save the project. Close and restart labview.

    4 - the old def type is now disabled.

    5. return the significant change of the def type, implement trivial change and save.

    6 redefine the variable using the type correct now def. Viola!

    Thank you!

  • table col name get the details of the table column and inserting of values depending on the data type of the column


    I am train to write a procedure where I would spend the table as a parameter name and then the code would determine it is column names, and then he would insert records in each column depending on the data type. could someone help me with this.

    Thank you



    Perhaps you need to dummy data just for the table.

    Here is my exercise

    create or replace
    procedure generate_rows(p_table_name varchar2, p_count number)
      function insert_statement(p_table_name varchar2) return clob
        l_columns clob;
        l_expressions clob;
        l_sql clob default
          'insert into p_table_name (l_columns) select l_expressions from dual connect by level <= :p_count';
          -- l_columns
          listagg(lower(column_name), ',') within group (order by column_id),
          -- l_expressions
            when data_type = 'DATE'
              then  'sysdate'
            when data_type like 'TIMESTAMP%'
              then  'systimestamp'
            when data_type = 'NUMBER'
              then  replace('dbms_random.value(1,max)',
                      'max', nvl(data_precision - data_scale, data_length)
            when data_type = 'VARCHAR2'
              then  replace(q'|dbms_random.string('a',data_length)|',
                      'data_length', data_length
            end, ',') within group (order by column_id)
        from user_tab_columns
        where table_name = upper(p_table_name);
        l_sql := replace(replace(replace(l_sql,
          'p_table_name', p_table_name),
          'l_columns', l_columns),
          'l_expressions', l_expressions);
        -- debug
        return l_sql;
      execute immediate insert_statement(p_table_name) using p_count;
    -- test
    create table mytable(
      id number(4,0),
      txt varchar2(10),
      tstz timestamp with time zone,
      dt date,
      xml clob
    set serveroutput on
    exec generate_rows('mytable', 10);
    select id, txt from mytable
    drop procedure generate_rows
    drop table mytable purge
    Procedure GENERATE_ROWS compiled
    Table MYTABLE created.
    PL/SQL procedure successfully completed.
    insert into mytable (id,txt,tstz,dt,xml) select dbms_random.value(1,4),dbms_random.string('a',10),systimestamp,sysdate,NULL from dual connect by level <= :p_count
            ID TXT
    ---------- ----------
             3 WnSbyiZRkC
             2 UddzkhktLf
             1 zwfWigHxUp
             2 VlUMPHHotN
             3 adGCKDeokj
             3 CKAHGfuHAY
             2 pqsHrVeHwF
             3 FypZMVshxs
             3 WtbsJPHMDC
             3 TlxYoKbuWp
    10 rows selected
    Procedure GENERATE_ROWS dropped.
    Table MYTABLE dropped.

    and here is the vision of Tom Kyte for the same

    Edit: to improve my code, it must use p_count as bind as Tom.

  • change the data type of column in a view

    Hi gurus,

    Please suggest.

    I have been created as below in the region of production.


    And the view is created below the base have the PROD. FEATURE_CUSTOM_LIST_OBJ


    Examples of data must be inserted into the display


    If iam thinking is possible that we can change the data type of number of varchar2 data type column in a view?

    Or should I follow create or replace type as whenevr the nonnumeric data tries to bring into view
    sound by giving the number plsql for digital character conversion error since it is a number of data type here.

    I have been created as below in the region of production.


    OK - but it is a SCALAR - not a collection object

    And the view is created below the base have the PROD. FEATURE_CUSTOM_LIST_OBJ


    No - it isn't. Your type of object is a SCALAR - not a collection. You need create a view on a table or a collection that is treated as a table.

    DDL perspective you posted doesn't even mention your FEATURE_CUSTOM_LIST_OBJ.

    If iam thinking is possible that we can change the data type of number of varchar2 data type column in a view?

    Have you tried using TO_CHAR to format the number as a string?

  • How to auto-off rounded af:inputText liaison with the data type Double?

    Hello Experts,

    If a component af:inputText is bind with a field whose data type is Double I saw if I enter 12.0 in the text field, and then it changes automatically to 12. Another example: 12,010 turns into 12.01.

    My requirement is to maintain the value that it has been seized. But the validation client side of the field, that ADF provides by default, should be present. I mean that ADF throws the error message if I get 12a.01; as it is not a Double.

    How can I achieve this?

    Any pointer would be vary useful.

    JDeveloper version:

    No, what I mean is that if you keep the zeros on the right, the data type is not a Double.

    Once you save 12.010 and read it again, you will see zero residue. You would see only the zero if you or the other say the number still show for example 3 fraction digits or if you store the value as a string that will store the entry as is and use a regular expression validator to ensure that only valid numbers are entered.

    In the first case ever number has 3 digits of fraction for example 12-> 12.000 and 12.010-> 12.010

    In summary, you will need to decide which way to go. If the data type must be Double, then there is no zero leakage or you must use the minFractionDigits which will always use the zero leak until the number of spezified. If the does not like what you have to store strings.


  • [nQSError: 43119]:-the data type: 25 is not supported columns error for data type "uniqueidentifier".

    Hi all

    I am facing a problem while creating a BI reports to the SQL Server 2008 Database.

    Access to columns of data type "uniqueidentifier" I get error [nQSError: 43119]:-the data type: 25 is not supported.

    • OBIEE on Linux x86_64 servers is hosted by the Services of Oracle Cloud.
    • Using last "ODBC driver for SQL server 11" for connection (also tried driver "DataDirect SQL Server 6.0 native Wire Protocol").
    • No "Uniqueidentifier" data type columns display correctly in reports.
    • I tried to change the columns of data type "Uniqueidentifier" to char (36), VARCHAR (36), VARCHAR (40), types of binary data (16) in the physical layer on various suggestions but error still there.

    Same columns questioned the SQL Developer (using third-party jTDS JDBC driver "jtds - 1.2.7 - dist") I am able to see these "uniqueidentifier" data columns. record sample:-"CB350576-FCD8-DE11-B111-002219598619".

    Please advice if this is a bug or I'm missing some property of SQL server database settings.

    Thanks in advance.

    Yes Srini,

    This type of column becomes UNKNOWN when they are imported into SPR but its strange after changing to VARCHAR (36), we can use it for joining tables without any problem.

    Only issue I'm facing now is the limitation to use in queries like calculate the total number of incidents (in my case incidentid is the primary key).

    But I've found a workaround. I am formulating a measure in MDB layer to get the number of total incidents as {CASE WHEN is NULL then 0 otherwise 1 END}.  the aggregation is defined on the sum and I get incident count works correctly.

    Thanks for your help.

  • Change the data type of a Coloumn

    Hi, I created the Employee table.
    Its data type is the following...

    Name Null? Type
    ----------------------------------------- -------- -------------------------


    How to change the data type of number data type EMP_SAL...
    Thank you..
      2    3    4    5    6    7
    Table created.
    Table altered.
  • change the data type of a column

    Since the previous post: how to change the data type of column number to varchar2 in oracle10g

    Measures may be:
    create table TestTable (ColA varchar2 (5));
    Insert into TestTable values('12345');

    ALTER table TestTable Add (ColATemp number (5));
    setting a day of TestTable set ColATemp = ColA;

    ALTER table TestTable remove column ColA;
    change the column in table TestTable rename ColATemp CLC;

    My question is:
    If the table half million records

    setting a day of TestTable set ColATemp = ColA;

    will it be a good solution? Any performance issues? There is no index on this column.

    Sort while you do DDL, you will not be able to do any operation on the table. You the best suites you. It's a time operation, you can change the table to change the data type, but it may not work if some of the data in the table confirms no new data type of column.


  • change the data type of the columns

    Oracle 10g version.
    I have a table with 150 columns.
    I would like to change the data type of the columns in my table to varchar.
    Do we have a query for this task?

    Thank you.

    Not knowing yet what you meet John:

    If your table is empty, you can use the datadictionary to generate a statement and run the query to a file that makes the DDL using dynamic SQL or spool and run that...


    MHO%xe> create table bla (col1 number, col2 number);
    Tabel is aangemaakt.
    MHO%xe> select column_name, data_type from user_tab_columns where table_name = 'BLA';
    COLUMN_NAME                    DATA_TYPE
    ------------------------------ ---------------------------------------------------------------------
    COL1                           NUMBER
    COL2                           NUMBER
    MHO%xe> declare
      2    l_sql varchar2(4000);
      3    l_sep varchar2(1);
      4  begin
      5    l_sql := 'alter table BLA modify ('||chr(10);
      6    for rec in ( select column_name from user_tab_columns where table_name = 'BLA')
      7    loop
      8      l_sql := l_sql||l_sep||' '||rec.column_name||' varchar2(50)'||chr(10);
      9      l_sep := ',';
     10    end loop;
     11    --
     12    dbms_output.put_line(l_sql||' )');
     13    --
     14    execute immediate l_sql||' )';
     15    --
     16  end;
     17  /
    alter table BLA modify (
     COL1 varchar2(50)
    , COL2 varchar2(50)
    PL/SQL-procedure is geslaagd.
    MHO%xe> select column_name, data_type from user_tab_columns where table_name = 'BLA';
    COLUMN_NAME                    DATA_TYPE
    ------------------------------ ---------------------------------------------------------------------
    COL1                           VARCHAR2
    COL2                           VARCHAR2
  • length of the data type of a column


    I would like to know if it is possible to find the length of the
    data type in a create table stmt.

    For example:
    create employee table (empno number (3), empname varchar (10));

    in the DDL above I mentioned the size of my 3 number data type.
    is there a way to retrieve this info. ?
    outside desc < table_name >?

    Thanks in advance
    SQL> create table employee(empno number(3),empname varchar(10))
      2  /
    Table created.
    SQL> select column_name
      2       , data_length
      3       , data_precision
      4       , data_scale
      5    from user_tab_columns
      6   where table_name = 'EMPLOYEE'
      7  /
    ------------------------------ ----------- -------------- ----------
    EMPNO                                   22              3          0
    EMPNAME                                 10
    2 rows selected.

    Details on the columns can be found in the documentation:

    Kind regards

  • Get the Data Type of queue

    I'm working my way through my first vi producer consumer and I have two questions.

    1 I am the queue data x, y samples acceleration waveform type z. The code snippet shows how to set the data type in the queue to get. It is rather ugly and disturbing, even if it seems to work.  Is there a way more elegant and beautiful to set the data type?

    2. the sampling frequency of the accelerometer is 5120 Hz.  The DAQmx Read buffer is 1024 length samples.  Therefore, it takes 200 [ms] to fill the buffer.  I put the metronome 100 [MS] to ensure that the producer is not without samples.  This means that the loop While producer will spend much of its time waiting.  Right?  Given the wait cost anything?

    In of LabVIEW, the sampling frequency is 10000.  The size of the read buffer is 1000.  And the metronome is set to 100 [ms].  The sampling frequency of the device comes from the hardware device in the cDAQ.  100 [ms] interval comes from the PC.  It will not be a mismatch?  I would like to understand this before I put my metronome to 200 [ms].

    Arizona_Joe wrote:

    Then, can shed you some light on the behavior of the loop while you mentioned is not a metronome that is is punctuated by DAQmx? I think it would do a lot of rotation.

    It is not spinning as he waits inside the DAQmx Read for samples N must be obtained.  This isn't a request for data.  It takes time to collect these samples.  That length of time depends on your sampling rate and how many samples you request.  So because he is waiting inside the DAQmx Read, there is no need to add an additional wait.  Let the DAQmx Read limit the rate of the loop.

    It's actually like the loop of consumer for the consumer to the producer.  Playback of the queue will limit the rate at which that loop runs.  It should therefore no waiting.

  • To change the data type of control/led

    Is it possible to change the underlying data type of the indicator or a control?  I a VI that I want to use that accepts any type of data (essentially data varriant) and display it accordingly.  I have different controls selected to display data of different types in the sense of data vs decimal boolean data vs integer, but certain types of data will be of type uint32 vs int16 vs uint64 etc..  Is it possible to programmatically change the data type, so I need to have all the combinations of indicators?

    The short answer is no. The long answer is that LabVIEW has not 'generic' controls that allow you to display any type of data (apart from the variant of course). There are several ways to address this problem, but all require you as the programmer to manage explicitly each type of data you could possibly meet. Here are some possibilities (in no particular order), please let me know if you would like to help a particular implementation of these.

    1. Force incoming data to variant, use the info option to determine the data type of the original data in a case structure (open G can do this VERY easy), have an indicator on the front panel for each type of data you want and hide those unused
    2. Use a sub-group of experts on the front panel and sub - vi call of to view specific types (that lends itself very well to encapsulate your data in a class and you leave OOP allows to expand into different types of data)
    3. Use a tab with the variant (similar to option 1) control put each kind of data in its own tab, enable only the current
    4. Do a Control-X to accept a Variant option 1 under the hood
    5. Just as a string of format and use a string indicator

    That's all I can think of right now, once again, let me know if you need more information/help on the options.

  • Is it possible to get the data type of element of a queue to itself?

    Hello world

    I have a Q which has a cluster as data type of element.

    now when I want to enqueue

    I will use bundle-default-

    and for this I have to have my current data type

    (long cable as (perhaps after where I got the Q).

    My question is,

    If there is a method/property-node/something that allows me to

    the queue of wire inside Refnum and receive the data element type.

    If I can get into the top of bundle-default?

    (I really want to have this cable in all directions)

    is this the reason why I'm asking here

    aid for the Refnum of outgoing queue to get a queue, the method

    indicates the data type of element and so I hope that there could be a solution.

    thx for your time

    and soon


    Get queue status must be output with the type of data (more precisely an array of the data type and an array of clusters if the data is itself a table). If you do not set the items back to entry to T, this should not even cost anything.

    That said, I agree with others that it is better to what actually a typedef.

Maybe you are looking for